Текущее время: Чт, июл 31 2025, 16:26

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Пример программы с DOI
СообщениеДобавлено: Пт, дек 29 2006, 11:42 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, сен 18 2006, 10:37
Сообщения: 177
Откуда: Беларусь
Пол: Мужской
Привет всем!

Я пытаюсь изучать работу с MSOffice через DOI (читаю bc-ci, еще статейку SAP Desktop Office Integration Using ABAP Objects) но пока не очень понятно :).
Если бы ктони-будь написал маленький пример - простой, открытие файлика Excel и чтения ячейки, я был бы очень благодарен. ^_^

Спасибо. :)

_________________
Regards


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 29 2006, 12:15 
Модератор
Модератор

Зарегистрирован:
Пт, ноя 12 2004, 11:40
Сообщения: 542
Откуда: Москва
Пол: Мужской
Вот так просто открыть документ

Code:
REPORT zdoi_test.

TYPE-POOLS: sbdst.

* Определяем переменные
DATA: i_control  TYPE REF TO i_oi_container_control.
DATA: i_document TYPE REF TO i_oi_document_proxy.
DATA: container  TYPE REF TO cl_gui_custom_container.

DATA: doc_classname    TYPE sbdst_classname   VALUE 'ZFI',
      doc_classtype    TYPE sbdst_classtype   VALUE 'OT',
      doc_name         TYPE bapibds01-objkey  VALUE 'ZFI05'.

* Таблицы и рабочие области
DATA: doc_uris       TYPE sbdst_uri,
      wa_doc_uris    LIKE LINE OF doc_uris.

* Создаем экземпляр SAP DOI ActiveX Control
CALL METHOD c_oi_container_control_creator=>get_container_control
  IMPORTING
    control = i_control.


* Инициализируем объект i_control содержит ссылку на него
CALL METHOD i_control->init_control
   EXPORTING
     r3_application_name      = 'R/3 application'
     parent                   = container
     register_on_close_event  = 'X'
     register_on_custom_event = 'X'
*    inplace_enabled          = 'X'
*    inplace_scroll_documents = 'X'
     no_flush                 = 'X'.


* Для Ворда - document_type   = 'Word.Document'

CALL METHOD i_control->get_document_proxy
  EXPORTING
    document_type      = ' '
    register_container = 'X'
  IMPORTING
    document_proxy     = i_document.


* Получаем урл
CALL METHOD cl_bds_document_set=>get_with_url
  EXPORTING
    classname       = doc_classname
    classtype       = doc_classtype
  CHANGING
    uris            = doc_uris
  EXCEPTIONS
    nothing_found   = 1
    error_kpro      = 2
    internal_error  = 3
    parameter_error = 4
    not_authorized  = 5
    not_allowed     = 6
    OTHERS          = 7.

IF sy-subrc <> 0.

ENDIF.

LOOP AT doc_uris INTO wa_doc_uris.
  IF wa_doc_uris-uri CS doc_name.
    EXIT.
  ENDIF.
ENDLOOP.


* Открываем документ
CALL METHOD i_document->open_document
  EXPORTING
    document_url = wa_doc_uris-uri
    no_flush     = 'X'
    open_inplace = 'X'.

MESSAGE 'ОК' TYPE 'I'.



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

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
SAPRDEMOOFFICEINTEGRATION


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

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


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

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


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

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