Текущее время: Сб, июл 19 2025, 20:02

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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