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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Как передать параметр из программы word макросу.
СообщениеДобавлено: Пт, окт 06 2006, 08:49 
Гость
Вызываю макрос в DOI объекте "Word.Application" методом
EXECUTE_MACRO.
Посоветуйте как передать в макрос параметр.
Точнее как связать параметр вызова макроса (например PARAM1) с переменной в макросе.

(Макрос заменяет кодовые строки в word документе)


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Re: Как передать параметр из программы word макросу.
СообщениеДобавлено: Пт, окт 06 2006, 09:43 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Andrey Kizilov написал(а):
Вызываю макрос в DOI объекте "Word.Application" методом
EXECUTE_MACRO.
Посоветуйте как передать в макрос параметр.
Точнее как связать параметр вызова макроса (например PARAM1) с переменной в макросе.

(Макрос заменяет кодовые строки в word документе)

Если макрос задан(к примеру) как
Code:
Sub RunMe(P1 As String, P2 As String, P3 As String)
EndSub

То вызов будет
Code:
...
            PARAM_COUNT  = 3
            PARAM1       = VAL1
            PARAM2       = VAL2
            PARAM3       = VAL3
...
т.е. Val1 -> P1, Val2 -> P2, Val3 -> P3

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 13 2007, 12:08 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 16 2007, 19:00
Сообщения: 168
Откуда: город
Хотелось бы расширить вопрос:
1) (чайниковский :oops: ) возможно ли выполнить из vb-редактора макрос, в котором есть входящий параметр (при добавлении вручную параметра i макрос перестает быть видимым в списке макросов)
Code:
Sub macro_stripped(i As Integer)
Endsub
?

2) получается, что макрос должен быть на каждой клиентской машине для запуска или (что логичнее) есть место в репозитории для его запуска с сервера приложений? Если да, то как туда запихнуть макрос?

Заранее спасибо


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 13 2007, 12:21 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
влад написал(а):
Хотелось бы расширить вопрос:
1) (чайниковский :oops: ) возможно ли выполнить из vb-редактора макрос, в котором есть входящий параметр (при добавлении вручную параметра i макрос перестает быть видимым в списке макросов)
Code:
Sub macro_stripped(i As Integer)
Endsub
?

2) получается, что макрос должен быть на каждой клиентской машине для запуска или (что логичнее) есть место в репозитории для его запуска с сервера приложений? Если да, то как туда запихнуть макрос?

Заранее спасибо

Всё можно. Только какое это имеет отношение к ABAP-y?

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 13 2007, 12:24 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
влад написал(а):
Хотелось бы расширить вопрос:
1) (чайниковский :oops: ) возможно ли выполнить из vb-редактора макрос, в котором есть входящий параметр (при добавлении вручную параметра i макрос перестает быть видимым в списке макросов)
Code:
Sub macro_stripped(i As Integer)
Endsub
?

2) получается, что макрос должен быть на каждой клиентской машине для запуска или (что логичнее) есть место в репозитории для его запуска с сервера приложений? Если да, то как туда запихнуть макрос?

Заранее спасибо

Всё можно. Только какое это имеет отношение к ABAP-y?

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 13 2007, 12:28 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 16 2007, 19:00
Сообщения: 168
Откуда: город
1-й вопрос может и не в тему (сорри за оффтоп), но хотелось бы иметь возможность тестировать макрос из vba, задавая определенный параметр на входе (как это делать я не научился пока).

А 2-й вопрос как раз по абапу... Может быть я недостаточно умело выразился. Перефразирую. Где должен храниться файл с макросом, чтобы его можно было выполнить с любой клиентской машины из абап-программы?


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

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
1) ну правда, элементарно, подумайте.

2) Макросы хранятся в Word файле, не отдельно.


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

Зарегистрирован:
Вт, янв 16 2007, 19:00
Сообщения: 168
Откуда: город
Спасибо Вам за ответ.
По поводу первого вопроса сделал так. Создал форму, в которой вводится значение параметра и кнопку, по нажатии которой вызывается тестируемый макрос. Этот способ Вы имели в виду? :? Просто я надеялся на стандартное средство, которого, впрочем, может и не быть.

По поводу второго вопроса. Понятно, что макросы хранятся в каком-либо файле ворда или экселя. Вопрос возникает в том, можно ли вызвать этот макрос в следующем случае.
Средствами DOI создается документ (т.е. никаких макросов в нем еще нет), в котором необходимо отработать некоторый макрос. Макрос записан в другом документе .xls. Возможно ли отработать этот макрос для документа, созданного посредством DOI?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 13 2007, 14:45 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
влад написал(а):
Спасибо Вам за ответ.
По поводу первого вопроса сделал так. Создал форму, в которой вводится значение параметра и кнопку, по нажатии которой вызывается тестируемый макрос. Этот способ Вы имели в виду? :? Просто я надеялся на стандартное средство, которого, впрочем, может и не быть.

Присмотритесь к окошку "Immediate", блин.
Цитата:
По поводу второго вопроса. Понятно, что макросы хранятся в каком-либо файле ворда или экселя. Вопрос возникает в том, можно ли вызвать этот макрос в следующем случае.
Средствами DOI создается документ (т.е. никаких макросов в нем еще нет), в котором необходимо отработать некоторый макрос. Макрос записан в другом документе .xls. Возможно ли отработать этот макрос для документа, созданного посредством DOI?

msdn.microsoft.com

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 13 2007, 15:50 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 16 2007, 19:00
Сообщения: 168
Откуда: город
Спасибо. Immediate window - это то, что я искал... Странно, что я не заметил его ранее :oops:
Извините, конечно, за настойчивость, но не будете ли Вы столь любезны указать, что именно мне нужно прочитать? Честно скажу, уже не один час смотрю в поисковиках и подобных вопросов не нашел :cry:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 13 2007, 15:54 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
влад написал(а):
По поводу второго вопроса. Понятно, что макросы хранятся в каком-либо файле ворда или экселя. Вопрос возникает в том, можно ли вызвать этот макрос в следующем случае.
Средствами DOI создается документ (т.е. никаких макросов в нем еще нет), в котором необходимо отработать некоторый макрос. Макрос записан в другом документе .xls. Возможно ли отработать этот макрос для документа, созданного посредством DOI?

Методами OLE точно можно. В моих модулях вывода в Word/Excel так и сделано. Т.е. есть отдельные файлы Word и Excel с макросами, поэтому их не надо вставлять в каждый шаблон.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 13 2007, 16:44 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 16 2007, 19:00
Сообщения: 168
Откуда: город
Цитата:
Методами OLE точно можно. В моих модулях вывода в Word/Excel так и сделано. Т.е. есть отдельные файлы Word и Excel с макросами, поэтому их не надо вставлять в каждый шаблон.

Да, точно. Вы, видимо, имеете в виду этот фрагмент кода:
Code:
  CALL METHOD OF APP 'Run'
    EXPORTING #1 = MACROSNAME
    #2 = FILE_DATA.
  CALL FUNCTION 'FLUSH'.

где macrosname содержит путь к файлу с макросом и его имя, а file_data - передаваемый в макрос параметр.
Теперь снова хочу вернуться к вопросу о том, возможно ли закачать этот файл в репозитарий (bds или что-то еще - не знаю), чтобы подгружать необходимый файл с макросом, когда это необходимо? Если да, то как?
Ведь необходимо, чтобы этот макрос работал на любой машине клиента, не переписывать же каждой клиентской машине файл с макросом! Поправьте меня, если я очень сильно туплю :oops:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 13 2007, 16:53 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
влад написал(а):
Теперь снова хочу вернуться к вопросу о том, возможно ли закачать этот файл в репозитарий (bds или что-то еще - не знаю), чтобы подгружать необходимый файл с макросом, когда это необходимо? Если да, то как?

Транзакция smw0, двоичные данные, имя объекта Z*

влад написал(а):
Ведь необходимо, чтобы этот макрос работал на любой машине клиента, не переписывать же каждой клиентской машине файл с макросом! Поправьте меня, если я очень сильно туплю :oops:

Вместе с выгрузкой шаблона выгружать файл с макросом, выполнять, удалять. Так у меня и работает.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 13 2007, 17:18 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 16 2007, 19:00
Сообщения: 168
Откуда: город
Большое спасибо. Теперь хоть знаю, где копать. Буду разбираться! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 14 2007, 10:41 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, авг 22 2005, 14:50
Сообщения: 1285
Откуда: с работы
Пол: Женский
Сама не делала(специфика), но можно загрузить шаблон с макросом через тр.OAER и теми же DOI работать, и макросы запускать. Вроде "по-умному" это называется бизнес документами.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.

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


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

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


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

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