Applies ToExcel pro Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016 Excel 2013

Kontrola metadat našla v sešitu skryté názvy. V těchto názvech se můžou ukládat skryté informace o scénářích Řešitele. Pokud například ke spuštění scénáře použijete doplněk Řešitel , může do sešitu ukládat informace o parametrech výpočtu a dalších citlivých datech jako skryté názvy.

Důležité informace: Microsoft poskytuje programovací příklady pouze pro ilustraci, bez výslovné nebo předpokládané záruky. To zahrnuje mimo jiné předpokládané záruky prodejnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že jste obeznámeni s programovacím jazykem, který je demonstrován, a s nástroji, které se používají k vytváření a ladění procedur. Technici podpory Microsoftu vám můžou pomoct vysvětlit funkčnost konkrétní procedury, ale tyto příklady nebudou upravovat tak, aby poskytovaly přidané funkce nebo sestavují postupy tak, aby splňovaly vaše konkrétní požadavky.

Problém

Kontrola metadat nemůže tyto skryté názvy odebrat za vás.

Doporučené řešení

Spuštěním následujícího makra odeberte skryté názvy. Makro zobrazí pole se zprávou se seznamem tří položek: (1) jestli je definovaný název viditelný nebo skrytý, (2) definovaný název a (3) čeho se tento název týká (odkaz na buňku sešitu). Pokud chcete odstranit nebo zachovat každý definovaný název, můžete zvolit Ano nebo Ne .

Poznámka: Pokud toto makro použijete k odebrání skrytých názvů, doplňky (například Řešitel) nebo makra nemusí fungovat podle očekávání a můžou ztratit přidružená skrytá data. Toto makro má také vliv na všechny definované názvy, které jsou skryté, nejen ty, které přidal Řešitel.

Upozornění: Pokud názvy listů obsahují mezery, může se při pokusu o odstranění definovaného názvu zobrazit chyba.

Odebrat skryté názvy

' 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

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.