Estoy trabajando con un archivo .SLK de excel el cual tiene una base de datos y lo que hago es remplazar el texto de ciertas celdas, guardar y salir.
Es un parche lo que estoy haciendo y como mi programa tiene varias opciones y cosas para parchar, doy la opcion de que parchar y que no, queria poner un checkbox para marcar que es lo que van a parchar (modificar ese archivo de excel).
Mi idea principal era tener un boton para cada funcion pero ese mismo archivo no se deja guardar asi nomas, si o si tengo que usar la funcion "SaveAs" de excel en otra carpeta con el mismo nombre en este caso "patch" y hay que apretar boton por boton para parchar todo y hace todo lo mismo una y otra vez. Como puedo hacer para que el usuario tilde las opciones y que luego al apretar un solo boton que dira "Parchar" se produzcan los cambios que arme por separado?
No se si me explique bien, aca dejo un ejemplo de lo que tengo:
Código
Private Sub Boton1_Click() Dim Excel As Object Dim ArchivoExcel As Object Dim Unidades As String Dim AL As Integer Dim AM As Integer Dim AN As Integer AL = 38 AM = 39 AN = 40 Unidades = "C:\Original\Unidades.slk" Set Excel = CreateObject("Excel.Application") Excel.Visible = False Set ArchivoExcel = Excel.Workbooks.Open(Unidades) ArchivoExcel.Worksheets("PestañaUnidades").Cells(250, AL) = "HOLA" ArchivoExcel.SaveAs "C:\Patch\Unidades.slk" ArchivoExcel.Close SaveChanges:=False Set ArchivoExcel = Nothing Excel.Quit Set Excel = Nothing MsgBox "El color de las unidades ha sido correjido", vbOKOnly, "Listo!" End Sub
Lo que hace ese boton es cambiarle el color a ciertas unidades, el otro boton corrije rutas de otras unidades ajenas a estos.
Estoy usando esa ruta (C:/etc) porque aun esta en fase de desarrollo pero usare App.path y demas.
Y en otro boton tengo al distinto:
Código
Dim Excel As Object Dim ArchivoExcel As Object Dim Unidades As String Dim C As Integer C = 3 Unidades= "C:\Original\Unidades.slk" Set Excel = CreateObject("Excel.Application") Excel.Visible = False Set ArchivoExcel = Excel.Workbooks.Open(Unidades) ArchivoExcel.Worksheets("PestañaUnidades").Cells(475, C) = "units\Custom\blabla\payaso.mdx" ArchivoExcel.SaveAs "C:\Patch\Unidades.slk" ArchivoExcel.Close SaveChanges:=False Set ArchivoExcel = Nothing Excel.Quit Set Excel = Nothing MsgBox "La ruta de las unidades han sido correjidas", vbOKOnly, "Listo!" End Sub
Los codes fueron modificados para un mejor entendimiento, son mas completos, esta todo en ingles y etc
E iran mas opcioes de parchado.. Como ven, cada boton hace algo diferente sobre el mismo archivo, entonces, como hago para poner todo esto en cada opcion del checkbox sin tener que abrir y guardar de formas diferentes el mismo archivo? me gustaria usar algo como:
Marcar opciones, apretar boton parchar, se abre archivo, se modifica contenido segun opciones elejidas, se guarda en ruta personalizada, se cierra excel, Msgbox avisando que fue parchado con exito, fin de programa.
Por cada vez que aprieto un boton, copia el original a la carpeta patch y trabaja con ese archivo, por lo tanto si yo apretara un boton, luego el otro, este sustituiria al anterior y seria un parche distinto, remplazando lo parchado anterior mente, ya que trabaja con la copia del original. Podria trabajar tambien con el anteriormente parchado pero habria que dejarlo en oootra ruta diferente porque recuerden que este no se deja guardar asi mismo sino es "Guardar Como" y no puedo andar agregando montones de carpetas por cada boton que tenga.. y seran alrededor de 5 botones.
Espero haberme explicado lo suficiente.
Que puedo hacer en este caso? ojala reciba la ayuda que espero, gracias de antemano.
Pd: Ya extrañaba este foro.