Взаимодействие с документами MS Office с помощью VBScript из Abap
В статье даются рекомендации по обеспечению взаимодействия с документами MS Office с помощью VBScript из Abap
Часто разработчики для динамической модификации отчетной формы(Word, Excel) «вживляют» макросы и выкладывают их в репозиторий бизнес-документов(например OAER, SMW0).
Если же возникает задача, например, по наложению пароля на документы, загружаемые в систему, одним из вариантов решения является использование технологии связывания и внедрения объектов в другие объекты - OLE(Object Linking and Embedding).
Для решения задачи по наложению пароля я рекомендую выполнить в среде Abap код, написанный на скриптовом языке программирования VBScript , который интерпретируется компонентом Windows Script Host. Этот компонент широко используется при создании скриптов в операционных системах семейства Microsoft Windows.
Для решения задачи мне нужно:
1) Определить место для хранения кода VBScript
В самом простом варианте это достигается, например, созданием таблицы со структурой вроде такой:
Поле |
Ключ |
Описание |
MANDT |
X |
Мандант |
ROW_ID |
X |
Номер строки |
VALUE |
Значение строки |
2) Установить связь между Abap и VBScript
Взаимосвязь с VBScript можно получить, используя для инициализации следующий Abap код:
Рис.1 Инициализация взаимосвязи с VBScript
Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland
ЗарегистрироватьсяУ вас уже есть учетная запись?
Войти
Обсуждения 3
Комментарий от
Константин Кульвинов
| 23 мая 2014, 17:34
Комментарий от
Константин Кульвинов
| 23 мая 2014, 18:19
Константин Кульвинов 23 мая 2014, 17:34
Код, приведенный на рис.2, может считаться кодом VBScript с натяжечкой. Константы конкретного приложения, в данном случае Word'а типа wdAlertsNone не работают в скрипте и их надо прописывать конкретными числовыми значениями. Ну, или где-то раньше в коде самому явно определить, что wdAlertsNone = 0.
Комментарий от
Павел Телепко
| 26 мая 2014, 22:11
Константин Кульвинов 23 мая 2014, 18:19
P.S. А вообще в целом тема хороша, читателям всячески рекомендую. Сам дружу с ней уже не первый год, вот здесь у меня есть законченный примерчик: sapboard.ru/forum/viewtopic.php