Kevin pregunta,
Tengo un conjunto de datos que se almacena en un archivo de texto delimitado por tabulaciones. Parte de la información debe conservar el "relleno", como los códigos postales (deben tener 5 o 9 caracteres de longitud). Cuando el archivo de texto se abre en Excel, el Asistente de importación de texto aparece automáticamente. Existe una opción para especificar que la columna que contiene esos datos es Texto en lugar de Genérico. La selección de esta opción funciona, pero requiere que abra manualmente. No he podido ubicar una forma en VBA para que la información sea Texto en lugar de Genérica, y guarde mi 'relleno'.
Encienda la grabadora de macros y registre el proceso de importación de su archivo de texto. Aquí está el 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
El parámetro FieldInfo controla cómo se importa cada campo. En este caso, el registrador de macros señaló que tiene 4 campos. La entrada Array (2, 1) dice que para el segundo campo, use un tipo de campo "General". Tenga en cuenta que para el campo 3, la entrada es Array (3, 2). El "2" es el código para que Excel importe este campo como texto.