Nadzornik dokumentov je našel skrita imena v vašem delovnem zvezku. V teh imenih so lahko shranjene skrite informacije o scenarijih Reševalca. Ko na primer uporabite dodatek Reševalec za zagon scenarija, lahko shrani informacije o parametrih za izračun in druge občutljive podatke kot skrita imena v delovnem zvezku.
Pomembno: Microsoft ponuja primere programiranja le za ilustracije, brez garancije, izražene ali naznačene. To vključuje, vendar ni omejeno na naznačena jamstva glede primernosti za prodajo ali telesno pripravljenost za določen namen. V tem članku je predvidevamo, da poznate programski jezik, ki je prikazan, in orodja, ki se uporabljajo za ustvarjanje in odpravljanje napak v postopkih. Microsoftovi inženirji za podporo lahko razložijo funkcionalnost določenega postopka, ne bodo pa spremenili teh primerov, da bi zagotovili dodatne funkcionalnosti ali sestavi postopkov za izpolnjevanje vaših posebnih zahtev.
Težava
Nadzornik dokumentov ne more odstraniti teh skritih imen namesto vas.
Priporočena rešitev
Zaženite ta makro, da odstranite skrita imena. Makro prikaže okno s sporočilom, v katerem so trije elementi: (1), ali je določeno ime vidno ali skrito, (2) določeno ime in (3) na kaj se to ime nanaša (sklic na celico v delovnem zvezku). Izberete lahko Da ali Ne, če želite izbrisati ali obdržati vsako določeno ime.
Opomba: Če uporabljate ta makro za odstranjevanje skritih imen, dodatki (kot so Reševalec) ali makri morda ne bodo delovali po pričakovanjih in lahko izgubijo skrite podatke, povezane z njimi. Ta makro vpliva tudi na katero koli določeno ime, ki je skrito, ne samo na tista, ki jih je dodal Reševalec.
Pozor: Če imena listov vsebujejo presledke, lahko prejmete napako, ko poskušate izbrisati določeno ime.
Odstranjevanje skritih imen
' 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