Инспекторът на документи намери скрити имена във вашата работна книга. Тези имена могат да съхраняват скрита информация за сценариите на Solver. Например когато използвате добавката Solver, за да изпълните сценарий, тя може да съхранява информация за параметрите за изчисление и други поверителни данни като скрити имена във вашата работна книга.

Важно: Microsoft предоставя примери за програмиране само за илюстрация, без гаранция, изразена или подразбирана. Това включва, но не се ограничава до подразбите гаранции за продаваемост или годност за определена цел. Тази статия предполага, че сте запознати с езика за програмиране, който се демонстрира, и с инструментите, които се използват за създаване и за отстраняване на грешки. Инженерите по поддръжката на Microsoft могат да ви помогнат да обясните функционалността на определена процедура, но те няма да променят тези примери, за да предоставят допълнителна функционалност или да изграждат процедури, за да отговорят на вашите конкретни изисквания.

Проблем

Инспекторът на документи не може да премахне тези скрити имена за вас.

Препоръчително решение

Изпълнете следния макрос, за да премахнете скритите имена. Макросът показва поле за съобщение, което съдържа три елемента: (1) независимо дали дефинираното име е видимо, или скрито, (2) дефинираното име и (3) какво препраща това име (препратка към клетка на работната книга). Можете да изберете Да илиНе, за да изтриете или да запазите всяко дефинирано име.

Забележка: Ако използвате този макрос, за да премахнете скрити имена, добавки (например Solver) или макроси, може да не работят според очакванията и може да загубят скритите данни, свързани с тях. Този макрос засяга и всяко дефинирано име, което е скрито, не само тези, които са добавени от Solver.

Внимание: Ако имената на листовете съдържат интервали, може да получите грешка, когато се опитате да изтриете дефинираното име.

Премахване на скрити имена

' 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

Нуждаете се от още помощ?

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към Microsoft приобщени

Беше ли полезна тази информация?

Доколко сте доволни от качеството на превода?
Какво е повлияло на вашия потребителски опит?

Благодарим ви за обратната връзка!

×