HotDogCannon
HotDogCannon

Reputation: 2386

How to populate an array from text file in Visual Basic for PowerPoint 2010

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!

Upvotes: 1

Views: 32689

Answers (2)

kiks73
kiks73

Reputation: 3758

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.

Upvotes: 6

xificurC
xificurC

Reputation: 1178

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

Upvotes: 6

Related Questions