Buenos días,
A ver si me podéis ayudar porque por mas que busco y leo no encuentro la solución. Igual la explicación es un poco farragosa.
Tengo este tozo de código VBA generado por un script de SAP que básicamente lo que hace es abrir una Tx de SAP, cargar los datos de búsqueda y generar un informe.
Cita
Sub Export_To_ZMMLX02()
Dim SapGuiAuto As Object
Dim Application As Object
Dim Connection As Object
Dim session As Object
Set SapGuiAuto = GetObject("SAPGUI")
Set Application = SapGuiAuto.GetScriptingEngine
Set Connection = Application.Children(0)
Set session = Connection.Children(0)
' con esta ruta si funciona "..\..\..\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI"
End Sub
Luego ese informe lo exporta a Excel, y por ultimo lo guarda en la ubicación elegida. Hasta aquí todo correcto. El problema es que solo funciona si la ruta de guardado es local, pero no si es un SharePoint, me explico.
La idea es que haga todo lo anterior y guarde directamente en un SharePoint donde están configurados los permisos para guardar.
No se si alguno trabajáis con SAP y Excel, pero cuando tu le indicas a SAP, que guarde algo en formato Excel, te abre una ventana para elegir la ruta de guardado, automáticamente lo guarda y lo abre. Si la tuta es local, lo hace con normalidad, y si la ruta es de SharePoint, hay que tener mapeada la ruta en el explorador de Windows porque su GUI no muestra rutas SharePoint, solo locales.
El caso es que la macro, si la ruta es local, funciona correctamente, pero si la ruta es de SharePoint, no guarda el archivo, sino que abre el archivo que ya existe en SharePoint (si existe, si no, tira un error). El asunto es que parece que lo guarda, pero he comparado el archivo que se abre una vez finalizado el proceso (el que debería surgir del informe) y el alojado en SharePoint y no son iguales.
Lo que necesito es si vosotros habéis hecho algo similar o si hay alguna manera mejor de codificar el guardado, ya que yo de VBA voy muy justito, teniendo en cuenta que este código se ejecuta desde otro archivo, ya que el que el archivo que se genera, no "existe" hasta que lo genera SAP.
Como aclaración alguno me podría decir que usara la ruta mapeada de SharePoint, pero no puedo, porque el archivo se va a usar en una empresa donde todos los usuarios Windows tienen su perfil "guardado" en OneDrive (para que cualquiera pueda usar cualquier ordenador) y cada usuario tiene un ID Windows diferente, con lo que las rutas son únicas para cada usuario, del tipo...
Buenos días,
A ver si me podéis ayudar porque por mas que busco y leo no encuentro la solución. Igual la explicación es un poco farragosa.
Tengo este tozo de código VBA generado por un script de SAP que básicamente lo que hace es abrir una Tx de SAP, cargar los datos de búsqueda y generar un informe.
Luego ese informe lo exporta a Excel, y por ultimo lo guarda en la ubicación elegida. Hasta aquí todo correcto. El problema es que solo funciona si la ruta de guardado es local, pero no si es un SharePoint, me explico.
La idea es que haga todo lo anterior y guarde directamente en un SharePoint donde están configurados los permisos para guardar.
No se si alguno trabajáis con SAP y Excel, pero cuando tu le indicas a SAP, que guarde algo en formato Excel, te abre una ventana para elegir la ruta de guardado, automáticamente lo guarda y lo abre. Si la tuta es local, lo hace con normalidad, y si la ruta es de SharePoint, hay que tener mapeada la ruta en el explorador de Windows porque su GUI no muestra rutas SharePoint, solo locales.
El caso es que la macro, si la ruta es local, funciona correctamente, pero si la ruta es de SharePoint, no guarda el archivo, sino que abre el archivo que ya existe en SharePoint (si existe, si no, tira un error). El asunto es que parece que lo guarda, pero he comparado el archivo que se abre una vez finalizado el proceso (el que debería surgir del informe) y el alojado en SharePoint y no son iguales.
Lo que necesito es si vosotros habéis hecho algo similar o si hay alguna manera mejor de codificar el guardado, ya que yo de VBA voy muy justito, teniendo en cuenta que este código se ejecuta desde otro archivo, ya que el que el archivo que se genera, no "existe" hasta que lo genera SAP.
Como aclaración alguno me podría decir que usara la ruta mapeada de SharePoint, pero no puedo, porque el archivo se va a usar en una empresa donde todos los usuarios Windows tienen su perfil "guardado" en OneDrive (para que cualquiera pueda usar cualquier ordenador) y cada usuario tiene un ID Windows diferente, con lo que las rutas son únicas para cada usuario, del tipo...
C:\Users\IDWindows\OneDrive - NombreEmpresa\Documentos\SAP\SAP GUI\export.XLSX
Espero haberme explicado bien. Si necesitáis alguna aclaración mas no dudéis en solicitarla.
Gracias por vuestra ayuda