Usando o Excel Macro Recorder - Excel Tips

Kevin pergunta,

Tenho um conjunto de dados armazenado em um arquivo de texto delimitado por tabulação. Algumas das informações precisam manter o "preenchimento" - como os códigos postais (eles precisam ter 5 ou 9 caracteres). Quando o arquivo de texto é aberto no Excel, o Assistente de Importação de Texto aparece automaticamente. Existe uma opção para especificar que a coluna que contém esses dados é Texto em vez de Genérico. Selecionar esta opção funciona - mas requer que eu faça a abertura manualmente. Não consegui localizar uma maneira no VBA de fazer com que as informações fossem Texto em vez de Genéricas - e salvando meu 'preenchimento'.

Ligue o gravador de macro e registre o processo de importação de seu arquivo de texto. Aqui está o código resultante:

Workbooks.OpenText Filename:= “C:TestData.txt”, Origin:=437, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 2), Array(4, 1)), TrailingMinusNumbers:=True

O parâmetro FieldInfo controla como cada campo é importado. Neste caso, o gravador de macro observou que você tem 4 campos. A entrada Array (2, 1) diz que, para o segundo campo, use um tipo de campo “Geral”. Observe que, para o campo 3, a entrada é Array (3, 2). O “2” é o código para o Excel importar este campo como Texto.

Artigos interessantes...