STDIN ve STDOUT
Giriş değişkenleri ile Sub
rutin ve Function
s girişleri
Public Sub A(ByRef B as String)
Aşağı indirilebilir
Sub a(b$)
Public
veByRef
çağrılar VBA ve dolayısıyla örtük için varsayılan vardır ve (neredeyse) her zaman bırakılabilir.
Tip edebi $
kuvvetler b
türden olmalı String
.
Diğer tür değişmez değerleri
!
Tek
@
Para birimi
#
Çift
%
tamsayı
$
sicim
&
Uzun
^
LongLong (Sadece 64 Bit)
Ayrıca, giriş değişkenini varsayılan tür olarak Variant
bırakabileceğiniz ve tür tabanlı hataları işlenmeyebileceğiniz genellikle kabul edilir . Örneğin. Sub E(F)
hangi F
tipte olması beklenir Boolean[]
(rutin gibi geçirilecek E Array(True, False, False)
)
İçin Girilmesi Sub
rutinleri ve Acil Pencere Fonksiyonlar aracılığıylaCells
VBA'nın tamamen işlevsel bir konsolu yoktur ve bu nedenle herhangi bir resmi STDIN'i yoktur ve bu nedenle bazılarına geçen girdi ile .
Excel'de, genellikle bir hücreden veya hücre aralığından girdi alınması kabul edilir.
s=[A1]
örtük .value
olarak hücreden koyar [A1]
( cells(1,1)
veya olarak da adlandırılabilir)range("A1")
Örnek Sorun: Girişi bir mesaj kutusunda görüntüleme
Altyordam yoluyla Sub A:msgbox[A1]:End Sub
Anında Pencere İşlevi ile msgbox[A1]
Koşullu Derleme Bağımsız Değişkenleri İle Girme
VBA Projeleri, komut satırından veya VBAProject Özellikleri aracılığıyla argümanlar almayı destekler (proje gezgini aracılığıyla görüntüleme -> [VBA Projeniz] - (Sağ Tıklama) -> VBAProject Özellikleri -> Koşullu Derleme Bağımsız Değişkenleri)
Bu, büyük ölçüde Hata Kodu Sorunları
Koşullu Derleme Argümanı n=
[some_value] verildiğinde, bu, değerine bağlı olarak bir hata kodu üretecek kodun yürütülmesine izin verir n
. Not, bu n=
, VBAProject Özellikler bölmesinin koşullu derleme bağımsız değişkenleri bölümünde kodunuza 2 bayt eklenmesini gerektirir .
Örnek Kod
...
#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
...
İşlev Değeri Üzerinden Çıkış
Burada söylenecek çok şey yok, aşağıda belirtilen genel form, yapılabilecek kadar kompakttır.
Public Function A(b)
...
A=C
End Function
NOT: vakaların büyük çoğunluğunda daha bayt yöntemini bir alt rutine dönüştürmek ve VBE anında penceresine çıktı (Aşağıya bakınız)
Gönderen çıktısı Sub
rutinleri ve Function
VBE Immediates Pencere yoluyla s
VBE penceresine çıkış (VBE Hata Ayıklama Penceresi AKA), metin tabanlı zorluklar için VBA için yaygın bir çıkış yöntemidir, ancak Debug.Print "Text"
çağrının büyük ölçüde golf oynayabileceğini hatırlamak önemlidir .
Debug.Print "Text"
işlevsel olarak aynıdır
Debug.?"Text"
olarak ?
otomatik biçimler olarak Print
.
Dan çıktısı Sub
Diğer yöntemleriyle rutinleri ve VBE Immediates Pencere fonksiyonları
Açık nadir durum sadece doğru olduğunda vesileyle, bu tür yazı tipi boyutu ayarlayıcı, yazı tipi seçicisi olarak VBA kullanılabilir daha önemsiz girdilerin bazı girdi almak ve yakınlaştırmak olabilir. (Ör. Word Yazı Tipi Boyutu Seçicisini Taklit Etme )