sono alle prese con un FILE che vorrei portare all'attenzione di alcuni miei amici entro fine mese. Vorrei che fosse tutto automatizzato e nello stesso tempo vorrei fare in modo che i codici da me scopiazzati e anche un pò creati, siano tenuti nascosti.
Per quest'ultima cosa mi sono avvalso di un programmino che trasforma i file excel in .exe in modalità read only .
Veniamo al problema.
Il file parte con:
- Codice: Seleziona tutto
ActiveSheet.Unprotect "PSW"
Application.ScreenUpdating = False
Application.Run "APRI_FILE"
.....
.....
Application.Run "CHIUDI_FILE"
End sub
Il file "APRI_FILE" è scritto così:
- Codice: Seleziona tutto
Sub APRI_FILE()
Windows("MIO_PROGRAMMA.xlsm").Activate
Workbooks.Open Filename:="c:\DOCUMENTI\FileA.xls"
Workbooks.Open Filename:="c:\DOCUMENTI\FileB.xls"
End sub
il file "CHIUDI_FILE" è scritto così:
- Codice: Seleziona tutto
Sub CHIUDI_FILE()
Dim book As Workbook
Dim file_aperto As Workbook
Dim aperto As Boolean
Dim nome As String
nome = "FileA.xls"
aperto = False
For Each book In Workbooks
If book.Name = nome Then
Set file_aperto = Workbooks(nome)
aperto = True
file_aperto.Close
Exit For
End If
Next book
Set file_aperto = Nothing
nome = "FileB.xls"
aperto = False
For Each book In Workbooks
If book.Name = nome Then
Set file_aperto = Workbooks(nome)
aperto = True
file_aperto.Close
Exit For
End If
Next book
Set file_aperto = Nothing
End sub
Fino a qui tutto OK! Nel senso che sarà fortuna o casualità, tutto funziona come vorrei funzionasse...il file quando si apre non fa balletti strani, le cartelle si aprono e si chiudono senza avere particolari evidenze ottiche etc.
Veniamo alla trasformazione in file.exe tramite il programmino chiamato XLtoEXE.exe
Quando lo apro il file si minimizza/maximizza 3 volte, i file richiamati si aprono in maniera evidente e il file di "MIO_PROGRAMMA.exe"riappare solo dopo che il codice ha finito di "girare" completamente, ed in più le cartelle aperte non si chiudono a differenza di quanto accadeva prima della trasformazione.
AIUUUUUUUUUUUUUUUUUUUUUTOOOOOOOOOOOOOOOOOOOOOOOOOO