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