Como abrir, guardar y cerrar una hoja de calculo desde access con código.

Quisiera poder abrir, guardar y cerrar una hoja de calculo desde el access. ¿Es posible?

Tengo una consulta en access que exporta datos a una hoja de cálculo de excel y quisiera poder a través de un código poder abrir dicha hoja, guardar los cambios y finalmente poder cerrarla.

1 respuesta

Respuesta
2

Isidro: En mi opinión no necesitas abrir y cerrar un libro de Excel para la tarea que me comentas.

No obstante una pauta la tienes en >>

https://social.msdn.microsoft.com/Forums/office/en-US/81d29bf1-524c-4303-8101-611cc30d739b/using-excel-objects-via-late-binding?forum=accessdev 

Ahí hace unas operaciones de Copiar y pegar, pero en lugar de ellas puedes hacer otras.

Para no usar eso, simplemente usa el Método DoCmd.TransferSpreadSheets...

https://docs.microsoft.com/es-es/office/vba/api/access.docmd.transferspreadsheet 

Un saludo >> Jacinto

Gracias Jacinto por tu tiempo. Te explico brevemente.

Utilizo este código para exportar:

Private Sub Comando23_Click()
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "Resumen2bis", dire_pick & "C:\Users\isidrof\Desktop\Indicadores\DATOS" & pr & ".xlsx", True, ""
SALIR:
DoCmd.SetWarnings True
Debug.Print "Fin" & " " & Now()

Sin embargo, el problema lo tengo en un dato que recojo de una consulta, resulta que la tabla donde voy a buscar los datos hay un campo fechahora al cual yo en la consulta la transformo a fecha con esta condición Fecha: Format([xx];"fecha corta";) y me devuelve el dato como DD/MM/AA. Bien, a la hora de exportar me llega al Excel como número y entonces necesito poner una fórmula que me lo pase a formato fecha por ejemplo =SI(ESERROR(FECHANUMERO(A2:A40));"";(FECHANUMERO(A2:A40))).

Pues bien, cada vez que exporto los datos necesito abrir y cerrar la hoja para que me pregunte si quiero guardar los cambios, de lo contrario la hoja no se actualiza.

Isidro: Algo raro veo en ese proceso que haces. He hecho una prueba con una Tabla en la que tengo un Campo con Fecha tipo >> dd/mm/aaaa hh:nn:ss tal como te muestro en la figura, la Exporto a Excel y el Campo FechaActiv me lo da como dd/mm/aaa

Mira de reproducirlo sin más en tu BD y me comentas. Un saludo >> Jacinto

He reproducido fielmente tu propuesta y el resultado no varia. Es curioso, en la tabla aparece como formato fecha hora.

En la consulta aplico el filtro..

Y este es el resultado

Y por último, a la hora de exportar en Excel lo copia como:

Por este motivo, he creado la columna D para pasar ese formato general a fecha, y por eso necesito abrir esta hoja y guardar el cambio cuando cuando me salta el dialogo a la hora de cerrar la ap.

Isidro: No puedes o mejor dicho "No debes" Agrupar un Campo de Fecha General.

Como puedes intuir es muy difícil que haya más de un Registro que coincida con dd/mm/aaaa hh:mm:ss. Por tanto si quieres obtener algún resultado coherente debes de hacer una consulta sin Agrupar. Después si es que fuera necesario sobre esa consulta una segunda Agrupando. Un saludo >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas