У меня есть макрос, который в настоящее время мы загружаем в электронную таблицуОбновление: и он автоматически открывается (и не сохраняется) --из нашего внутреннего пользовательского веб-интерфейса. Имя электронной таблицы каждый раз меняется. Текущие инструкции по использованию: открыть редактор VBA, скопировать макрос в новый модуль, затем запустить макрос.
Я хотел бы создать отдельный файл с инструкциями, например, открыть рабочую книгу, затем дважды щелкнуть по файлу.
Я бы предположил, что они могли бы открыть только нужную рабочую книгу, а код отдельного файла был бы примерно таким use open workbook
(очень общим).
Я читал о vbs, но все, что я сделал, это изменил свой макрос с .txt на vbs, и, очевидно, он пока не работает. Может кто-нибудь указать мне правильное направление?
решение1
Хотя мне удалось заставить это работать, я не использовал этот метод, поскольку он включал включение параметра «Доверять проекту VBA» в Office, и мне он не показался безопасным.
Вот как это будет работать:
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.