Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Macro per chiuedere un file di sola lettura

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

Macro per chiuedere un file di sola lettura

Postdi christianghz » 26/09/16 12:53

Ciao a tutti,
vi chiedo aiuto per il seguente problema.

sullo stesso PC ho lo stesso file aperto 2 volte: la prima volta normalmente, la seconda volta in Modalità [sola lettura];
È possibile con una macro far chiudere ad excel solo il file aperto in Modalità [sola lettura]?

Ho trovato questo codice sul sito Microsfot che determina se il file è in sola lettura, ma non so come sviluppare il comando.

Codice: Seleziona tutto
Sub Example2()

    ' Check to see if the active workbook was
    ' opened as read-only within Microsoft Excel.

    If ActiveWorkbook.ReadOnly Then
        MsgBox "File was opened as read-only"
    Else
        MsgBox "File was not opened as read-only"
    End If

End Sub



grazie
christianghz
Utente Junior
 
Post: 72
Iscritto il: 03/02/14 17:58

Sponsor
 

Re: Macro per chiuedere un file di sola lettura

Postdi alfrimpa » 26/09/16 17:24

Ciao Christian

Potresti provare così:

Codice: Seleziona tutto
If ActiveWorkbook.ReadOnly Then
        MsgBox "File was opened as read-only"
        ActiveWorkbook.Close
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Macro per chiuedere un file di sola lettura

Postdi christianghz » 26/09/16 17:35

Grazie Alfrimpa,
Il comando ho bisogno di lanciarlo da un terzo file, che non c'entra niente con i primi due.
Spiego tutto:
Ho il file "A.xls" con delle macro aperto.
Dal mio gestionale genero un file B.xls che però -non si sa perché- non vede le macro del file "A" già aperto.
Quindi ho messo un pulsante su Excel che richiama una macro del file A.xls.
Excel quindi riapre il file A.xls in modalità [sola lettura], e avvia la macro sul file B.xls.
Ho bisogno che la macro, terminate le operazioni sul file B.xls chiuda il solo file A.xls aperto in modalità sola lettura.
christianghz
Utente Junior
 
Post: 72
Iscritto il: 03/02/14 17:58

Re: Macro per chiuedere un file di sola lettura

Postdi Anthony47 » 26/09/16 22:17

Dal mio gestionale genero un file B.xls che però -non si sa perché- non vede le macro del file "A" già aperto
Lo dovresti ricordare il perche', visto che ne abbiamo parlato piu' volte: tu hai due sessioni Excel aperte, che non sono intercomunicanti.

Ora questo semplifica la risposta al tuo quesito, perche' in una stessa sessione Excel non puoi aprire due volte lo stesso file; questo significa che la tua macro ha accesso a un unico file A.xls.
Puoi quindi tranquillamante usare
Codice: Seleziona tutto
Workbooks("A.xls").Close False

Se vuoi essere piu' tranquillo:
Codice: Seleziona tutto
If Workbooks("A.xls").ReadOnly Then
    Workbooks("A.xls").Close False
End If


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: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro per chiuedere un file di sola lettura

Postdi christianghz » 27/09/16 09:10

Grazie Anthony,
Ho inserito il tuo codice e funziona, grazie mille.


Lo dovresti ricordare il perche'

certo lo ricordo bene, non abbiamo ancora capito come mai il gestionale non controlla se ci sono istanze aperte.
Infatti abbiamo ancora il problema di non poter riportare nel file A.xls i dati che inseriamo nel file B.xls successivamente aperto, perché quest'ultimo non vede la prima istanza appunto.
Continuiamo a chiudere e riaprire manualmente il file A.xls
christianghz
Utente Junior
 
Post: 72
Iscritto il: 03/02/14 17:58


Torna a Applicazioni Office Windows


Topic correlati a "Macro per chiuedere un file di sola lettura":


Chi c’è in linea

Visitano il forum: Nessuno e 15 ospiti