Описание тега vba7
Visual Basic для приложений (VBA) - это язык программирования, управляемый событиями, который был впервые представлен Microsoft в 1993 году, чтобы дать Excel 5.0 более надежный объектно-ориентированный язык для написания макросов и автоматизации использования Excel. Язык и среда его выполнения быстро повзрослели и начали использоваться в продуктах, выходящих за рамки приложений Microsoft Office.
Различия между VBA 6.0 и VBA 7.0?
Между VBA6 и VBA7 мало что изменилось. VBA7 был введен для поддержки 64-разрядных версий Office и Windows (см. Ниже, в чем эти различия). Вот основные изменения:
64-битная поддержка, в первую очередь для вызовов API. Это используется для того, чтобы ваш код работал с вашей версией ОС /Office, а также с другими (например, с кем-то в Office 2003/WinXP).
Если вы используете 64-разрядную версию Windows, но используете 32-разрядную версию Office, вы можете объявить вызовы API, как показано ниже..
# Если Win64 То Объявить функцию PtrSafe GetTickCount64 Lib "kernel32"() как LongLong # Эльза Объявить функцию PtrSafe GetTickCount Lib "kernel32" () до тех пор, пока #End If
Если вы используете 64-разрядную версию Windows и 64-разрядную версию Office, вы можете объявить вызовы API, например:.
#If VBA7 Then Объявить функцию PtrSafe FindWindow Lib "user32" Псевдоним "FindWindowA" (_ ByVal lpClassName как строка, _ ByVal lpWindowName As String) As LongPtr # Эльза Объявить функцию FindWindow Lib "user32" Псевдоним "FindWindowA" (ByVal _ lpClassName как строка, ByVal lpWindowName как строка) Как долго #End If
Чтобы поддержать это, есть:
Три новых ключевых слова (2 типа данных и 1 модификатор): LongPtr, LongLong и PtrSafe.
Одна новая функция: CLngLng() (т.е. Int64)
Новые константы компиляции, использованные выше:
VBA7
а такжеWin64
Ссылка