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

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


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

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


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

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