2015-09-15 4 views
0

Это может показаться запутанным, и я не совсем уверен, что это можно сделать так, как я хочу, но то, что я хочу сделать, это создать скрипт, который возьмет файл .txt и запустит на нем макросы Excel без фактического открытия Excel или файла. Один из блогов, которые я читал, предложил этот метод, но я не очень хорошо знаком с VBS.Использование VBS для открытия текстового файла в excel и запуска макроса без открытия excel

Set objExcel = CreateObject("Excel.Application") 
objExcel.Application.Run "'Path\Test.xlsm'!Module.Macro" 
objExcel.DisplayAlerts = False 
objExcel.Application.Quit 
Set objExcel = Nothing 

Это не работает, когда я пытался использовать его с .txt файлом. Ошибка, которую я получаю Cannot run the macro Path.... The macro may not be available in this workbook or all macros may be disabled

Я уверен, что это как-то связано с моим недостатком знаний VBS, но до сих пор это был самый близкий сценарий, который я нашел для того, что я ищу. Это то, что я пытаюсь сделать возможным?

+0

Для того чтобы быть ясным, вы открыли Excel при создании объекта Excel.Application. Вы просто не открыли книгу, и именно там ваша проблема. – Jeeped

ответ

0

Вам нужно открыть книгу, прежде чем вы сможете запускать из нее макросы.

... 
Set wb = objExcel.Workbooks.Open("C:\path\to\Test.xlsm") 
objExcel.Application.Run "'Path\Test.xlsm'!Module.Macro" 
... 

Вы не можете запустить макрос без открытия Excel или файла, содержащего макрос. Если вы хотите что-то подобное, вам нужно перевести код VBA в обычный VBScript.

+0

Хм, я попробовал добавить свой фрагмент кода, чтобы заставить его работать так, как вы описали, но я все равно получаю ту же ошибку. – Jcmoney1010

+0

@ Jcmoney1010 Можете ли вы запустить макрос вручную? –

+0

Да, когда я внутри Excel, я могу запустить макрос просто отлично – Jcmoney1010

0

Путь заявление нужно полный путь, например, " c:\ .... " И я думаю, что это должно быть Module1.Macro_Name (не Module) Запись в блокноте, но сохранить с .vbs на рабочем столе. Просто нажмите на прогон

Смежные вопросы