Как импортировать макрос в Excel с помощью VBS - PullRequest
1 голос
/ 20 июня 2019

Мне нужно создать новый файл Excel (из .csv) и импортировать два файла макроса: один .bas и один .cls.Первый импорт работает, но второй импортируется не в ThisWorkbook, а в новый модуль класса.

Сначала я создаю новый объект файла Excel из моего существующего файла CSV.

Dim oExcel
    Set oExcel = CreateObject("Excel.Application")
    Dim oBook
    Set oBook = oExcel.Workbooks.Open(srcFile)

Затем .bas импортируется в каталог модулей следующим образом:

    oBook.VBProject.VBComponents.Import scriptPath & "\" & "MyMacro" & ".bas"

Когда я делаю тот же вызов для файла .cls, он импортируется в новый каталог модулей класса, а не в ThisWorkbook.

    oBook.VBProject.VBComponents.Import scriptPath & "\" & "RightClickEntry" & ".cls"

Он должен быть импортирован в ThisWorkbook, поскольку он добавляет запись в контекстное меню, вызываемое правой кнопкой мыши, которая больше не будет отображаться.

1 Ответ

1 голос
/ 24 июня 2019

То, что я искал, кажется невозможным из-за единства природы в ThisWorkbook.Я создам шаблон Excel-файла со всеми макросами, открою его в своем скрипте, вставлю все данные CSV и сохраню как новый файл Excel.Этот подход также лучше, поскольку он требует только один дополнительный файл (шаблон) под сценарием, а не два экспортированных макрофайла (или больше в будущем).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...