1

Тема: Кнопки zoom+ & zoom-

Такое возможно с помощью макроса? С шагом +-20%, к примеру.

2

Re: Кнопки zoom+ & zoom-

Public Sub S_Zumm()
    Z = 20
    For i = 1 To 4
        ActiveWindow.View.Zoom.Percentage = ActiveWindow.View.Zoom.Percentage + Z
        Z = Z + 20
    Next
End Sub


Вот примерный вид кода где жирным выделено свойство отвечающее за размер окна

3

Re: Кнопки zoom+ & zoom-

Спасибо, отлично!
Такой вопрос. При достижении больше 500% или меньше 10% программа выдает ошибку. Ну, понятно, ограничения ворда.
Как ограничить в макросе значения z от 10 до 500?

4

Re: Кнопки zoom+ & zoom-

Либо условием
If ActiveWindow.View.Zoom.Percentage=>10 and ActiveWindow.View.Zoom.Percentage<=10 Then
[здесь код изменения размера]
Else
Exit Sub
Либо обработчиком ошибок

5

Re: Кнопки zoom+ & zoom-

Спасибо.
Вот финальный вид макросов:
Zoom(+)

Public Sub ZoomPlus()
If ActiveWindow.View.Zoom.Percentage >= 10 And ActiveWindow.View.Zoom.Percentage <= 480 Then
    z = 20
    For i = 1 To 1
        ActiveWindow.View.Zoom.Percentage = ActiveWindow.View.Zoom.Percentage + z
        z = z + 20
    Next
    Else
    Exit Sub
End If
End Sub

И Zoom(-)

Public Sub ZoomMinus()
If ActiveWindow.View.Zoom.Percentage >= 30 And ActiveWindow.View.Zoom.Percentage <= 500 Then
    z = 20
    For i = 1 To 1
        ActiveWindow.View.Zoom.Percentage = ActiveWindow.View.Zoom.Percentage - z
        z = z - 20
    Next
    Else
    Exit Sub
End If
End Sub

6

Re: Кнопки zoom+ & zoom-

Вместо цикла

For i = 1 To 1
        ActiveWindow.View.Zoom.Percentage = ActiveWindow.View.Zoom.Percentage + z
        z = z + 20
Next

Вам нужно только

ActiveWindow.View.Zoom.Percentage = ActiveWindow.View.Zoom.Percentage + 20

Так как операция выполняется 1 раз
z = 20 тогда тоже не нужно
Соответственно, для 2 макроса тоже, цикл я показал как пример