Текущее время: Вс, июл 20 2025, 00:16

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: OLE
СообщениеДобавлено: Вс, июл 07 2013, 13:02 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 07 2006, 16:32
Сообщения: 131
Откуда: Украина, Мариуполь
Пол: Мужской
Здравствуйте коллеги.

1. Как правильно вернуть значение при выполнении метода MS Word. К примеру я хочу узнать успешно ли выполнился поиск строки Find.Execute. Код будет такой:
Code:
DATA lv_res TYPE ole2_object.
CALL METHOD OF ls_find 'Execute' = lv_res.
но в lv_res всегда пусто при любом результате поиска значения! Как прочитать возвращаемое значение?

2. Как достучаться до уже существующего элемента коллекции? Например ActiveDocument.Tables.Item(1) - первая таблица в документе.

_________________
я в пути и нет у меня никаких тревог и забот. одинокая лодка моя рассекая волну плывет...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OLE
СообщениеДобавлено: Вс, июл 07 2013, 21:11 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 07 2006, 16:32
Сообщения: 131
Откуда: Украина, Мариуполь
Пол: Мужской
с пунктом 2 разобрался:
Code:
GET PROPERTY OF
      ls_tables
      'Item'   = ls_table
    EXPORTING
      #1        = '1'.

_________________
я в пути и нет у меня никаких тревог и забот. одинокая лодка моя рассекая волну плывет...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OLE
СообщениеДобавлено: Вс, июл 07 2013, 21:22 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
в п1 какой тип переменной у lv_res? Вполне может быть, что просто неверная типизация используется

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OLE
СообщениеДобавлено: Пн, июл 08 2013, 09:57 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 07 2006, 16:32
Сообщения: 131
Откуда: Украина, Мариуполь
Пол: Мужской
Тип я указал:
Code:
DATA lv_res TYPE ole2_object.

_________________
я в пути и нет у меня никаких тревог и забот. одинокая лодка моя рассекая волну плывет...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OLE
СообщениеДобавлено: Пн, июл 08 2013, 10:50 
Специалист
Специалист

Зарегистрирован:
Чт, мар 25 2010, 09:02
Сообщения: 207
Попробуйте type i.

Execute возвращает булево значение.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: OLE
СообщениеДобавлено: Пн, июл 08 2013, 11:31 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 07 2006, 16:32
Сообщения: 131
Откуда: Украина, Мариуполь
Пол: Мужской
не помогло. текст найден или не найден, а lv_res = 0...

_________________
я в пути и нет у меня никаких тревог и забот. одинокая лодка моя рассекая волну плывет...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OLE
СообщениеДобавлено: Пн, июл 08 2013, 11:37 
Ассистент
Ассистент

Зарегистрирован:
Ср, май 22 2013, 11:44
Сообщения: 41
Я бы попробовал сделать flush после вызова метода.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: OLE
СообщениеДобавлено: Пн, июл 08 2013, 12:02 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 07 2006, 16:32
Сообщения: 131
Откуда: Украина, Мариуполь
Пол: Мужской
Цитата:
Я бы попробовал сделать flush после вызова метода.
Бинго! спасибо за помощь!

_________________
я в пути и нет у меня никаких тревог и забот. одинокая лодка моя рассекая волну плывет...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OLE
СообщениеДобавлено: Чт, июл 11 2013, 16:04 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 07 2006, 16:32
Сообщения: 131
Откуда: Украина, Мариуполь
Пол: Мужской
Еще один вопросик. Пытаюсь заполнить ячейку из только что выгруженного шаблона. Все работает до момента заполнения значения. Вроде по примерам и в самом VBA свойство Value у ячейки присутствует. Но увы ничего не заполняется. В чем же блин дело?! :(
Code:
  CREATE OBJECT ls_excel 'EXCEL.APPLICATION'.

  SET PROPERTY OF ls_excel 'Visible' = '1'.

  GET PROPERTY OF ls_excel 'Workbooks' = ls_workbooks.

  CALL METHOD OF
      ls_workbooks
      'Open'

    EXPORTING
      #1           = iv_fname.

  CALL METHOD OF
      ls_excel
      'Worksheets' = ls_worksheet
    EXPORTING
      #1           = 1.

  CALL METHOD OF
      ls_worksheet
      'Activate'.

  CALL METHOD OF
      ls_excel
      'Cells'  = ls_cell
    EXPORTING
      #1       = '1'
      #2       = '1'.

  SET PROPERTY OF ls_cell 'Value' = 'Значение'.

_________________
я в пути и нет у меня никаких тревог и забот. одинокая лодка моя рассекая волну плывет...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OLE
СообщениеДобавлено: Чт, июл 11 2013, 17:07 
Ассистент
Ассистент

Зарегистрирован:
Ср, май 22 2013, 11:44
Сообщения: 41
Я обращался к FormulaR1C1.

Код из записанного макроса:
Code:
    Range("E10").Select
    ActiveCell.FormulaR1C1 = "SAP"


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: OLE
СообщениеДобавлено: Чт, июл 11 2013, 17:41 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 07 2006, 16:32
Сообщения: 131
Откуда: Украина, Мариуполь
Пол: Мужской
Я не совсем понимаю в чем прикол, но если написать так:
Code:
CALL METHOD OF
      ls_excel
      'Cells'  = ls_cell
    EXPORTING
      #1       = 1
      #2       = 1.
То есть передать координаты как целые числа, то все работает.
О загадочный Excel :shock:

_________________
я в пути и нет у меня никаких тревог и забот. одинокая лодка моя рассекая волну плывет...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OLE
СообщениеДобавлено: Чт, июл 11 2013, 18:25 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
2 r00xus: Это не столько проблема экселя, сколько сапа, и собственно Вас, как автора программы. Посмотрите хелп на Cells в msdn, там сказано, что это индексы, т.е. числа(хотя формально в спецификации сказано что это variant, чтобы обеспечить возможность 2-ух способов использования свойства). Сап в реализации оле очень вольно обходится с вариантами.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB