Public obj_Excel As excel.Application
Public obj_Libros As excel.Workbooks
Public obj_Hoja As excel.Worksheet
Public Archivo_Plantilla As String = "AQUI PONES LA RUTA DE LA PLANTILLA"
'Esto yo lo tengo como "Public" porque yo lo mando llamar hacia otras paginas del programa, pero tu lo puedes usar local como "Dim"
'El cuerpo del programa debe quedar algo como esto, que abre la plantilla pero no la muestra, se queda abierta en segundo planto:
Public Sub Abrir_Archivo()
Try
'intenta abrir el archivo
obj_Excel = CreateObject("Excel.Application")
With obj_Excel
.Workbooks.Open(Archivo_Plantilla)
obj_Hoja = .ActiveWorkbook.Sheets("AQUI VA EL NOMBRE DE LA HOJA DE EXCEL")
obj_Hoja_Gastos.Activate()
.Visible = False
End With
Catch ex As Exception
'si no puede abrir manda un msj de texto
MsgBox("No fue posible abrir el archivo " & Archivo_Plantilla, vbCritical, "Imposible Abrir Archivo")
End Try
End Sub
'Para guardar las modificaciones sin afectar a la plantilla:
Sub Cerrar_Excel()
Try
With obj_Excel
.ActiveWorkbook.SaveAs("AQUÍ PONES LA RUTA DE DONDE SE GUARDARA EL ARCHIVO NUEVO")
.ActiveWorkbook.Close()
.Quit()
End With
Catch ex As Exception
MsgBox("EL ARCHIVO NO ESTA ACTIVO O YA SE HA CERRADO", vbInformation, "ERROR AL CERRAR EXCEL")
End Try
End Sub