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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Программное нажатие функциональной клавиши?
СообщениеДобавлено: Ср, сен 20 2006, 20:44 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Добрый день!
Сорри, по поиску в форуме на нашел.

Мужно последовательно открывать документы в Excel и распечатывать.
Ничего лучше не придумал, как, чтобы не терять интерактивность с пользователем, пролистывание документов делать через программный вызов события "Нажать кнопку PageDown".
Осталось только найти способ, как программно затолкнуть событие нажатия функ. клавиши в очередь событий?

Да, кстати попутный вопрос.
Какая последовательность вызова ole2 объектов, чтобы установить свойство PrinterName = 'theMyPriner' в Excel?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программное нажатие функциональной клавиши?
СообщениеДобавлено: Ср, сен 20 2006, 21:11 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
vga написал(а):
Добрый день!
Сорри, по поиску в форуме на нашел.

Плохо искал
Цитата:
Мужно последовательно открывать документы в Excel и распечатывать.
Ничего лучше не придумал, как, чтобы не терять интерактивность с пользователем, пролистывание документов делать через программный вызов события "Нажать кнопку PageDown".
Осталось только найти способ, как программно затолкнуть событие нажатия функ. клавиши в очередь событий?

Вообще с такими вопросами надо не на форум по ABAPу, а на форум по VBA (ну и help по нему же изучать)
Цитата:

Да, кстати попутный вопрос.
Какая последовательность вызова ole2 объектов, чтобы установить свойство PrinterName = 'theMyPriner' в Excel?
http://msdn.microsoft.com

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программное нажатие функциональной клавиши?
СообщениеДобавлено: Ср, сен 20 2006, 22:09 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
sy-uname написал(а):
Вообще с такими вопросами надо не на форум по ABAPу, а на форум по VBA (ну и help по нему же изучать)


В VBA свойство устанавливается так:
Dim pd As New PrintDocument()
' Specify the printer to use.
pd.PrinterSettings.PrinterName = printer

Не совсем понятно, через какой объект получить хэндлер на PrinterSettings в abap:
CALL METHOD OF H_APPL 'PrinterSettings' = H_PRINT_SETTING.

PrintDocument выдает ошибку.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Программное нажатие функциональной клавиши?
СообщениеДобавлено: Чт, сен 21 2006, 07:26 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
vga написал(а):

В
Не совсем понятно, через какой объект получить хэндлер на PrinterSettings в abap:
CALL METHOD OF H_APPL 'PrinterSettings' = H_PRINT_SETTING.

PrintDocument выдает ошибку.

А ведь PrinterSettings это не метод, а Properties - значит GET PROPERTY

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 26 2006, 20:30 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Удалось получить имя активного принтера, то если его тут же попытаться установить, то выдается ошибка. Странно.

Code:
FORM set_excel_printer_name
  USING
    document TYPE REF TO i_oi_document_proxy
    l_printername type ESEWINPR.

DATA:
  h_application TYPE ole2_object,

DATA:
   l_handle    TYPE cntl_handle.

  CALL METHOD document->get_document_handle
    IMPORTING
      handle   = l_handle.

* Gettig OLE-Application

  CALL METHOD OF l_handle-obj 'Application' = h_application.

  GET PROPERTY OF h_application 'ActivePrinter' = l_printername.

  SET PROPERTY OF h_application 'ActivePrinter' = l_printername.

ENDFORM.


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

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


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

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


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

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