Eccomi a voi con un altro problemino da sottoporre.
Devo fare un importazione dati da un file di testo.
Anthony47 mi ha insegnato come si fa da Excel, io lo dovrei fare tramite macro.
Allora ho registrato i passi da eseguire e il risultato è:
- Codice: Seleziona tutto
Sub importDataA()
'
' importaDati Macro
'
Windows("Z_MACRO_VB.xls").Activate
Sheets("attrib").Select '.Name = "attrib"
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Users\prova\Desktop\elenco.txt", Destination:=Range( _ '<<<<<path del file di testo
"$A$1"))
.Name = "elenco"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1)
.TextFileFixedColumnWidths = Array(13)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
Ora, il path segnalato con <<<<< cambia di volta in volta.
Allora ho pensato "metto il path in una variabile e gli passo la variabile!" in questo modo:
- Codice: Seleziona tutto
...
Sheets("attrib").Select '.Name = "attrib"
myPath="C:\Users\prova\Desktop\elenco.txt" '<<<<<<<<<< variabile
mySource = "TEXT;" & myPath
With ActiveSheet.QueryTables.Add(Connection:= _
mySource, Destination:=Range( _ '<<<<<path del file di testo
"$A$1"))
...
ma non funziona. (il path è costruito con la concatenazione di alcune variabili che utilizzo altrove, ma non risiede lì il problema: il valore assunto dalla variabile mySource è corretta)
Ho pensato allora che fossero le " " che racchiudono la stringa TEXT;C:\Users\prova\Desktop\elenco.txt
Ho scritto quindi:
- Codice: Seleziona tutto
mySource = Chr(34) & "TEXT;" & vPath & Chr(34)
dove Chr(34) è la codifica ASCII delle "" MA NON FUNZIONA!!!
1. Si è capito il problema? Come faccio a passargli una variabile e non il path esplicito?
2. C'è qualcuno che può aiutarmi??
Grazie mille,
Antom