powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Запуск макроса Excel из Visual FoxPro
5 сообщений из 5, страница 1 из 1
Запуск макроса Excel из Visual FoxPro
    #34709664
Solver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как запустить из Foxpro Excel так, чтобы сразу запускался макрос?
Пробовал использовать: oExcel.Run("MyMacros",m.file), но не знаю:
1) что означает параметр m.file;
2) где в Excel должен быть записан марос: (в PERSONAL.XLS или еще где)?
3) если в в PERSONAL.XLS, то как изменить записанный в PERSONAL.XLS макрос? Excel ругается:
"Изменить макрос в скрытой книге невозможно. Закройте все документы и выберите команду 'Показать' в меню 'Файл'". Да нет там такой команды!
Заранее благодарен.
...
Рейтинг: 0 / 0
Запуск макроса Excel из Visual FoxPro
    #34712654
denis_viktorovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня во так работает
oExcel.Run("Имя макроса")

Судя по хелпу, когда метод Run относится к Application то можно указать имя макроса и аргументы (если надо):

Хелп ОффисаRuns a macro or calls a function. This can be used to run a macro written in Visual Basic or the Microsoft Excel macro language, or to run a function in a DLL or XLL.

expression.Run(Macro, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28, Arg29, Arg30)


Я одно время пристрастился программно заливать макросы в книгу (свежесозданную и наполненную данными), но говорят это неправильный подход (и антивирусник ругается частенько на такие манипуляции). Теперь стараюсь только шаблоны использовать и макросы создавать в шаблонах.
...
Рейтинг: 0 / 0
Запуск макроса Excel из Visual FoxPro
    #34712808
Solver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ув. denis viktorovich!
Тогда еще вопрос: как указывать имя макроса (приведите, пожалуйста, конкретный пример).
Спасибо.
...
Рейтинг: 0 / 0
Запуск макроса Excel из Visual FoxPro
    #34713346
Solver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ув. denis viktorovich!
А можно ли получить список уже существующих макросов?
Что-то вроде этого: ThisWorkbook.VBProject.VBComponents(n).Name
Спасибо.
...
Рейтинг: 0 / 0
Запуск макроса Excel из Visual FoxPro
    #34713961
denis_viktorovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот из реальной проги пример. Вставляется некий макрос для обработки отчета и запускается.

exp1=CREATEOBJECT('Excel.Application')
exp1.Visible=.t.
exp1.DisplayAlerts=.f.
exp1.Workbooks.Open('....Имя файла...')

* этот кусок вставляет текст макроса (закоммент)
*s1="Sub ObrabItog()"+chr(13)+;
*"Selection.Subtotal GroupBy:=2, Function:=xlSum, "+;
*"TotalList:=Array(7, 10), "+;&&, 10, 11, 12, 13, 14, 15, 16, 17, 18
*"Replace:=True, PageBreaks:=False, SummaryBelowData:=True"+CHR(13)+;
*""+CHR(13)+;
*""+CHR(13)+;
*""+CHR(13)+;
*"End Sub"
*exp1.AutomationSecurity=3
*exp1.VBE.ActiveVBProject.VBComponents.Add(1)
*exp1.VBE.ActiveVBProject.VBComponents.Add(1).CodeModule.AddFromString(s1)

exp1.Run("ObrabItog")
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Запуск макроса Excel из Visual FoxPro
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]