Macro que importe un txt con varios delimitadores

Saludos Experto,
Soy nuevo en el foro así que espero no cometer errores
Verán, necesito hacer una macro que importe un archivo de texto a una hoja de Excel, pero que utilice como delimitador de celdas ",,," (tres comas)
Mi código es el siguiente:
Sub importar()
With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;\\SRVR\Comunes\PC2\Texto.txt", Destination:=Range("$A$1"))
        .Name = "Texto.txt"
        .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 = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileOtherDelimiter = ",,,"
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub
Cuando lo ejecuto me toma como delimitador una coma, pero necesito que sean las tres juntas porque hay casos que entre las tres comas hay una coma
Espero haber sido claro y de antemano Gracias
{"Lat":20.6749090565352,"Lng":-103.447372913361}

1 respuesta

Respuesta
1
A priori tu código debería funcionar. En cualquier caso si no es así, una solución fuera de excel que puedes hacer es lo siguiente.
Abre el documento de tecto con el wordpad o el block de notas y reemplaza las tres comas juntas por algún símbolo que no uses en el documento, por ejemplo #, o algún otro.
Y con el nuevo documento de texto pon en tu macro:
.TextFileOtherDelimiter = "#"
Posiblemente no es la mejor solución si necesitas hacerlo muchas veces, pero tal y como lo describes sin ver el documento no puedo decirte más.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas