Moderatori: Anthony47, Flash30005
'
Workbooks.Open "LOCALIZZATORE.xlsm" + opzioni
ThisWorkbook.Activate 'Se la macro e' contenuta in PRATICHE.xslx
'..
'..
End Sub
Private Sub Workbook_Open()
Dim Ckwb As Workbook
'
FFName = "Q:\SCANNERTRASPORTI\DOC UFF TRASPORTI\PRATICHE SIDERURGICO.xlsx" '<<< Percorso e nome del file da aprire
mySplit = Split(FFName, "\", , vbTextCompare)
On Error Resume Next
Set Ckwb = Workbooks(mySplit(UBound(mySplit)))
On Error GoTo 0
If Ckwb Is Nothing Then
Workbooks.Open Filename:=FFName, ReadOnly:=True
End If
Call CloseOpen
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call Macro2
FFName = "Q:\SCANNERTRASPORTI\DOC UFF TRASPORTI\PRATICHE SIDERURGICO.xlsx" '<<< Percorso e nome del file da aprire
mySplit = Split(FFName, "\", , vbTextCompare)
On Error Resume Next
Workbooks(mySplit(UBound(mySplit))).Close False
If myNext > Now Then Application.OnTime myNext, "CloseOpen", , False
On Error Resume Next
End Sub
Sub Macro2()
nomecopia = "Q:\SCANNERTRASPORTI\DOC UFF TRASPORTI\copia sicurezza\salvataggi estremis\" & Hour(Now()) & "." & Minute(Now()) & " " & "-" & " " & Day(Date) & "." & Month(Date) & "." & Year(Date) & " " & ThisWorkbook.Name
ThisWorkbook.SaveCopyAs nomecopia
End Sub
Sub CloseOpen()
'Stop
Dim Ckwb As Workbook, mySplit, FFName As String
FFName = "Q:\SCANNERTRASPORTI\DOC UFF TRASPORTI\PRATICHE SIDERURGICO.xlsx" '<<< Percorso e nome del file da aprire
mySplit = Split(FFName, "\", , vbTextCompare)
On Error Resume Next
Set Ckwb = Workbooks(mySplit(UBound(mySplit)))
On Error GoTo 0
If Ckwb Is Nothing Then Exit Sub
Workbooks(mySplit(UBound(mySplit))).Close False
DoEvents
Workbooks.Open Filename:=FFName, ReadOnly:=True
myNext = Now + TimeSerial(0, 30, 0)
Application.OnTime myNext, "CloseOpen"
End Sub
'
Workbooks.Open "LOCALIZZATORE.xlsm" + opzioni
ThisWorkbook.Activate 'Se la macro e' contenuta in PRATICHE.xslx
'..
'..
End If
Call CloseOpen
ThisWorkbook.Activate '<<<
End Sub
'..
Workbooks.Open Filename:=FFName, ReadOnly:=True
myNext = Now + TimeSerial(0, 30, 0)
Application.OnTime myNext, "CloseOpen"
ThisWorkbook.Activate '<<<
End Sub
Anthony47 ha scritto:Non ho capito cosa fai con la CloseOpen, che riesegui periodicamente; a me pare che in sequenza chiudi il file PRATICHE SIDERURGICO.xlsx e immediatamente lo riapri. Non so lo scopo di questo apri e chiudi, ma aggiungi anche qui l'attivazione del file principale:
- Codice: Seleziona tutto
'..
Workbooks.Open Filename:=FFName, ReadOnly:=True
myNext = Now + TimeSerial(0, 30, 0)
Application.OnTime myNext, "CloseOpen"
ThisWorkbook.Activate '<<<
End Sub
Ciao
Si, ha senso: se il file viene aggiornato (da altri) allora chiuderlo e riaprirlo periodicamente ti dà l'ultima versione...Quella parte lì se non ricordo male era perchè l'altro file doveva autoaggiornarsi ogni minuto, io ho aumentato il tempo a 30 min.
Torna a Applicazioni Office Windows
Inserire dati filtrati da 2 file ad un terzo file Autore: Ricky0185 |
Forum: Applicazioni Office Windows Risposte: 14 |
Mettere tutto MAIUSCOLO un range di celle Autore: raimea |
Forum: Applicazioni Office Windows Risposte: 7 |
Inserire add.in nella barra di avvio veloce in excel 2003 Autore: Ricky0185 |
Forum: Applicazioni Office Windows Risposte: 4 |
Excel: problema con date se devo unirle a testi Autore: valle1975 |
Forum: Applicazioni Office Windows Risposte: 5 |
Visitano il forum: Nessuno e 5 ospiti