A Dokumentumfelügyelő rejtett neveket talált a munkafüzetben. Ezek a nevek rejtett információkat tárolnak a Solver eseteiről. Amikor például a Solver bővítmény használatával futtat egy esetet, a bővítmény a számítási paraméterekről és más bizalmas adatokról információkat tárolhat a munkafüzetben, rejtett nevek formájában.
Fontos: A Microsoft csak illusztrációs céllal kínál programozási példákat, kifejezett vagy vélelmezett garancia nélkül. Ez magában foglalja, de nem kizárólagosan a forgalmazhatóságra vagy az adott célra való alkalmasságra vonatkozó vélelmezett garanciát. Ez a cikk feltételezi, hogy ismeri a bemutatott programozási nyelvet, valamint az eljárások létrehozásához és hibakereséséhez használt eszközöket. A Microsoft támogatási szakemberei segíthetnek elmagyarázni egy adott eljárás funkcióit, de nem módosítják ezeket a példákat, hogy további funkciókat biztosítsanak, és nem hozhatnak létre eljárásokat az Adott követelményeknek megfelelően.
Probléma
A dokumentumfelügyelő nem tudja eltávolítani ezeket a rejtett neveket.
Javasolt megoldás
A rejtett nevek eltávolításához futtassa az alábbi makrót. A makró egy üzenetpanelt jelenít meg, amely három elemet sorol fel: (1) látható vagy rejtett a definiált név, (2) a definiált név, és (3) mire hivatkozik ez a név (a munkafüzet cellahivatkozása). A törléshez vagy az egyes definiált nevek megtartásához választhatja az Igen vagy a Nem lehetőséget.
Megjegyzés: Ha egy makrót használ a rejtett nevek eltávolításához, akkor előfordulhat, hogy a bővítmények (például a Solver) vagy a makrók nem a várt módon működnek, és elveszhetnek a velük társított rejtett adatok. Ez a makró minden olyan definiált névre hatással van, amely rejtett, nemcsak azokra, amelyek a Solverrel lettek felvéve.
Figyelmeztetés: Ha a munkalapnevek szóközöket tartalmaznak, hibaüzenet jelenhet meg a definiált név törlésekor.
Rejtett nevek eltávolítása
' 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