Spanish [SOLUCIONADO] XLutils/JPOI5 Guardar archivo

RAFA BRAVO

Active Member
Licensed User
Longtime User
Buenas tardes, cuando modifico y guardo el libro de trabajo con: XLWorkbookWriter.SaveAs el archivo tiene que estar cerrado, de lo contrario crea un nuevo archivo con el mismo nombre (con las modificaciones), el archivo abierto no se modifica. hay alguna forma de que se modifique y guarde el archivo abierto? En caso de que no, se puede cerrar desde XLutils o JPOI5? para despues guardarlo y volverlo a abrir. Gracias
 

RAFA BRAVO

Active Member
Licensed User
Longtime User
En la librería jshell encontré estas dos funciones:

B4J:
Sub ProcessExists(ExeName As String) As Boolean
    Dim Result As ShellSyncResult
    Dim Sh As Shell
    Sh.InitializeDoNotHandleQuotes("", "tasklist", Null)
    Result = Sh.RunSynchronous(5000)
    Return Result.StdOut.ToLowerCase.Contains(ExeName.ToLowerCase)
    
End Sub

Sub ProcessKill(ExeName As String) As Boolean
    Dim Result As ShellSyncResult
    Dim Sh As Shell
    Sh.InitializeDoNotHandleQuotes("", "taskkill", Array As String("/IM", ExeName,"/F"))
    Result = Sh.RunSynchronous(2000)
    Return Result.StdOut.Contains($"${ExeName}"$) And Result.StdOut.Contains("(PID ")
End Sub

Una busca si Excel esta en ejecución y la otra mata el proceso de Excel. A mi me funciona bien, si el libro de trabajo esta abierto lo cierra y guarda sin duplicar el archivo. No se si existen mejores soluciones, desde luego si trabajas con mas libros de Excel esta no seria tu solución, los cerraría todos, entiendo que sin guardar datos. Un saludo.
 
Top