Макрос ведет себя по-разному, когда запускается извне VBS - PullRequest
0 голосов
/ 04 октября 2018

Мне нужно отобразить вкладку листа для открытого файла xlsx, поэтому для этого я использую файл VBS, чтобы открыть файл xlsm и активировать макрос (расположенный в модуле).когда я запускаю макрос вручную, он работает.Когда он активируется через VBS, он может видеть только файл xlsm, который содержит макрос и никаких других открытых Excel в данный момент.

Есть идеи?THX

код VBS:

Set objExcel = CreateObject("Excel.Application")
Set book = objExcel.Workbooks.Open("C:\Users\23892\Desktop\restore_ribbon.xlsm")
objExcel.Application.Run "'C:\Users\23892\Desktop\restore_ribbon.xlsm'!Module1.Restore_Ribbons"
objExcel.DisplayAlerts = False
objExcel.Application.Quit
Set objExcel = Nothing

код макроса:

Sub Restore_Ribbons()

Dim wb As Workbook
Dim str As String
For Each wb In Application.Workbooks
    MsgBox wb.Name 'checking if name extracted correctly
    wb.Activate
    Application.ScreenUpdating = False
    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
    ActiveWindow.DisplayWorkbookTabs = True
    wb.Application.ScreenUpdating = True

Next Workbook

MsgBox ("End")

End Sub

1 Ответ

0 голосов
/ 06 октября 2018

код снова ... потом снова

 Set objExcel = GetObject("C:\restore_ribbon.xlsm")
    objExcel.Application.Run "'C:\restore_ribbon.xlsm'!Module1.Restore_Ribbons"
    objExcel.Close
    Set objExcel = Nothing
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...