Funkcija "Nadzor dokumenta" je pronašla skrivena imena u radnoj svesci. Ova imena mogu da skladište skrivene informacije o scenarijima programskog dodatka "Rešavač". Na primer, kada koristite programski dodatak "Rešavač " za pokretanje scenarija, on može da skladišti informacije o parametrima izračunavanja i drugim osetljivim podacima kao skrivena imena u radnoj svesci.
Važno: Microsoft pruža primere za programiranje samo za ilustraciju, bez izražene ili podrazumevane garancije. To uključuje, ali nije ograničeno na, podrazumevane garancije za podstiču na raspoređenu robu ili podnožje za određenu svrhu. Ovaj članak pretpostavlja da ste upoznati sa programiranim jezikom koji se prikazuje i sa alatkama koje se koriste za kreiranje i otklanjanje grešaka u procedurama. Inženjeri Microsoft podrške mogu da objasne funkcionalnost određene procedure, ali neće izmeniti ove primere da bi obezbedili dodatnu funkcionalnost ili konstruktivne procedure kako bi ispunili vaše određene zahteve.
Problem
Nadzor dokumenta ne može da ukloni ova skrivena imena za vas.
Preporučeno rešenje
Pokrenite sledeći makro da biste uklonili skrivena imena. Makro prikazuje okvir poruke koji navodi tri stavke: (1) da li je definisano ime vidljivo ili skriveno, (2) definisano ime i (3) na šta to ime upućuje (referenca ćelije radne sveske). Možete da odaberete Da ili Ne da biste izbrisali ili zadržali svako definisano ime.
Napomena: Ako koristite ovaj makro za uklanjanje skrivenih imena, programskih dodataka (kao što je Solver) ili makroi možda neće raditi na očekivani način i možda će izgubiti skrivene podatke povezane sa njima. Ovaj makro takođe utiče na svako definisano ime koje je skriveno, a ne samo na ona koja je dodao Rešavač.
Oprez: Ako imena listova sadrže razmake, možete dobiti grešku kada pokušate da izbrišete definisano ime.
Ukloni skrivena imena
' 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