3

Я хочу избежать использования мыши, тачпада или перемещения курсора в правый нижний угол "линейки", но я не смог найти сочетание клавиш для увеличения / уменьшения масштаба в порядке поворота и уменьшения. Единственный, который я нашел, это "Zoom100", но это не то, что я ищу.

Есть ли способ сделать это с помощью макроса MS или с помощью autohotkey?

2 ответа2

3

AFAIK Там нет сочетаний клавиш специально для масштабирования.

Вместо этого создайте эти две новые подпрограммы VBA (макросы):

Sub MyZoomIn()
  Dim iZoom As Long
  iZoom = ActiveWindow.View.Zoom
  iZoom = iZoom + 5
  ActiveWindow.View.Zoom = iZoom
End Sub

Sub MyZoomOut()
  Dim iZoom As Long
  iZoom = ActiveWindow.View.Zoom
  iZoom = iZoom - 5
  ActiveWindow.View.Zoom = iZoom
End Sub

Источник

Затем назначьте им сочетания клавиш:

  1. Перейдите на вкладку « Файл ».

  2. Нажмите Опции.

  3. Нажмите Настроить ленту, а затем нажмите Настроить.

  4. В поле Сохранить изменения в поле щелкните имя текущего документа или шаблон, в котором вы хотите сохранить изменения сочетания клавиш.

  5. В поле Категории выберите категорию, содержащую команду или другой элемент, для которого вы хотите назначить сочетание клавиш или удалить его.

  6. В поле « Команды» щелкните имя команды или другого элемента, для которого вы хотите назначить сочетание клавиш или удалить его.

    Любые сочетания клавиш, которые назначены в настоящий момент, отображаются в поле «Текущие клавиши».

  7. Назначьте сочетание клавиш:

    а. Начните сочетания клавиш с помощью CTRL или функциональной клавиши.

    б. В окне Нажмите новую комбинацию клавиш нажмите комбинацию клавиш, которую вы хотите назначить. Например, нажмите CTRL плюс клавишу, которую вы хотите использовать.

    с. Посмотрите на Назначено в данный момент, чтобы увидеть, назначена ли комбинация клавиш команде или другому элементу. Если это так, выберите другую комбинацию.

    д. Нажмите Назначить.

Источник

1

Я бы пошёл дальше к ответу TECHIE007, добавив следующий код в модуль в Normal.dotm:

Const FineZoom As Double = 5
Const CoarseZoom As Double = 25
Const MaxZoom As Double = 500
Const MinZoom As Double = 10

Sub ZoomInFine()
    With ActiveWindow.View
        If .Zoom <= (MaxZoom - FineZoom) Then .Zoom = .Zoom + FineZoom
    End With
End Sub

Sub ZoomOutFine()
    With ActiveWindow.View
        If .Zoom >= (MinZoom + FineZoom) Then .Zoom = .Zoom - FineZoom
    End With
End Sub

Sub ZoomInCoarse()
    With ActiveWindow.View
        If .Zoom <= (MaxZoom - CoarseZoom) Then .Zoom = .Zoom + CoarseZoom
    End With
End Sub

Sub ZoomOutCoarse()
    With ActiveWindow.View
        If .Zoom >= (MinZoom + CoarseZoom) Then .Zoom = .Zoom - CoarseZoom
    End With
End Sub

Для этого откройте пустой документ в Word, а затем:

  1. Откройте редактор VBA, нажав Alt+F11
  2. Найдите "Обычный" в Project Explorer, щелкните правой кнопкой мыши, затем выберите "Вставить" и "Модуль"

VBA snip

  1. Скопируйте и вставьте приведенный выше код во вновь созданный пустой модуль кода.
  2. Сохраните код VBA (Ctrl+S) и закройте редактор VBA.

Используя инструкции TECHIE007, я бы связал:

  • ZoomInCoarse to Ctrl+Shift+Numpad +
  • ZoomOutCoarse для Ctrl+Shift+Numpad -
  • ZoomInFine для Ctrl+Alt+Shift+Numpad +
  • ZoomOutFine для Ctrl+Alt+Shift+Numpad -

Эта форма кода позволяет настраивать скорость масштабирования с автоматическим определением пределов масштабирования, чтобы избежать ошибок во время выполнения VBA. Если точные и / или грубые коэффициенты масштабирования или пределы масштабирования не по вкусу, их можно легко изменить.

Поведение может быть дополнительно настроено, например, путем добавления макросов, которые устанавливают определенные любимые уровни масштабирования, и связывания горячих клавиш.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .