View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
money money is offline
external usenet poster
 
Posts: 6
Default reference variables correctly?

here is a snippet demo using a userform and the
commondialog object

Screen.MousePointer = vbHourglass
Dim ApExcel As Object
Set ApExcel = CreateObject("Excel.application")
On Error GoTo ErrHandler1
CommonDialog1.ShowOpen
ApExcel.Workbooks.Open CommonDialog1.FileName

maybe this will get u started.


-----Original Message-----

I have code for a macro (which I recorded) to import some

data from a
.txt file. I'd like to add to the front of the macro,

a .getfileopen
routine to prompt the user to select the text file to be

imported.

I thought I could just replace all the instances of the

path/filename
in my recorded macro with the variable defined in the

getfileopen
routine, but that didn't work.

Any hints? Below I've pasted the two blocks of code I'm

talking
about.

(Yes, I'm a VBA newbie... but I used to program in

Fortran and Matlab
years ago...)

Sub testing()
'
' testing Macro
' Macro recorded 10/27/2004 by Kieran Coghlan
'
' Keyboard Shortcut: Ctrl+Shift+J
'
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Kieran\posturedata\AJ.txt", Destination:=Range

("A1"))
.Name = "AJ"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 12085
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierNone
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = True
.TextFileOtherDelimiter = """"
.TextFileColumnDataTypes = Array(9, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
ActiveWorkbook.SaveAs

Filename:="C:\Kieran\posturedata\AJTEST.xls",
_
FileFormat:=xlNormal, Password:="", WriteResPassword:="",

_
ReadOnlyRecommended:=False, CreateBackup:=False
End Sub

...and the getfileopen block:

Dim FName As Variant
FName = Application.GetOpenFilename("Text
files(*.TXT),*.TXT", , PatientFile)

(which I copied from another post here)

If I put that block at the top of the other block, I get

a run-error at
the following line:
.Refresh BackgroundQuery:=False
Saying that the program can not find the text file for

the query
refresh. I don't understand this.

Thanks for any help,
-Kieran


--
Kieran1028
----------------------------------------------------------

--------------
Kieran1028's Profile:

http://www.excelforum.com/member.php?
action=getinfo&userid=15678
View this thread:

http://www.excelforum.com/showthread...hreadid=272897

.