Получилось и в офисе2016, проблема была в том что в офисе2016 нужно обязатьльно проверять на "If (str <> "PERSONAL.XLSB") Then"
А в офисе2007 и без этого работало
Весь нижеследующий текст вставляется в PERSONAL.XLSB в раздел ЭтаКнига
[vba]Код
'объявляем переменную нужного типа с поддержкой событий
Public WithEvents appALEX As Application
'при открытии файла Personal (=запуске excel) присваиваем этой переменной ссылку на приложение
Private Sub Workbook_Open()
Set appALEX = Application
End Sub
'процедура, обрабатывающей событие открытия книги
Private Sub appALEX_WorkbookOpen(ByVal Wb As Workbook)
Dim str As String
str = Wb.Name
If (str <> "PERSONAL.XLSB") Then
'MsgBox ("Открытие книги")
'MsgBox (str)
Range("A1").Select
Wb.Windows(1).Zoom = 75
End If
End Sub
[/vba]
Теперь при открытии абсолютно любого эксель файла его масштаб автоматически ставится в 75%
Это нужно когда нужно в день просмотреть несколько десятков бланков заказа от клиентов и они присылают их в разных масштабах, кто 100, кто 200, и т.п.
Добавил еще Range("A1").Select чтобы бланк заказа всегда открывался сверху, на этом скриншоте этого еще нет: