问题
I'd like to define an array like:
sample_array = Array( _
"foo", _
"bar", _
...
"dog", _
"cat" _
)
...in a macro written in VB for Applications (PowerPoint 2010 in this case), but I need to define the array from a text file that would just be formatted like:
foo
bar
...
dog
cat
What is the simplest way to define a text file path and read the values (assume they are always regular ascii strings) directly into an array?
Thanks!
回答1:
Dim arr() as String
dim i as Integer
i=0
Open "c:\test.txt" For Input As #1 ' Open file for input.
Do While Not EOF(1) ' Loop until end of file.
Line Input #1, arr(i) ' read next line from file and add text to the array
i=i+1
redim preserve arr(i) ' Redim the array for the new element
Loop
Close #1 ' Close file.
回答2:
You could load the whole file in at once and split it by newlines as follows
Sub read_whole_file()
Dim sFile As String, sWhole As String
Dim v As Variant
sFile = "C:\mytxtfile.txt"
Open sFile For Input As #1
sWhole = Input$(LOF(1), 1)
Close #1
v = Split(sWhole, vbNewLine)
End Sub
来源:https://stackoverflow.com/questions/23883676/how-to-populate-an-array-from-text-file-in-visual-basic-for-powerpoint-2010