Automatizar export de datos de SAP a Excel


#1

Hola,
Como usuario de contabilidad he tenido que bajar información de SAP infinitas veces, y la verdad que las formas más conocidas por el usuario común y silvestre no han sido de mi agrado, pienso que la que debe trabajar SIEMPRE es la computadora :wink:

En la empresa que estaba trabajando usaban la opción de Exportar a Excel y era necesario renombrar cada vez el archivo, las columnas salían terrible, para mí algo horrible cuando hacés bajadas todo el tiempo.
Entonces me di a la búsqueda de una solución más agradable, y encontré la opción de una Macro muy simple que trabaje por mí.

En fin, primero un click en el

Luego:

Finalmente:

Acá hay que prestar atención:

  • el Directorio sugiero dejarlo como lo propone SAP, va a tener una pinta similar al que ven en la imagen. ¿Y por qué? para no tener que modificar la macro si, por ejemplo, cambiamos de PC.
  • el Fichero poner a.txt y no cambiarlo nunca, esto también es importante para la macro.

Ahora la macro (copian este código y lo pegan en el editor de macros de Excel):

Public Sub Importar_Txt()

    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\usuarios\miUsuario\Documents\SAP\a.txt", Destination:=Range("$A$1"))
        .Name = "a"
        .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 = True
        .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)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    Columns("A:A").ColumnWidth = 4.43
    
End Sub

Esa macro la tienen que guardar en el libro personal Click aquí si no sabés cómo.
De esta manera, cada vez que exportan la info la pueden obtener con solo abrir Excel y ejecutando la macro. Lo más pro es poner un botón para ejecutarla, Click aquí si no sabés cómo.

Seguramente quienes no conocen macros lo van a ver como un chino, pero creanme que es de lo más simple.

Espero les sirva!
Saludos


Conectar excel con SAP
Error al exportar de sap a excel
Mi presentacion - Francisco Cardama
#2

Perfecto Aporte Ragis, se te agradece un abrazo.


#3

Muy útil la explicación. Es de gran ayuda. Muchas gracias.


#4

Muy bueno!! Gracias por el aporte