22 самых популярных вопроса на собеседовании по VBA & Ответы

Anonim

Скачать PDF

1) Объясните, что такое VBA или Visual Basic для приложений?

VBA означает Visual Basic для приложений; это язык программирования, управляемый событиями, разработанный Microsoft. Он преимущественно используется с офисными приложениями Microsoft, такими как MS-word, MS-Access и MS-Excel.

2) Упомяните, где вы можете написать свою программу VBA для макросов?

Модуль - это место, где вы можете написать программу VBA для макроса, чтобы вставить модуль, перейдите к Вставить -> Модуль

3) Укажите, какой стиль комментариев используется в VBA?

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

  • Любое утверждение, которое начинается с одинарной кавычки, рассматривается как комментарий.
  • Или вы можете использовать оператор REM вместо одинарной кавычки (')

4) Как в VBA объявить переменную и константу?

В VBA переменную можно объявить с помощью ключевого слова «DIM», а константу - с помощью ключевого слова «Const».

5) Какие типы данных существуют в VBA?

Типы данных в VBA делятся на две категории

Числовой тип данных Нечисловой тип данных
Байт Строка (фиксированная длина)
Целое число Строка (переменной длины)
Длинный Дата
Одинокий Логический
Двойной Объект
Валюта Вариант (числовой)
Десятичный Вариант (текст)

6) Объясните, что такое ADO, ODBC и OLEDB?

ADO : объекты данных ActiveX или ADO - это универсальная структура доступа к данным, которая включает в себя функции DAO.

ODBC : Open Database Connectivity или ODBC - это технология, которая позволяет клиентскому приложению базы данных подключаться к внешней базе данных.

OLEDB : это низкоуровневый программный интерфейс, предназначенный для доступа к широкому спектру объектов связывания и встраивания доступа к данным (OLE).

7) Объясните, что такое указатели на функции в VBA ?

VBA (информация о Visual Basic) имеет гибкие приложения, но есть ограничение на указатель функции в VBA. Windows API не имеет адекватной поддержки указателей на функции, потому что он может использовать функцию, но не имеет функциональной поддержки для обратного вызова функции. Он имеет встроенную поддержку для вызова, но не для обратного вызова.

8) Объясните, как выполняется «подсчет ссылок» в VBA?

В VBA вскоре переменная выходит за пределы области видимости, счетчик ссылок на объект ссылки уменьшается. Когда вы назначаете ссылку на объект другой переменной, счетчик ссылок увеличивается. А когда ваш счетчик ссылок достигает нуля, событие завершается.

9) Как можно явно уменьшить счетчик ссылок?

Чтобы явно уменьшить счетчик ссылок, вам необходимо установить для переменной значение «Nothing».

10) Объясните, что такое объекты COM (объектной модели компонентов) в VBA ?

COM-объекты обычно представляют собой файлы .dll и представляют собой скомпилированные исполняемые программы.

11) Объясните, как можно набрать номер телефона через VBA?

Чтобы набрать номер телефона через VBA, вам необходимо выполнить следующие действия.

  • Команду оболочки в VBA можно использовать для запуска программы набора номера в ОС Windows.
  • Для подключения к модему можно использовать номер телефона
  • С помощью ключей отправки и команды оболочки вы можете позвонить своему пользователю
  • Sendkey диктует окнам для набора номера в соответствии с нажатиями клавиш приложения, в то время как Shell активирует приложение Windows
  • Макрос может использоваться для запуска программы картотеки, которая запускает функцию автоматического набора номера.

12) Объясните, что означает «Явный вариант»? Где его использовать?

«Option Explicit» делает объявление переменных обязательным. Явная функция Line заставляет компилятор определять все переменные, которые не объявлены оператором dim. Эта команда значительно уменьшает проблему ошибок типа. Он используется в VBA, потому что имеет дело с насыщенным информацией приложением, в котором часто встречаются ошибки типа. Перед запуском любых подпроцедур его можно использовать внутри модуля.

13) Объясните, как можно передавать аргументы функциям VBA ?

Когда аргументы передаются функциям VBA, их можно передавать двумя способами.

  • ByVal : когда аргумент передается с помощью Value, это означает, что процедуре передается только значение, и любые изменения, внесенные в аргумент внутри процедуры, будут потеряны при выходе из процедуры.
  • ByRef : когда аргумент передается по ссылке, то в процедуру передается фактический адрес аргумента. Любые изменения, внесенные в аргумент внутри процедуры, будут отозваны при выходе из процедуры.

14) Упомяните метод, который вызывается из объекта ObjectContext для уведомления MTS о том, что транзакция была неудачной или успешной?

Методы Setabort и setcomplete вызываются из объекта ObjectContext для уведомления MTS о том, что транзакция была неудачной или неудачной.

15) Каков код для поиска последней использованной строки в столбце или последнего использованного столбца строки?

Чтобы найти последнюю строку в столбце, используется команда End (xlUp), а для поиска последнего столбца в строке используется команда End (xlToLeft).

16) Упомяните разницу между подпрограммами и функциями в VBA ?

Разница между подпрограммами и функциями заключается в том, что

  • Подпрограммы никогда не возвращают значение, но функции возвращают значения
  • Подпрограммы могут изменять значения фактических аргументов, в то время как функция не может изменять значения фактических аргументов.

17) Объясните, в чем разница между свойствами CurrentRegion и UsedRange ?

  • CurrentRegion: текущий регион - это диапазон, ограниченный любой комбинацией пустых столбцов и строк.
  • UsedRange: это свойство используется для выбора диапазона используемых ячеек на листе. Он возвращает объект Range, который представляет используемый диапазон на конкретном листе.

18) Объясните, как отлаживать код VBA?

Чтобы отладить код VBA, выполните следующие действия.

  • Использование точек останова (F9)
  • Пошаговое выполнение (F8)
  • Печать и немедленное окно и наблюдение за окном

19) Как остановить скрипт VBA, когда он заходит в бесконечный цикл?

Нажав Cntrl + Pause Break, можно остановить скрипт VBA, когда он перейдет в бесконечный цикл.

20) Укажите, какое свойство меню нельзя установить во время выполнения ?

Во время выполнения свойство Name меню не может быть установлено.

21) Упомяните, есть ли у VBA словарная структура?

Да, у VBA есть словарная структура. Вы можете установить ссылку на словарь, например

  • Установите dict = CreateObject («Scripting.Dictionary»)
  • ИЛИ Dim dict как New Scripting.Dictionary

22) Упомяните, как вы можете комментировать и раскомментировать блоки кода в офисном редакторе VBA?

В офисном редакторе VBA вы можете комментировать и раскомментировать блоки кода, выполнив следующие действия.

  • В редакторе VBA перейдите в меню « Просмотр» -> « Панели инструментов» -> « Настроить…» ИЛИ щелкните правой кнопкой мыши панель инструментов и выберите «Настроить».
  • Выберите меню редактирования слева на вкладке команд.
  • При прокрутке вниз можно увидеть два значка: «Блок комментариев» и «Раскомментировать».
  • Когда вы перетаскиваете их на свою панель инструментов, у вас будет легкий доступ для выделения блока кода и выполнения действий с ним.