STDIN dan STDOUT
Memasukkan ke Sub
rutin dan Function
melalui variabel input
Public Sub A(ByRef B as String)
Dapat dikurangi menjadi
Sub a(b$)
The Public
dan ByRef
panggilan default untuk VBA dan dengan demikian implisit, dan mungkin (hampir) selalu turun.
Tipe literal $
memaksa b
untuk menjadi tipeString
.
Jenis literal lainnya
!
Tunggal
@
Mata uang
#
Dua kali lipat
%
Bilangan bulat
$
Tali
&
Panjang
^
LongLong (Hanya 64 Bit)
Selain itu, secara umum diterima bahwa Anda dapat meninggalkan variabel input sebagai tipe default, Variant
dan membiarkan semua kesalahan berbasis tipe tidak ditangani. Misalnya. Sub E(F)
di mana F
diharapkan menjadi tipe Boolean[]
(yang akan diteruskan ke rutin seperti E Array(True, False, False)
)
Memasukkan ke Sub
rutinitas dan Fungsi Jendela Segera viaCells
VBA tidak memiliki konsol yang berfungsi penuh dan karenanya tidak memiliki STDIN resmi , dan karenanya memungkinkan untuk beberapa permainan dengan masukan yang lewat.
Dalam excel, umumnya diterima untuk mengambil input dari sel atau rentang sel, yang dapat dilakukan seperti
s=[A1]
yang secara implisit menempatkan .value
dari sel [A1]
(yang juga dapat dirujuk sebagai cells(1,1)
ataurange("A1")
Contoh Masalah: Menampilkan input dalam kotak pesan
Melalui Subroutine Sub A:msgbox[A1]:End Sub
Melalui Fungsi Jendela Segera msgbox[A1]
Memasukkan Melalui Argumen Kompilasi Bersyarat
Dukungan Proyek VBA mengambil argumen dari baris perintah atau melalui Properti Proyek VBAP (lihat melalui penjelajah proyek -> [Proyek VBA Anda] - (Klik Kanan) -> Properti Proyek VBAP -> Argumen Kompilasi Bersyarat)
Ini sangat berguna untuk Tantangan Kode Kesalahan
Diberikan Argumen Kompilasi Bersyarat n=
[some_value] ini memungkinkan untuk mengeksekusi kode yang akan menghasilkan kode kesalahan, berdasarkan dari nilai n
. perhatikan, ini membutuhkan tambahan 2 byte ke kode Anda untuk n=
di bagian argumen kompilasi bersyarat dari VBAProject Properties Pane.
Kode Contoh
...
#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
...
Keluaran Melalui Nilai Fungsi
Tidak banyak yang bisa dikatakan di sini, bentuk umum yang dikutip di bawah ini adalah sekompak mungkin.
Public Function A(b)
...
A=C
End Function
CATATAN: pada sebagian besar kasus, lebih byte mengubah metode menjadi subrutin dan output ke jendela VBE langsung (lihat Di Bawah)
Outputing Dari Sub
rutinitas dan Function
melalui VBE Immediates Window
Keluaran ke VBE segera jendela (AKA the VBE Debug Window) adalah metode keluaran umum untuk VBA untuk tantangan berbasis teks, namun, penting untuk diingat bahwa Debug.Print "Text"
panggilan mungkin secara substansial golf.
Debug.Print "Text"
secara fungsional identik dengan
Debug.?"Text"
sebagai ?
autoformats untuk Print
.
Mengeluarkan dari Sub
rutinitas dan fungsi VBE Immediate Window melalui Metode Lain
Pada kesempatan langka , ketika situasinya tepat, Anda dapat mengambil input dari beberapa input yang lebih sepele yang tersedia untuk VBA seperti adjuster ukuran font, pemilih font, dan zoom. (Misalnya. Meniru Pemilih Ukuran Huruf Kata )