Параметры печатной страницы в VBA Excel. Свойство PageSetup объекта Worksheet. Объект PageSetup и описание некоторых его свойств с примерами.
PageSetup — это объект, который содержит все атрибуты параметров страницы в виде свойств (диапазон печати, размеры полей, ориентация страницы и т.д.).
Объект PageSetup возвращается свойством PageSetup объекта Worksheet:
где Expression — это выражение (переменная), возвращающее объект Worksheet.
Свойства объекта PageSetup
Диапазон печати
Установить диапазон для печати из кода VBA Excel можно с помощью свойства PageSetup.PrintArea:
Worksheets(«Лист1»).PageSetup.PrintArea = «D7:L30» Лист1.PageSetup.PrintArea = Selection.Address |
Размеры полей
Свойства, отвечающие за размер полей печатной страницы:
Свойство | Описание |
---|---|
LeftMargin | Возвращает или задает размер левого поля |
TopMargin | Возвращает или задает размер верхнего поля |
RightMargin | Возвращает или задает размер правого поля |
BottomMargin | Возвращает или задает размер нижнего поля |
Свойства, отвечающие за размер полей, предназначены для чтения и записи, выражаются в точках (1 точка равна 1/72 дюйма или ≈1/28 см). Тип данных — Double.
Для того, чтобы вручную не высчитывать количество точек в дюймах или сантиметрах, существуют методы Application.InchesToPoints и Application.CentimetersToPoints, которые автоматически переводят дюймы и сантиметры в точки.
Пример задания размеров полей для печатной страницы:
Sub Primer1() With Лист4.PageSetup .LeftMargin = 72 ‘1 дюйм (2,54 см) .TopMargin = Application.CentimetersToPoints(2) ‘2 см .RightMargin = 28 ‘приблизительно 1 см .BottomMargin = Application.InchesToPoints(0.5) ‘0,5 дюйма (1,27 см) End With End Sub |
Пример чтения размеров заданных полей для печатной страницы и запись их в ячейки диапазона [A1:A4] активного листа:
Sub Primer2() With Лист4.PageSetup [A1] = .LeftMargin [A2] = .TopMargin [A3] = .RightMargin [A4] = .BottomMargin End With End Sub |
Масштаб
Масштабирование рабочего листа для печати осуществляется в VBA Excel с помощью свойства PageSetup.Zoom:
Лист4.PageSetup.Zoom = 200 ‘Увеличение масштаба до 200% (от 100%) Worksheets(«Лист4»).PageSetup.Zoom = 80 ‘Уменьшение масштаба до 80% (от 100%) |
Свойство PageSetup.Zoom может задавать или возвращать значение от 10 до 400 процентов.
Ориентация страницы
За ориентацию печатной страницы отвечает свойство PageSetup.Orientation, которое возвращает или задает значение константы из коллекции XlPageOrientation.
Константы коллекции XlPageOrientation:
Константа | Значение | Описание |
---|---|---|
xlPortrait | 1 | Портретный режим (вертикальная ориентация) |
xlLandscape | 2 | Ландшафтный режим (горизонтальная ориентация) |
Примеры установки ориентации печатной страницы из кода VBA Excel:
Worksheets(«Лист4»).PageSetup.Orientation = xlPortrait ActiveSheet.PageSetup.Orientation = xlLandscape |
ТРЕНИНГИ
Быстрый старт
Расширенный Excel
Мастер Формул
Прогнозирование
Визуализация
Макросы на VBA
КНИГИ
Готовые решения
Мастер Формул
Скульптор данных
ВИДЕОУРОКИ
Бизнес-анализ
Выпадающие списки
Даты и время
Диаграммы
Диапазоны
Дубликаты
Защита данных
Интернет, email
Книги, листы
Макросы
Сводные таблицы
Текст
Форматирование
Функции
Всякое
Коротко
Подробно
Версии
Вопрос-Ответ
Скачать
Купить
ПРОЕКТЫ
ОНЛАЙН-КУРСЫ
ФОРУМ
Excel
Работа
PLEX
© Николай Павлов, Planetaexcel, 2006-2022
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
Техническая поддержка сайта
ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
ActiveWindow.Zoom
Вы можете использовать VBA для изменения масштаба рабочего листа. Вот код для изменения масштаба ActiveWindow на 50%:
Изменить масштаб на всех листах
Вы также можете просмотреть все листы в своей книге, чтобы установить стандартное масштабирование. Следующий макрос устанавливает масштаб для всех листов на 50%:
123456789101112131415161718192021 | Дополнительный ZoomAll ()Dim ws как рабочий листApplication.ScreenUpdating = FalseДля каждого ws в листахws.ActivateActiveWindow.Zoom = 50СледующийApplication.ScreenUpdating = TrueКонец подписки |
Zoom Zoom
И, наконец, волшебно растущий рабочий лист. Следующий макрос будет циклически перебирать Zooms для Sheet1, переходя от 10% до 200%, увеличиваясь на 10%, делая паузу между изменениями в секунду, а затем он вернет Sheet1 в исходное состояние.
1234567891011121314151617181920212223242526272829303132333435363738 | Дополнительное масштабирование ()Переменная Dim x As Integer для циклаПеременная Dim OriginalZoom As Integer для исходного масштабированияSheet1.Activate ‘давайте работать с Sheet1OriginalZoom = ActiveWindow.Zoom ‘получить текущий масштаб’циклическое увеличение от 10 до 200 на 10Для x = от 1 до 20ActiveWindow.Zoom = x * 10Application.Wait Now + TimeValue («00:00:01»)Далее x’восстановить исходный масштабActiveWindow.Zoom = OriginalZoomКонец подписки |
Вы поможете развитию сайта, поделившись страницей с друзьями
Skip to content
Как изменить масштаб изображения листа
На чтение 2 мин. Просмотров 2.1k.
Что делает макрос: Некоторые электронные таблицы огромны. Иногда, мы вынуждены изменить масштаб изображения, чтобы видеть всю таблицу на экране. Если вы обнаружите, что вы постоянно масштабируете таблицы, чередуя между сканированием больших разделов данных и чтением конкретных ячеек, вот удобный макрос, который будет автоматически изменять масштаб на двойном щелчке.
Содержание
- Как макрос работает
- Код макроса
- Как использовать
Как макрос работает
С помощью этого макроса, вы можете дважды щелкнуть на ячейку в таблице, чтобы увеличить на 200 процентов. Дважды щелкните снова и Excel изменит масштаб изображения обратно на 100 процентов. Также вы можете изменить значения в коде, чтобы соответствовало вашим потребностям.
Код макроса
Private Sub Worksheet_BeforeDouble Click() 'Проверить текущее состояние - Увеличить 'Увеличить на 100% 'Увеличение на 200%, если текущее 100 If ActiveWindow.Zoom <> 100 Then ActiveWindow.Zoom = 100 Else ActiveWindow.Zoom = 200 End If End Sub
Обратите внимание, что побочный эффект двойного щелчка ячейки является то, что он переходит в режим редактирования. Вы можете выйти из режима редактирования, нажав клавишу Esc на клавиатуре. Если вам это мешает, несколько раз нажмите Esc при срабатывании этого макроса, вы можете добавить это заявление в конце процедуры:
Application.SendKeys («{ESC}»)
Этот оператор имитирует нажатия ESC на клавиатуре.
Как использовать
Для реализации этого макроса, вам нужно скопировать и вставить его в окно кода события Worksheet_BeforeDouble Click. Это позволяет запускать каждый раз, когда вы дважды щелкните на листе.
- Активируйте редактор Visual Basic, нажав ALT + F11.
- В окне проекта, найти свой проект / имя рабочей книги и нажмите на знак плюс рядом с ней, чтобы увидеть все листы.
- Нажмите на лист, из которого вы хотите, чтобы вызвать код.
- Выберите событие BeforeDoubleClick из событий в раскрывающемся списке.
- Введите или вставьте код во вновь созданном модуле.
Формулировка задачи:
Кто ищет, тот найдёт
Много перерыл, много перепробовал. Нашёл. Делюсь кодом.
Код устанавливает масштаб всех листов документа с помощью ScrollBar, кроме нескольких листов, и отображает текущее значение масштаба.
Код к задаче: «Изменить масштаб всех листов документа»
textual
Private Sub Workbook_Open() Dim i& For i = 1 To Sheets.Count Sheets(i).Activate ActiveWindow.Zoom = 90 Next End Sub
Полезно ли:
5 голосов , оценка 3.800 из 5
изменение масштаба листа в userform |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |