Dokumentu kontrolieris atrada paslēptus nosaukumus jūsu darbgrāmatā. Šie nosaukumi var saglabāt slēptu informāciju par risinātāja scenārijiem. Piemēram, ja izmantojat pievienojumprogrammu Risinātājs, lai palaistu scenāriju, tā var saglabāt informāciju par aprēķina parametriem un citiem sensitīviem datiem kā slēptus nosaukumus jūsu darbgrāmatā.
Svarīgi!: Microsoft nodrošina programmēšanas piemērus tikai ilustrācijai, bet nekādas garantijas nav izteiktas vai netiešas. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. Šajā rakstā tiek pieņemts, ka pārzināt programmēšanas valodu, kas tiek demonstrēta, un rīkus, kas tiek izmantoti, lai izveidotu un atkļūdošanas procedūras. Microsoft atbalsta inženieri var palīdzēt izskaidrot konkrētas procedūras funkcionalitāti, bet tie nemodificēs šos piemērus, lai nodrošinātu papildu funkcionalitāti vai uzbūves procedūras, kas atbilst jūsu konkrētajām vajadzībām.
Problēma
Dokumentu kontrolieris nevar noņemt šos slēptos nosaukumus.
Ieteicamais risinājums
Lai noņemtu slēptos nosaukumus, palaidiet tālāk norādīto makro. Makro parāda ziņojuma lodziņu, kurā ir uzskaitīti trīs vienumi: (1) neatkarīgi no tā, vai definētais nosaukums ir redzams vai paslēpts, (2) definētais nosaukums un (3) uz ko attiecas šis nosaukums (darbgrāmatas šūnas atsauce). Varat izvēlēties Jā vai Nē,lai izdzēstu vai paturētu katru definēto nosaukumu.
Piezīme.: Ja izmantojat šo makro, lai noņemtu slēptus nosaukumus, pievienojumprogrammas (piemēram, Risinātājs) vai makro var nedarboties, kā paredzēts, un var zaudēt ar tiem saistītos slēptos datus. Šis makro ietekmē arī jebkuru definēto nosaukumu, kas ir paslēpts, ne tikai tos, kurus pievienojis risinātājs.
Brīdinājums.: Ja lapu nosaukumos ir atstarpes, mēģinot izdzēst definēto nosaukumu, var tikt parādīta kļūda.
Paslēpto vārdu noņemšana
' 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