Visual Basic - Importar archivo de texto con asistente de excel con opciones ya establecidas

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 21
Ha aumentado su posición en 3 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Importar archivo de texto con asistente de excel con opciones ya establecidas

Publicado por Laura (12 intervenciones) el 14/12/2018 00:09:04
Buenas tardes tratare de explicarme con imágenes y compartiendo la rutina lo mejor posible, tengo una rutina en visual que hace el llamado para usar el asistente de excel para importar archivos de texto, es la siguiente

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Dim LibroDestino As Workbook, LibroOrigen As Workbook
Dim CeldaDestino As Range
Dim RetVal As Boolean
 
For fila = 3 To 10000
    If Hoja1.Cells(fila, 2) = "" Then
        final = fila
            Exit For
    End If
Next
 
Application.ScreenUpdating = False
 
Set LibroDestino = ActiveWorkbook
Set CeldaDestino = Hoja1.Cells(final, 2)
 
RetVal = Application.Dialogs(xlDialogOpen).Show("*.txt") ' llamado del asistente de excel
 
If RetVal = False Then Exit Sub
 
Set LibroOrigen = ActiveWorkbook
 
Range(Range("A2"), Range("A2").SpecialCells(xlLastCell)).Copy
 
LibroDestino.Activate
CeldaDestino.PasteSpecial Paste:=xlValues
 
LibroOrigen.Close False
 
End sub

me funciona bien pero yo quisera es dejar las opciones que tengo que escojer como ya predeterminadas ya que mis usuarios hacen que den error en imagenes les dire que es lo que deseo pero no tengo ni idea de como hacerlo y si realmente se puede hacer

al llamar el asistente muestra un primer paso que es elejir el tipo de archivo deseo dejar ya establecido que es la primera opcion que es delimitados



paso1

el segundo paso es escojer el tipo de separadores el asistente por defecto muestra la primera opcion que es tabulacion pero yo deseo es desmarcar esa opcion y que se marque la opcion otros y colocar que mi separador es este " | " les dejo las imagenes

paso-2
paso3

el tercer paso es seleccionar el formato de columnas , el asistente por defecto trae seleccionado la opcion general y deseo se que quede en esa opcion , y ya despues finalizar , y se importan los datos


paso4

en si lo que desearia es dejar esas opciones predeterminadas y que el usuario solo le de siguiente siguiente siguiente finalizar , o s alguien tiene una meor rutina para imortar datos de txt a excel sin pasar por el asistente tambien me sirve... gracias a todos , espero me ayuden me urge hacer esto ya que los usuarios olvidan seleccionar las opciones y al momento de cargar es da error
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Importar archivo de texto con asistente de excel con opciones ya establecidas

Publicado por Antoni Masana (558 intervenciones) el 14/12/2018 07:51:24
Pasos a seguir:

- Grabar MACRO
- Importar el fichero con el asistente.
- Para grabar MACRO.

Reemplazar la macro creada por la lugar de llamar al asistente y problema resuelto. Solo queda un pequeño detalle:

¿El nombre del fichero exportado es siempre en mismo?, si la respuesta es SI no hay problema, en caso contrario hay que pedir el nombre de fichero o seleccionarlo de una lista.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 21
Ha aumentado su posición en 3 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Importar archivo de texto con asistente de excel con opciones ya establecidas

Publicado por Laura (12 intervenciones) el 20/03/2019 18:24:17
ok hice lo recomendado pero la direccion o ruta son variables y los nombre de archivo tambien... que debo hacer para que cambiar eso? y que el usuario escoja su archivo a importar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\Users\Kevin\Desktop\DGII_F_606_130704864_201903.txt", Destination:= _
        Range("$A$4"))
        .CommandType = 0
        .Name = "DGII_F_606_130704864_201904"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 1252
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileOtherDelimiter = "|"
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
        1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar