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

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


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

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


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

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