• Domingo 22 de Diciembre de 2024, 15:03

Autor Tema:  Ejecutar Excel Dentro De Access  (Leído 2456 veces)

FrancescVC

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Ejecutar Excel Dentro De Access
« en: Lunes 8 de Enero de 2007, 17:14 »
0
En la misma base de datos access tengo el código que anoto a continuación que utilizo para ir importanto datos de ficheros de texto mientras existe uno pendiente de procesar.
 
Quizá ello ayude a prepararme el código para lo que necesito ya que por lo que comentan en distintos foros hay ejecutar la importación dentro del Do Wile... Loop lo que pretendo hacer ahora es ir abriendo los excel generados, ejecutar una macro que tengo en el libro personal, cerrar el fichero y enviar a otra carpeta.

Necesito la ayuda porqué no tengo ni idea de como abrir excel después de cada dir ejecutar la macro y salvar.
 
El código:
 
Private Sub Comando1_Click()
On Error GoTo Err_Comando1_Click
    Dim stDocName As String
    Dim MiArchivo, MiRuta, MiNombre, miCADENA, misql
' Muestra los nombres en D:\ que representan directorios.
MiRuta = "D:\fic\"    ' Establece la ruta.
MiNombre = Dir(MiRuta, vbArchive + vbHidden + vbNormal + vbReadOnly + vbSystem + vbVolume)
miCADENA = Dir("D:\fic\X" & "*", vbNormal)
Do While MiNombre <> ""    ' Inicia el bucle.
If Mid(MiNombre, 1, 1) = "X" Then
 
"ENTIENDO QUE AQUÍ ENTRARIA EL CÓDIGO QUE NECESITO"
           
           
            End If
        End If
        Name "D:\fic\" & MiNombre As "D:\fic\copias\" & "XEX01" & MiNombre
 
        MiNombre = Dir     ' Obtiene siguiente entrada.
    Loop
 
Exit_Comando1_Click:
    Exit Sub
Err_Comando1_Click:
    MsgBox Err.Description
    Resume Exit_Comando1_Click
   
End Sub
 
Gracias por anticipado.
 
Feliz año.

dBase3

  • Miembro activo
  • **
  • Mensajes: 85
    • Ver Perfil
Re: Ejecutar Excel Dentro De Access
« Respuesta #1 en: Jueves 11 de Enero de 2007, 15:24 »
0
Igual Feliz año,

No se ahora mismo como hacerlo en VBA, pero si eso te paso el código aproximado en autoexecute que puedes incluirlo en VBA ahi donde te falta el código con una llamada a Shell("autoexecute.exe "¶metronombredeFicherodeMacros)

codigo Autoexecute aproximado, llamandolo desde el Access para realizar la tarea:

creas este fichero de texto cada vez que ejecutes el While

shell("autoexecute.exe "& sficherocreado_txt)

sFicheroCreado="nombredeficherodeMacrosAutoexecute.txt"
Código: Text
  1.  
  2. r NombreyRutaDeExcel nombrefichero,  =&#62;arranca el excel con la macro
  3. w nombreventanaexcel,   ==&#62; espera a q asome la ventana del excel
  4. +4 !ag, ==&#62; espero 4 segundos y lanzo un alt + &Archivo y &Guardar
  5. +1 !al, ==&#62;  espero 1 segundo y lanzo un alt+&#036;Archivo y Sa&lir del excel
  6. c archivoorigen((directoriodestino, =&#62; copio el fichero q sea a un destino
  7.  
  8.  

Si quieres bajarte el programa gratis y la sintaxis exacta en Autoexecute