Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Масштаб листов по умолчанию,
 
Спасибо ikki за подробные объяснения, используя Ваши подсказки решил свою задачу:
Мне нужно было чтобы при открытии любого эксель файла (а не только нового файла как в примере выше) его масштаб устанавливался в 75%
Вот как это решилось:
Получилось и в офисе2016, проблема была в том что в офисе2016 нужно обязатьльно проверять на "If (str <> "PERSONAL.XLSB") Then"
А в офисе2007 и без этого работало

Весь нижеследующий текст вставляется в PERSONAL.XLSB в раздел ЭтаКнига
Код
'объявляем переменную нужного типа с поддержкой событий
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

Теперь при открытии абсолютно любого эксель файла его масштаб автоматически ставится в 75%
Это нужно когда в день приходится просмотреть несколько десятков бланков заказа от клиентов и они присылают их в разных масштабах, кто 100, кто 200, и т.п. А эксель еще и на удаленной машине, и при после открытия файла подвисает на 20-30 секунд. И после этого можно было только зайти в масштабирование таблицы и его поменять. Теперь он открывает сразу все в нужном масштабе, когда весь бланк целиком на экране. Он и после так же подвисает на 20-30сек, но это уже не страшно, т.к. бланк полностью видно.
Добавил еще Range("A1").Select чтобы бланк заказа всегда открывался сверху, на этом скриншоте этого еще нет:



Может не самый оптимальный и правильный вариант, но он работает! :)
Изменено: katmani - 22.04.2020 20:46:42
Страницы: 1
Наверх