Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Importing text file

4 views
Skip to first unread message

Keith

unread,
Dec 4, 2004, 5:45:05 PM12/4/04
to
I'm trying to get a macro which imports any text file selected from a
directory C:\Data\Archive.

The recorded macro is:

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Data\Archive\Mydata.txt", Destination:=Range("A1"))
.Name = "Mydata"
etc.
This relates to a specific file whereas I want to import any text file
in that directory

I've tried lots of variations including:
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Data\Archive", Destination:=Range("A1"))
.Name = Application.GetOpenFilename

but they don't work.

I'd really appreciate any ideas.

Thanks a lot

K Dales

unread,
Dec 5, 2004, 2:25:01 AM12/5/04
to
The Connection parameter neecs to be the complete file path - you can't leave
off the file name.

How are you selecting the file? Do you have the file name in a VBA
variable? Assuming you have just the file name - not the complete path - in
a variable called MyFileName, I think this should work:

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Data\Archive\" & MyFileName, Destination:=Range("A1"))

The .Name parameter is not used to specify the file name for import; rather
it is the resulting Range name for the imported data table, though it makes
sense to use the same name:
.Name = Replace(MyFileName, ".txt", "")

Keith

unread,
Dec 5, 2004, 9:41:04 AM12/5/04
to
I've tried changing my macro but it still doesn't work. I'm obviously
missing something but I just can't see it. I think it's possibly to do with
not setting the directory first but I'm not sure.

What I'm trying to achieve in the macro is for the user to select which text
file gets imported from the C:\Data directory so the macro would go
Data, Get External Data, Import Text File

This needs to bring up the directory C:\Data. The user then selects which
file to import then the import process continues.

I'm new to this and am stuck on this one. I'd really appreciate some help
editing my code (in the first post) so I can make this work.

Thanks

Nospaminlich

unread,
Dec 5, 2004, 9:41:02 AM12/5/04
to
I've tried changing my macro but it still doesn't work. I'm obviously
missing something but I just can't see it. I think it's possibly to do with
not setting the directory first but I'm not sure.

What I'm trying to achieve in the macro is for the user to select which text
file gets imported from the C:\Data directory so the macro would go
Data, Get External Data, Import Text File

This needs to bring up the directory C:\Data. The user then selects which
file to import then the import process continues.

I'm new to this and am stuck on this one. I'd really appreciate some help
editing my code (in the first post) so I can make this work.

Thanks

Keith

unread,
Dec 5, 2004, 9:45:01 AM12/5/04
to
I've tried changing my macro but it still doesn't work. I'm obviously
missing something but I just can't see it. I think it's possibly to do with
not setting the directory first but I'm not sure.

What I'm trying to achieve in the macro is for the user to select which text
file gets imported from the C:\Data directory so the macro would go
Data, Get External Data, Import Text File

This needs to bring up the directory C:\Data. The user then selects which
file to import then the import process continues.

I'm new to this and am stuck on this one. I'd really appreciate some help
editing my code (in the first post) so I can make this work.

Thanks

Tom Ogilvy

unread,
Dec 5, 2004, 9:49:30 AM12/5/04
to
Dim fName as String
chdrive "C"
chdir "C:\Data"
fname = Application.GetOpenFileName(filefilter:="Text Files (*.txt),*.txt")
if fName = "False" then
exit sub
end if
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & fname , Destination:=Range("A1"))
.Name = "Mydata"

--
Regards,
Tom Ogilvy


"Keith" <Ke...@discussions.microsoft.com> wrote in message
news:E16621E7-567C-495D...@microsoft.com...

Tom Ogilvy

unread,
Dec 5, 2004, 9:52:05 AM12/5/04
to
See previous answer.

--
Regards,
Tom Ogilvy

"Keith" <Ke...@discussions.microsoft.com> wrote in message

news:000123A3-5CE8-4ABF...@microsoft.com...

Keith

unread,
Dec 5, 2004, 10:09:01 AM12/5/04
to
Fantastic. Thank you very much indeed.
0 new messages