Controllo documento ha rilevato nomi nascosti nella cartella di lavoro. Questi nomi possono archiviare informazioni nascoste sugli scenari Risolutore. Ad esempio, quando si usa il componente aggiuntivo Risolutore per l'esecuzione di uno scenario, questo può archiviare le informazioni sui parametri di calcolo e altri dati sensibili come i nomi nascosti nella cartella di lavoro.
Importante: Microsoft fornisce esempi di programmazione solo per le illustrazioni, senza garanzia espressa o implicita. Ciò include, ma non solo, le garanzie implicite di commerciabilità o idoneità per uno scopo specifico. In questo articolo si presuppone che si abbia familiarità con il linguaggio di programmazione che viene dimostrato e con gli strumenti usati per creare e eseguire il debug delle procedure. Gli ingegneri del supporto tecnico Microsoft possono aiutare a spiegare la funzionalità di una determinata procedura, ma non modificano questi esempi per fornire funzionalità aggiuntive o creare procedure per soddisfare i requisiti specifici.
Problema
Controllo documento non può rimuovere automaticamente questi nomi nascosti.
Soluzione consigliata
Eseguire la macro seguente per rimuovere i nomi nascosti. Nella macro viene visualizzata una finestra di messaggio in cui sono elencati tre elementi: (1) se il nome definito è visibile o nascosto, (2) il nome definito e (3) il nome a cui si riferisce (il riferimento di cella della cartella di lavoro). È possibile scegliere Sì o No per eliminare o conservare ogni nome definito.
Nota: Se si usa questa macro per rimuovere i nomi nascosti, le macro o i componenti aggiuntivi come Risolutore potrebbero non funzionare come previsto e i dati nascosti associati potrebbero andare perduti. Questa macro influisce anche sui nomi definiti nascosti, non solo su quelli aggiunti da Risolutore.
Attenzione: Se i nomi dei fogli contengono spazi, è possibile che venga visualizzato un messaggio di errore quando si tenta di eliminare il nome definito.
Rimuovere i nomi nascosti
' Module to remove all hidden names on active workbook
Sub Remove_Hidden_Names()
' Dimension variables.
Dim xName As Variant
Dim Result As Variant
Dim Vis As Variant
' Loop once for each name in the workbook.
For Each xName In ActiveWorkbook.Names
'If a name is not visible (it is hidden)...
If xName.Visible = True Then
Vis = "Visible"
Else
Vis = "Hidden"
End If
' ...ask whether or not to delete the name.
Result = MsgBox(prompt:="Delete " & Vis & " Name " & _
Chr(10) & xName.Name & "?" & Chr(10) & _
"Which refers to: " & Chr(10) & xName.RefersTo, _
Buttons:=vbYesNo)
' If the result is true, then delete the name.
If Result = vbYes Then xName.Delete
' Loop to the next name.
Next xName
End Sub