Страницы: 1
RSS
Запуск макроса при любом старте EXCEL
 
Доброго дня всем!
стоит задача - отображать полный путь открытого документа в заголовке Экселя (v. 2016).
В personals => ЭтаКнига создал макрос:
Код
Private Sub Workbook_Open()
    ActiveWindow.Caption = ActiveWorkbook.FullName
End Sub

Но при любом запуске нового документа, выскакивает ошибка Run-time 91, и подсвечивается ActiveWindow.Caption = ActiveWorkbook.FullName, при этом если нажать F8, то макрос отрабатывает нормально, меняет заголовок, и всё ок. Подскажите, что где надо подкрутить, что бы все было на автомате.
Изменено: konstruktiv54 - 08.01.2020 11:35:26
 
Предположу, что нужен трюк с псевдо отложенным стартом.
Код
Private Sub Workbook_Open()
   Application.OnTime Now(), "FullNameCapture"
End Sub
и
Код
Sub FullNameCapture()
    ActiveWindow.Caption = ActiveWorkbook.FullName
End Sub
По вопросам из тем форума, личку не читаю.
 
А может так попробовать?
Код
Private Sub Workbook_WindowActivate(ByVal Wn As Window)
  wn.Caption = ActiveWorkbook.FullName
End Sub
 
Предположу, что копать нужно здесь
 
что-то начинает проясняться ))
Выполняю тестовый пример:
Код
Option Explicit
Private WithEvents App As Application
'Назначаем значение переменной App
Private Sub Workbook_Open()
      Set App = Application
End Sub
'Отслеживаем открытие книги
Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
    MsgBox "Вы открыли книгу:" & Wb.Name                        'команда работает без проблем
    ActiveWindow.Caption = Wb.FullName                          'ловлю ту же ошибку 91.         
End Sub

Полагаю, что проблема где-то в ActiveWindow.Caption?
Апострофф, БМВ - ваши идеи попробовал, не помогло (
Изменено: konstruktiv54 - 08.01.2020 11:35:02
 
Цитата
konstruktiv54 написал:
не помогло
странно, у меня все работает, не понятно зачем это.
По вопросам из тем форума, личку не читаю.
 
А так?
Код
App.ActiveWindow.Caption = Wb.FullName
 
Цитата
konstruktiv54 написал:
В personals => ЭтаКнига создал макрос
Проблема в этом. Подозреваю, что ошибка  в #1 возникает, когда Вы открываете документ из Проводника (или подобным образом) при не открытом Excel. Первой открывается книга Personal.xlsb, при этом обращение к объекту ActiveWindow вызывает ошибку, так как указанная книга является скрытой.

В #5 та же самая ошибка, причем Msgbox указывает на личную книгу макросов. Самое простое исправление - поставьте в #5 перед проблемной строкой 10

Код
On Error Resume Next
Владимир
 
sokol92, премного благодарен! ) все оказалось так просто )  
Страницы: 1
Наверх