|
|
|
Запуск макроса Excel из Visual FoxPro
|
|||
|---|---|---|---|
|
#18+
Как запустить из Foxpro Excel так, чтобы сразу запускался макрос? Пробовал использовать: oExcel.Run("MyMacros",m.file), но не знаю: 1) что означает параметр m.file; 2) где в Excel должен быть записан марос: (в PERSONAL.XLS или еще где)? 3) если в в PERSONAL.XLS, то как изменить записанный в PERSONAL.XLS макрос? Excel ругается: "Изменить макрос в скрытой книге невозможно. Закройте все документы и выберите команду 'Показать' в меню 'Файл'". Да нет там такой команды! Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 10:33 |
|
||
|
Запуск макроса Excel из Visual FoxPro
|
|||
|---|---|---|---|
|
#18+
У меня во так работает 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) Я одно время пристрастился программно заливать макросы в книгу (свежесозданную и наполненную данными), но говорят это неправильный подход (и антивирусник ругается частенько на такие манипуляции). Теперь стараюсь только шаблоны использовать и макросы создавать в шаблонах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 07:39 |
|
||
|
Запуск макроса Excel из Visual FoxPro
|
|||
|---|---|---|---|
|
#18+
Ув. denis viktorovich! Тогда еще вопрос: как указывать имя макроса (приведите, пожалуйста, конкретный пример). Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 09:50 |
|
||
|
Запуск макроса Excel из Visual FoxPro
|
|||
|---|---|---|---|
|
#18+
Ув. denis viktorovich! А можно ли получить список уже существующих макросов? Что-то вроде этого: ThisWorkbook.VBProject.VBComponents(n).Name Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 12:04 |
|
||
|
Запуск макроса Excel из Visual FoxPro
|
|||
|---|---|---|---|
|
#18+
Вот из реальной проги пример. Вставляется некий макрос для обработки отчета и запускается. 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") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2007, 14:13 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34713961&tid=1588909]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 298ms |

| 0 / 0 |
