Logo Hardware.com.br
Sylibus
Sylibus Membro Junior Registrado
148 Mensagens 0 Curtidas

Macro Substituição, help !

#1 Por Sylibus 27/05/2004 - 12:42
Fala pessoal,

Seguinte, gravei um macro no excel que importa um arquivo txt e joga em uma determinada célula. Ele ficou da segunte forma:

=========


Sub ImportaTexto()

Range("A8").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Documents and Settings\Administrator\My Documents\Consistência de Servidores\Txt\amb.txt" _
, Destination:=Range("A8"))
.Name = "amb"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileFixedColumnWidths = Array(17, 11, 22, 10, 8, 6, 7, 7, 7, 7)
.Refresh BackgroundQuery:=False
End With

End Sub

=========


O que eu queria fazer era o seguinte. Naquela parte que marquei em vermelho, ao invez de estar escrito o caminho do txt, gostaria de colocar uma variável que contem um caminho. Me informaram que deveria fazer isso por macro-substituição.

Alguem sabe como posso fazer isso ??

Valeu
Sylibus
Sylibus Membro Junior Registrado
148 Mensagens 0 Curtidas
#2 Por Sylibus
28/05/2004 - 09:53
Aê,

consegui fazer funcionar. Ficou da seguinte forma:

===

Sub ImportaTexto()

Dim teste As String
Dim text As String
Dim fname As String

'Pega a localização do arquivo
Set txtfile = CreateObject("Excel.sheet")
fname = Application.GetOpenFilename("Arquivo txt (*.txt),(*.txt)", , "Informe a localização do arquivo:", "Abrir")

text = "TEXT;"
teste = RTrim(text + fname)

With ActiveSheet.QueryTables.Add(teste, Destination:=Range("A1"))
.Name = "New Text Document (2)_1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileFixedColumnWidths = Array(19, 11, 22, 11, 6, 7, 7, 7, 7, 7, 7)
.Refresh BackgroundQuery:=False

End With

End Sub

===

vlwz...
E a busca pelo pente de memória perdido continua...
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal