Mandar Datos a Excel desde Access con ruta especifica
Hoy vengo con un tema que me esta dando dolor de cabeza. Tengo un código en VB programado para un botón en un formulario. Lo que hace este botón es enviar la información indicada en el formulario a un archivo de formtado prediseñado en excel. La modificación que vengo queriendo hacer es que cuando le de clic al botón este abra, o pregunte por el valor de un campo para direccionar la información al excel correspondiente:
Ej. Si el valor del campo "Carrier" es "TELESITES" me abra el formato correspondiente a telesites.
O si el valor del campo "Carrier" es "ATC" me abra el formato correspondiente a ATC.
Anexo mi Código, esperando puedan ayudarme.
Private Sub Comando36_Click()
'Declaramos las variables
Dim vFolio As String, vID As String, vNom As String, vLati As String, vLong As String, vFecha As Date, vDir As String, vCiu As String, vEst As String, vReq As String
Dim rutaPlantilla As String
Dim nuevoExcel As String
Dim miExcel As Object
Dim miHoja As Object
'Cogemos los datos del formulario
vFolio = Nz(Me.Folio.Value, "")
vID = Nz(Me.IdSitio.Value, "")
vNom = Nz(Me.SITIO.Value, "")
vLati = Nz(Me.LATITUD.Value, "")
vLong = Nz(Me.LONGITUD.Value, "")
vFecha = Nz(Me.FechaIngreso.Value, "")
vDir = Nz(Me.DIRECCION.Value, "")
vCiu = Nz(Me.CIUDAD.Value, "")
vEst = Nz(Me.ESTADO.Value, "")
vReq = Nz(Me.TipoSol.Value, "")
'Asignamos la ruta hasta la carpeta para el nuevo Excel
nuevoExcel = Application.CurrentProject.Path & "C:\Plantillas_Gestoria"
'Cogemos la ruta de la plantilla
rutaPlantilla = Application.CurrentProject.Path & "C:\Plantillas_Gestoria\SOLICITUDES_OPERANDO.xlsx"
'Abrimos la plantilla de Excel
Call ShellExecute(Me.hWnd, "Open", "C:\Plantillas_Gestoria\SOLICITUDES_OPERANDO.xlsx", "", "", 1)
'Capturamos la instancia de Excel para poder operar desde Access
Set miExcel = GetObject("C:\Plantillas_Gestoria\SOLICITUDES_OPERANDO.xlsx")
'Cogemos la "Hoja1" de la plantilla
Set miHoja = miExcel.worksheets("FORMATO_4")
'Operamos sobre la hoja
With miHoja
.Range("L62").Value = vFolio
.Range("D10").Value = vID
.Range("D9").Value = vNom
.Range("D16").Value = vLati
.Range("D17").Value = vLong
.Range("L8").Value = vFecha
.Range("A100").Value = vDir
.Range("A101").Value = vCiu
.Range("A102").Value = vEst
.Range("G42").Value = vReq
End With
'Guardamos el Excel con otro nombre
'miExcel.SaveAs "C:\Plantilla" & vID & ".xlsx"
End Sub
1 Respuesta
Respuesta de Sveinbjorn El Rojo
1
