STDIN і STDOUT
Введення в Subпідпрограми та Functions за допомогою вхідних змінних
Public Sub A(ByRef B as String)
Може бути зменшено до
Sub a(b$)
The PublicіByRef дзвінки за замовчуванням для VBA і , таким чином , неявно, і може (майже) завжди бути відкинутий.
Буквальні $сили типу bмають бути типуString .
Літерали інших типів
! Неодружений
@ Валюта
# Подвійний
% Цілий
$ Рядок
& Довго
^ LongLong (лише 64 біт)
Крім того, загальновизнано, що ви можете залишити вхідну змінну як тип за замовчуванням, Variantа будь-які помилки на основі типу залишити без обробки. Напр. Sub E(F)в якому Fочікується тип Boolean[](який буде переданий у звичайний режим E Array(True, False, False))
Введення в Subпідпрограми та функції негайних вікон черезCells
VBA не має повністю функціональної консолі і, таким чином, не має жодної офіційної STDIN, і, таким чином, дозволяє використовувати деякі гру з прохідним входом.
За винятком, прийнято приймати дані з комірки або діапазону комірок, що може бути зроблено так
s=[A1]
яка неявно ставить .valueз комірки [A1](на яку також можна посилатися як cells(1,1)абоrange("A1")
Приклад Проблема: Відобразить вхід у полі повідомлень
Через підпрограму Sub A:msgbox[A1]:End Sub
Через функцію вікна негайно msgbox[A1]
Введення через умовні аргументи компіляції
Проекти VBA підтримують отримання аргументів з командного рядка або через Властивості VBAProject (перегляд через провідник проектів -> [Ваш проект VBA] - (клацніть правою кнопкою миші) -> Властивості VBAProject -> Аргументи умовної компіляції)
Це багато в чому корисно для викликів коду помилок
Враховуючи аргумент умовного компіляції n=[some_value], це дозволяє виконувати код, який створить код помилки, виходячи зі значення n. Зауважте, це вимагає додавання до вашого коду 2-х байт n=у розділі умовних аргументів компіляції на панелі властивостей VBAProject.
Приклад коду
...
#If n=3 then
return '' Produces error code '3', Return without GoSub
#ElseIf n=20 then
resume '' Produces error code '20', Resume without Error
#EndIf
...
Виведення через значення функції
Тут багато чого сказати, загальна форма цитованих нижче приблизно така ж компактна, наскільки це можна зробити.
Public Function A(b)
...
A=C
End Function
ПРИМІТКА: у переважній більшості випадків більш байт перетворює метод у підпрограму та виводить у вікно безпосередніх VBE (див. Нижче)
Виведення з Subпідпрограм та Functions через вікно негайних VBE
Виведення до прямого вікна VBE (AKA the WB Debug Window) є загальним методом виводу VBA для текстових викликів, однак, важливо пам’ятати, що Debug.Print "Text"виклик може бути значно полегшеним.
Debug.Print "Text"
функціонально ідентичний
Debug.?"Text"
як ?автоформати до Print.
Виведення з Subпідпрограм та функцій вікна негайних негайних VBE за допомогою інших методів
У рідкісних випадках, коли ситуація справді правильна, ви можете взяти інформацію з деяких більш тривіальних входів, доступних для VBA, таких як регулятор розміру шрифту, селектор шрифту та масштабування. (Наприклад, імітація вибору розміру шрифту Word )