Запустить макрос как отдельный файл с активной открытой таблицей Excel

Запустить макрос как отдельный файл с активной открытой таблицей Excel

У меня есть макрос, который в настоящее время мы загружаем в электронную таблицуОбновление: и он автоматически открывается (и не сохраняется) --из нашего внутреннего пользовательского веб-интерфейса. Имя электронной таблицы каждый раз меняется. Текущие инструкции по использованию: открыть редактор VBA, скопировать макрос в новый модуль, затем запустить макрос.

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

Я бы предположил, что они могли бы открыть только нужную рабочую книгу, а код отдельного файла был бы примерно таким use open workbook(очень общим).

Я читал о vbs, но все, что я сделал, это изменил свой макрос с .txt на vbs, и, очевидно, он пока не работает. Может кто-нибудь указать мне правильное направление?

решение1

Хотя мне удалось заставить это работать, я не использовал этот метод, поскольку он включал включение параметра «Доверять проекту VBA» в Office, и мне он не показался безопасным.

https://security.stackexchange.com/questions/205803/is-it-safe-to-enable-trust-access-to-the-vba-object-model-microsoft-office/205814#205814

Вот как это будет работать:

Dim  xlApp, xlBook

Set xlApp = getObject( , "Excel.Application")
Set xlBook = xlApp.ActiveWorkbook

xlBook.VBProject.VBComponents.Import "\\PATH\Module1.bas"
xlApp.Run "Sub_Name"
'objExcel.ActiveWorkbook.Close


xlApp.Application.Quit
WScript.Echo "Finished."
WScript.Quit

В итоге я стал распространять пользовательский «OfficeUI» через -->https://www.freesoftwareservers.com/display/FREES/Distributing+Macro+via+Add-In+-+Customized+Ribbon+-+Via+Batch

По какой-то причине файлы в XLSTART и Personal.xlsb не загрузились при загрузке Excel по ссылке в нашем веб-интерфейсе. Но загрузилась настраиваемая лента OfficeUI. Я все равно поместил AddIn.xlam в XLSTART, потому что тогда Excel не предупреждал о "Макросах", но он не загружался при запуске. Но это неважно, потому что OfficeUI напрямую вызывал файл!Sub.

Связанный контент