Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Chiusura a tempo dei file.xls non attivi

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Re: Chiusura a tempo dei file.xls non attivi

Postdi clipeus2000 » 16/02/13 13:57

beh Anthony io ci provo.. son curioso di conoscere e scoprire cose nuove.. e infatti se non ci fosse stato questo bisogno non mi sarei nemmeno avvicinato al vba e a questo forum.. capisco di essere scocciante e pesante e che questo e' 1 forum di livello alto..

grazie dell'aiuto ci provo e ti faccio sapere!!
clipeus2000
Utente Junior
 
Post: 14
Iscritto il: 13/02/13 22:00

Sponsor
 

Re: Chiusura a tempo dei file.xls non attivi

Postdi Anthony47 » 16/02/13 15:05

Purtroppo devi creare tu quel meccanismo, perche' poi gli utenti chiameranno te quando hanno bisogno di chiarimenti; e solo se lo hai creato tu allora lo padroneggi... potrei dire che ti costringo a cavartela da solo per il tuo bene :D , ma non lo faccio :D :D

Comunque siamo qua.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Chiusura a tempo dei file.xls non attivi

Postdi clipeus2000 » 16/02/13 15:21

l'avevo compreso.... tranquillo.. purtroppo e' proprio quello che devo fare..

grazie ancora!!
clipeus2000
Utente Junior
 
Post: 14
Iscritto il: 13/02/13 22:00

Re: Chiusura a tempo dei file.xls non attivi

Postdi matzap » 08/06/16 11:58

ciao a tutti,
ho provato a utilizzare la ciusura automatica inserendo in this_workbook il codice
Codice: Seleziona tutto
Private Sub Workbook_Activate()
Application.Run ("autorizzazioni")
Flag1 = True
end sub

e poi
Codice: Seleziona tutto
Private Sub Workbook_Deactivate()


UserForm2.Hide
Flag1 = False
DeltaT = "00:02:00"
Application.OnTime Now + TimeValue(DeltaT), "Chiudi"
End Sub

la macro funzione ma il problema è che ho anche una macro che si attiva prima della chiusura
Codice: Seleziona tutto
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim WS_Count As Integer
Dim I As Integer
Dim foglio As Integer
Application.ScreenUpdating = False
WS_Count = ActiveWorkbook.Worksheets.Count
foglio = ActiveSheet.Index
For I = 1 To WS_Count
If I <= 13 Then
ActiveWorkbook.Worksheets(I).Select
  ActiveWorkbook.Worksheets(I).Unprotect "password"
  Range("A2").Select
  Selection.Value = ""
ThisWorkbook.Worksheets(I).Protect "password", DrawingObjects:=True, contents:=True, Scenarios:= _
        True, AllowFormattingCells:=False, AllowFormattingColumns:=True, _
        AllowFormattingRows:=True

Else
ActiveWorkbook.Worksheets(I).Protect "password", DrawingObjects:=True, contents:=True, Scenarios:= _
        True, AllowFormattingCells:=False, AllowFormattingColumns:=True, _
        AllowFormattingRows:=True
End If
Next I
Worksheets(foglio).Select
Application.ScreenUpdating = False
End Sub

quiesta macro va in errore probabilmente fa riferimento a activeworkbook ma il file non è attivo.
come posso fare?
Ciao
excel 2010
matzap
Utente Senior
 
Post: 227
Iscritto il: 16/04/13 08:27

Re: Chiusura a tempo dei file.xls non attivi

Postdi Anthony47 » 08/06/16 19:02

Nella tua Workbook_BeforeClose un po' fai riferimento a ThisWorkbook, un po' a ActiveWorkbook.
Il primo e' superfluo (per definizione tutto cio' che e' incluso nel modulo This_Workbook fa riferimento al file in cui la macro e' contenuta, come fa la proprieta' ThisWorkbook), il secondo e' equivoco (perche' se chiudi a mano allora e' evidente che il workbook attivo e' quello in cui stai lavorando; se chiudi da una macro allora non sai chi e' attivo e quindi non sai quali operazioni puoi eseguire e quali no.
Cio' detto, prova con questa versione:
Codice: Seleziona tutto
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim WS_Count As Integer
Dim I As Integer
'Dim foglio As Integer
Application.ScreenUpdating = False
WS_Count = Worksheets.Count
foglio = ActiveSheet.Index
For I = 1 To WS_Count
If I <= 13 Then
'ActiveWorkbook.Worksheets(I).Select
    Worksheets(I).Unprotect "password"
    Worksheets(I).Range("A2").ClearContents
    Worksheets(I).Protect "password", DrawingObjects:=True, contents:=True, Scenarios:= _
      True, AllowFormattingCells:=False, AllowFormattingColumns:=True, _
      AllowFormattingRows:=True
Else
    Worksheets(I).Protect "password", DrawingObjects:=True, contents:=True, Scenarios:= _
      True, AllowFormattingCells:=False, AllowFormattingColumns:=True, _
      AllowFormattingRows:=True
End If
Next I
'Worksheets(foglio).Select
Application.ScreenUpdating = False
End Sub

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Chiusura a tempo dei file.xls non attivi

Postdi matzap » 13/06/16 16:43

ok grazie Anthony, ci provo. ora ho un problema più grave ma apro un altro post!!
Ciao
excel 2010
matzap
Utente Senior
 
Post: 227
Iscritto il: 16/04/13 08:27

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "Chiusura a tempo dei file.xls non attivi":


Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti