Если вы когда-либо программировали какие-либо макросы, вы, вероятно, знакомы с тем, как определять переменные с помощью ключевого слова Dim. Например, вы можете определить целочисленную переменную с именем MyVar следующим образом:

Dim MyVar As Integer

Это очень просто и отлично подойдет для вашего кода. Однако у вас может возникнуть соблазн определить несколько переменных в строке:

Dim x, y, z As Integer

В некоторых версиях языка BASIC это определяет и инициализирует три переменные, каждая из которых является целым числом. В VBA он также работает правильно, и никаких ошибок не возникает. Однако есть небольшая проблема — только последняя переменная (z) фактически определяется как целое число.

Вы можете увидеть, как это работает, используя следующий код:

Sub DimTest()

Dim x, y, z As Integer     MsgBox "x is type " & VarType(x)

MsgBox "y is type " & VarType(y)

MsgBox "z is type " & VarType(z)

End Sub

Когда вы запускаете макрос, первые два всплывающих окна сообщений показывают, что тип переменной для x и y равен 0, что означает неинициализированный.

Только последнее окно сообщения (для z) показывает тип переменной 2, что означает целое число.

Решение состоит в том, чтобы объявлять переменные по одной в каждой строке или использовать полный синтаксис для каждой переменной, как показано ниже:

Dim x As Integer, y As Integer, z As Integer

_Примечание: _

Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

WordTips — ваш источник экономичного обучения работе с Microsoft Word.

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (12098) применим к Microsoft Word 2007, 2010, 2013, 2016, 2019 и Word в Office 365. Вы можете найти версию этого совета для старый интерфейс меню Word здесь:

link: / word-Declaring_Variables [Объявление переменных].