Ripristinare tutte le funzioni predefinite di Excel.

Anonimo
2020-11-19T10:01:33+00:00

Buongiorno a tutti.

In questi giorni ho preparato un file di Excel contente macro e codice Vba.

Con l'aiuto del grande Norman, ho disabilitato ( con routine Vba) determinati tasti di scelta rapida e tasto dx del mouse.

Ora mi succede che tutti i file di Excel  nuovi ( che non c'entrano nulla con quello contenente macro e codice VBA) che apro riportano il tasto dx disabilitato, alcune voci di menu disabilitate, come da immagine sottoriportate ( per esempio, la voce righello non più attivabile) ecc.

Come posso ripristinare il tutto con le impostazioni predefinite di Excel?

Grazie per il vostro aiuto.

Ciao Nicola.

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

Risposta accettata dall'autore della domanda

Anonimo
2020-11-19T13:28:27+00:00

Ciao Nicola,

Te l'ho appena inviato sulla tua posta privata, il file su cui verificare quanto mi accade.

Ho ricevuto il tuo file e vedo che hai usato il seguente codice:

'-------->>

Private Sub Workbook_Open()

Dim ctrl

On Error Resume Next

MsgBox "Tuo messagio"

With Application

        .CellDragAndDrop = False

        .ExtendList = False

End With

    Application.CommandBars("Cell").Enabled = False

    Application.OnKey "^x", ""

    Application.OnKey "^c", ""

    Application.OnKey "^v", ""

    Application.OnKey "%+{F1}", ""

    For Each ctrl In Application.CommandBars.FindControls(ID:=19)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=21)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=22)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=65)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=51)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=212)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=295)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=138)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=230)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=231)

        ctrl.Enabled = False

    Next ctrl

     For Each ctrl In Application.CommandBars.FindControls(ID:=125)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=247)

        ctrl.Enabled = False

    Next ctrl

     For Each ctrl In Application.CommandBars.FindControls(ID:=126)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=296)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=294)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=293)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=297)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=748)

        ctrl.Enabled = False

    Next ctrl

     For Each ctrl In Application.CommandBars.FindControls(ID:=62)

        ctrl.Enabled = False

    Next ctrl

     For Each ctrl In Application.CommandBars.FindControls(ID:=63)

        ctrl.Enabled = False

    Next ctrl

     For Each ctrl In Application.CommandBars.FindControls(ID:=64)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=3181)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=3183)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=541)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=542)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=883)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=884)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=886)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=887)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=855)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=946)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=945)

        ctrl.Enabled = False

    Next ctrl

     For Each ctrl In Application.CommandBars.FindControls(ID:=1576)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=5858)

        ctrl.Enabled = False

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=237)

        ctrl.Enabled = False

    Next ctrl

End Sub

'<<========

Questo codice modifica alcune delle opzioni di Excels e disabilita varie opzioni della barra dei menu e alcune scorciatoie da tastiera. 

È quindi molto importante ripristinare questa funzionalità quando la cartella di lavoro viene chiusa e quando viene selezionata un'altra cartella di lavoro.

Suggerirei quindi di trasferire questo codice dalla routine Workbook_Open alla procedura Workbook_Activate. Inoltre dovresti aggiungere il seguente codice alla tua procedura Workbook_Deactivate:

'-------->>

Private Sub Workbook_Deactivate()

    'Application.CommandBars("Ply").Enabled = True

    With Application

            .CellDragAndDrop = True

            .ExtendList = True

    End With

    Application.CommandBars("Cell").Enabled = True

    Application.OnKey "^x"

    Application.OnKey "^c"

    Application.OnKey "^v"

    Application.OnKey "%+{F1}"

    For Each ctrl In Application.CommandBars.FindControls(ID:=19)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=21)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=22)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=65)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=51)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=212)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=295)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=138)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=230)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=231)

        ctrl.Enabled = True

    Next ctrl

     For Each ctrl In Application.CommandBars.FindControls(ID:=125)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=247)

        ctrl.Enabled = True

    Next ctrl

     For Each ctrl In Application.CommandBars.FindControls(ID:=126)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=296)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=294)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=293)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=297)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=748)

        ctrl.Enabled = True

    Next ctrl

     For Each ctrl In Application.CommandBars.FindControls(ID:=62)

        ctrl.Enabled = True

    Next ctrl

     For Each ctrl In Application.CommandBars.FindControls(ID:=63)

        ctrl.Enabled = True

    Next ctrl

     For Each ctrl In Application.CommandBars.FindControls(ID:=64)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=3181)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=3183)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=541)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=542)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=883)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=884)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=886)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=887)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=855)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=946)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=945)

        ctrl.Enabled = True

    Next ctrl

     For Each ctrl In Application.CommandBars.FindControls(ID:=1576)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=5858)

        ctrl.Enabled = True

    Next ctrl

    For Each ctrl In Application.CommandBars.FindControls(ID:=237)

        ctrl.Enabled = True

    Next ctrl

End Sub

'<<========

===

Regards,

Norman

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2020-11-19T16:46:01+00:00

    Ciao Nicola,

    Ho seguito il tuo consiglio e tutto funziona benissimo.

    Ti rinnovo il mio più sincero ringraziamento.

    Mi fa piacere che tu abbia risolto il problema e ti ringrazio per il cortese riscontro.

    Alla prossima.

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2020-11-19T13:42:58+00:00

    Ciao Norman.

    Ho seguito il tuo consiglio e tutto funziona benissimo.

    Ti rinnovo il mio più sincero ringraziamento.

    Ciao Nicola.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2020-11-19T12:14:09+00:00

    Ciao Norman, grazie.

    Te l'ho appena inviato sulla tua posta privata, il file su cui verificare quanto mi accade.

    Resto in attesa di un tuo cortese riscontro.

    Ciao Nicola.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2020-11-19T11:34:02+00:00

    Ciao Nicola,

    In questi giorni ho preparato un file di Excel contente macro e codice Vba.

    Con l'aiuto del grande Norman, ho disabilitato ( con routine Vba) determinati tasti di scelta rapida e tasto dx del mouse.

    Ora mi succede che tutti i file di Excel  nuovi ( che non c'entrano nulla con quello contenente macro e codice VBA) che apro riportano il tasto dx disabilitato, alcune voci di menu disabilitate, come da immagine sottoriportate ( per esempio, la voce righello non più attivabile) ecc.

    Come posso ripristinare il tutto con le impostazioni predefinite di Excel?

    Non sono in grado di replicare il comportamento che descrivi (:-

    Il mio codice (vedi sotto) non altera nessuna delle opzioni avanzate di Excel. In sintesi, il mio codice crea una nuova cartella di lavoro e aggiunge il seguente codice al modulo di codice This_Workbook:

    '========>>

    Option Explicit

    '-------->>

    Private Sub Workbook_Activate()

         Application.CommandBars("Ply").Enabled = False

         Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""RIBBON"", FALSE)"

    End Sub

    '-------->>

    Private Sub Workbook_Deactivate()

         Application.CommandBars("Ply").Enabled = True

         Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""RIBBON"", True)"

    End Sub

    '<<========

    La prima di queste due procedure nasconde la barra dei menu e disabilita il menu contestuale del foglio di lavoro. Queste azioni si verificano quando la cartella di lavoro pertinente viene aperta o selezionata.

    La seconda procedura ripristina la barra dei menu e riattiva il menu contestuale quando la cartella di lavoro viene chiusa o un'altra cartella di lavoro viene aperta o selezionata.

    Se una delle opzioni avanzate di Excel viene modificata, sospetto che altro codice sia incriminato. Forse potresti prendere in considerazione la possibilità di inviarmi privatamente la cartella di lavoro pertinente che comprende tutto il codice utilizzato

    Per completezza, il codice che ho suggerito era:

    '========>>

    Option Explicit

    '-------->>

    Public Sub Verifica_Finale()

        Dim FileExtStr As String

        Dim FileFormatNum As Long

        Dim SourceWB As Workbook

        Dim destWB As Workbook

        Dim TempFilePath As String

        Dim TempFileName As String

        Dim i As Long

        Dim oleObj As OLEObject

        Const sPassword As String = "abc"             '<<=== Modifica

        With Application

            .ScreenUpdating = False

            .EnableEvents = False

        End With

        Set SourceWB = ActiveWorkbook

        Sheets("Foglio1").Copy

        With ActiveSheet

            .Unprotect Password:=sPassword

            For Each oleObj In .OLEObjects

                If TypeName(oleObj.Object) = "CommandButton" Then

                    oleObj.Delete

                End If

            Next oleObj

            .UsedRange.Locked = True

            .Protect Password:=sPassword

        End With

        Set destWB = ActiveWorkbook

        TempFilePath = SourceWB.Path & ""

        TempFileName = Sheets("Foglio1").Range("D7").Value & "_" & Sheets("Foglio1").Range("T3").Value

        Call CreateEventProcedures

        With destWB

            Application.DisplayAlerts = False

            .SaveAs TempFilePath & TempFileName & FileExtStr, _

            FileFormat:=52

            Application.DisplayAlerts = True

            .Close SaveChanges:=False

        End With

        Call MsgBox(Prompt:="Il file chiamato: " & TempFileName & FileExtStr _

        & " è stato salvato nella Directory: " & SourceWB.Path, _

        Title:="REPORT", _

        Buttons:=vbCritical)

        With Application

            .ScreenUpdating = True

            .EnableEvents = True

        End With

        Call CommitSuicide

    End Sub

    '-------->>

    Public Sub CreateEventProcedures()

        Dim VBProj As VBIDE.VBProject

        Dim VBComp As VBIDE.VBComponent

        Dim CodeMod As VBIDE.CodeModule

        Dim LineNum As Long

        Set VBProj = ActiveWorkbook.VBProject

        Set VBComp = VBProj.VBComponents("ThisWorkbook")

        Set CodeMod = VBComp.CodeModule

        With CodeMod

            LineNum = .CreateEventProc("Activate", "Workbook")

            LineNum = LineNum + 1

            .InsertLines LineNum, "     Application.CommandBars(""Ply"").Enabled = False"

            .InsertLines LineNum + 1, "     Application.ExecuteExcel4Macro ""SHOW.TOOLBAR(""""RIBBON"""", FALSE)"

            LineNum = .CreateEventProc("DeActivate", "Workbook")

            LineNum = LineNum + 1

            .InsertLines LineNum, "     Application.CommandBars(""Ply"").Enabled = True"

            .InsertLines LineNum + 1, "     Application.ExecuteExcel4Macro ""SHOW.TOOLBAR(""""RIBBON"""", True)"

        End With

    End Sub

    '-------->>

    Public Sub CommitSuicide()

        With ThisWorkbook

            Application.DisplayAlerts = False

            If .Path <> vbNullString Then

                .ChangeFileAccess xlReadOnly

                Kill .FullName

            End If

            ThisWorkbook.Close SaveChanges:=False

        End With

    End Sub

    '<<========

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento