Condividi tramite

Chiudere un file aperto in sola lettura IMPEDENDO il salvataggio del file

Anonimo
2017-02-16T15:50:34+00:00

Ciao a tutti,

Ho bisogno che persone che aprono un file, che già si apre in sola lettura, non possano salvarlo in nessun modo. 

o provato con un semplice.... 

Private Sub Workbook_BeforeClose(Cancel As Boolean)

ThisWorkbook.Close savechanges:=False

End Sub

e poi......  

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ActiveWorkbook.ReadOnly Then

ActiveWorkbook.Close SAVECHANGES:=False

End If

End Sub

in entrambi i casi il file si chiude ma si blocca l'applicazione Excel andando  in crash obbligandomi a riaprire ex novo Excel 

Mi sapete dire  ?

Ciao & grazie

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

12 risposte

Ordina per: Più utili
  1. Anonimo
    2017-02-17T00:10:13+00:00

    Ciao Max,

    Ho scaricato il tuo file ma il problema resta lo stesso    .....    Microsoft Excel ha smesso di funzionare :(

    Precisamente, se il file è l'unico aperto in Excel con la tua routine il file si chiude ed Excel resta aperto vuoto e funzionante,   ma se per caso hai un qualsiasi file aperto, fosse anche solo una cartella vuota il sistema va in crash

    Prova a verificare

    Forse tu non mi conosci molto bene, ma io non avrei postato il mio suggerimento se non l'avessi provato e se io non fossi sicuro che funzionasse.

    Detto  questo, avendo appena aperto il mio file di prova, ho provato di salvarlo, sia con lo stesso nome che con un nuovo nome. Ho inoltre provato semplicemente di chiudere il file, senza salvarlo, In ognuna istanza, il codice ha agito nel modo previsto e non ho potuto salvare in file. 

    Aggiungerei che non ho riscontrato nessun 'crash', e non l'avrei aspettato!

    Dato la tua esperienza diametricamente diversa, ti chiederei gentilmente di caricare il tuo file problematico, dopo averlo depurato dei dati sensibili, su un servizio di condivisione di file, per esempio Microsoft OneDrive o DropBox, e di postare un link al file in una risposta qui.

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2017-02-16T23:48:38+00:00

    Ciao Norman,

    Ho scaricato il tuo file ma il problema resta lo stesso    .....    Microsoft Excel ha smesso di funzionare :(

    Precisamente, se il file è l'unico aperto in Excel con la tua routine il file si chiude ed Excel resta aperto vuoto e funzionante,   ma se per caso hai un qualsiasi file aperto, fosse anche solo una cartella vuota il sistema va in crash

    Prova a verificare

    Ciao & grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2017-02-16T23:28:44+00:00

    Ciao Max,

    niente da fare avviene la stessa cosa, il sistema va in crash ed Excel si chiude, grazie comunque.

    Altre idee ?

    Il codice suggerito funziona per me, senza alcun problema!

    A parte del fatto che credo che ci siano dei problemi intrinseci con il codice indicato da te, se - sfruttando anche il mio codice - il tuo sistema dovesse anche andare 'in crash' vorrei suggerire  che il  tuo file possa essere corrotto.

    Ad ogni modo, prova con il mio file che potresti scaricare a: 

    https://www.dropbox.com/s/v6j853p64jnswpi/Max20170216.xlsm?dl=0

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2017-02-16T22:50:42+00:00

    Ciao Norman,

    niente da fare avviene la stessa cosa, il sistema va in crash ed Excel si chiude, grazie comunque.

    Altre idee ?

    ciao & grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2017-02-16T17:19:36+00:00

    Ciao Max,

    Ciao a tutti,

    Ho bisogno che persone che aprono un file, che già si apre in sola lettura, non possano salvarlo in nessun modo. 

    o provato con un semplice.... 

    Private Sub Workbook_BeforeClose(Cancel As Boolean)

    ThisWorkbook.Close savechanges:=False

    End Sub

    e poi......  

    Private Sub Workbook_BeforeClose(Cancel As Boolean)

    If ActiveWorkbook.ReadOnly Then

    ActiveWorkbook.Close SAVECHANGES:=False

    End If

    End Sub

    in entrambi i casi il file si chiude ma si blocca l'applicazione Excel andando  in crash obbligandomi a riaprire ex novo Excel 

    Mi sapete dire  ?

    Ciao & grazie

    Prova qualcosa del genere:

    '=========>>

    Option Explicit

    '--------->>

    Private Sub Workbook_BeforeClose(Cancel As Boolean)

        If Me.ReadOnly Then

            Cancel = True

            Cancel = False

            Me.Close SaveChanges:=False

        End If

    End Sub

    '--------->>

    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

        If Me.ReadOnly Then

            Cancel = True

            Call MsgBox( _

                 Prompt:="Questo file  non pùo essere salvato!", _

                 Buttons:=vbInformation, _

                 Title:="IMPORTANTE!")

        End If

    End Sub

    '<<=========

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento