Apertura de un archivo Excel en VBA Access

glaya Mensajes publicados 2 Estado Miembro -  
 VBA Beginner XX -
Hola a todos,

este es mi problema:
en mi base de datos me gustaría abrir un archivo de Excel a partir de un botón
¿cuál es el código que me permite hacer esto?

Gracias por su ayuda
Glaya

7 respuestas

  1. michelh Mensajes publicados 16 Estado Miembro 25
     
    Para responder a Fred:
    Primero, es necesario añadir una referencia a Excel para disponer de los objetos de Excel. Para ello, hay que abrir un módulo de código y luego usar el menú Herramientas, Referencias y buscar en la lista: Microsoft Excel 8 (por ejemplo).

    Luego, aquí hay un ejemplo de código (del botón cmdOpenExcel):

    Private Sub cmdOpenExcel_Click()
    Dim xls As Excel.Application
    On Error GoTo errHnd
    Set xls = CreateObject("Excel.Application")
    xls.Workbooks.Open "c:\toto.xls"
    xls.Visible = True
    Exit Sub
    errHnd:
    MsgBox "Error N° " & Err.Number & vbLf & Err.Description, , Err.Source
    End Sub
    18
  2. glaya Mensajes publicados 2 Estado Miembro 2
     
    Gracias por tu ayuda
    tu respuesta me será muy útil
    2
  3. marinaetsonchat
     
    Hola,
    El tema es antiguo, no sé si tendré una respuesta.
    El código anterior funciona bien, excepto que me abre el archivo de Excel dos veces...

    Private Sub Bascule65_Click() Dim xls As Excel.Application On Error GoTo errHnd Set xls = CreateObject("Excel.Application") xls.Workbooks.Open "c:\AvisCom\Trimestriel.xls" xls.Workbooks("Trimestriel.xls").Sheets("Feuil2").Activate xls.Visible = True Exit Sub errHnd: MsgBox "Erreur N° " & Err.Number & vbLf & Err.Description, , Err.Source End Sub


    ¿alguien tiene una idea?
    1
  4. Polux31 Mensajes publicados 7219 Estado Miembro 1 204
     
    Hola,

    Aquí hay un método que se puede utilizar:
    Private Sub Bascule65_Click() Dim xls As Excel.Application Dim wk As Excel.Workbook Dim ws As Excel.Worksheet On Error GoTo errHnd Set xls = CreateObject("Excel.Application") Set wk = xls.Workbooks.Open("C:\AvisCom\Trimestriel.xls") Set ws = wk.Sheets("Feuil2") ws.Activate xls.Visible = True Exit Sub errHnd: MsgBox "Error N° " & Err.Number & vbLf & Err.Description, , Err.Source End Sub 


    No olvides referenciar: Microsoft Excel xx.x Object Library en Herramientas > Referencias ...

    ;o)
    --
    «Lo que se concibe bien se enuncia claramente, Y las palabras para decirlo llegan fácilmente.»
    Nicolas Boileau
    1
  5. michelh Mensajes publicados 16 Estado Miembro 25
     
    Hola
    Hay un modo muy simple: crea un botón utilizando el asistente: es un botón de la categoría Aplicación y la acción es Ejecutar Microsoft Excel. El asistente generará el código para abrir Excel.
    Para que el asistente esté activo, es necesario que el segundo botón en la barra de herramientas esté presionado (el que está después de la flecha).
    Por supuesto, podemos hacer mucho mejor abriendo un archivo específico o controlando Excel desde ACCESS con código VBA. Esto se llama OLE Automation.

    Buena suerte
    Michel
    0
    1. fred
       
      sí, tu enfoque es bueno para abrir un libro de Excel, pero ¿cómo hacer para abrir un archivo específico como toto.xls desde Access?

      Gracias de antemano

      fred
      0
  6. marinaetsonchat
     
    Este código funciona igual de bien, pero siempre me abre el archivo de Excel dos veces.

    De hecho, el problema viene del hecho de que estaba usando el evento de clic del botón de alternancia. Al usar el evento 'Con el ratón presionado', se abre solo una vez.
    0
  7. VBA Beginner XX
     
    ¡He entendido! Era necesario añadir una referencia (en herramientas) para que los objetos de Excel fueran reconocidos desde Access.
    0