找到隐藏名称

文档检查器在工作簿中找到隐藏的名称。 这些名称可以存储有关规划求解方案的隐藏信息。 例如,在使用规划求解加载项运行方案时,它可能会将有关计算参数和其他敏感数据的信息存储在工作簿中的隐藏名称。

重要: Microsoft 提供的编程示例仅用于说明,没有任何明示或默示的保证。 这包括但不限于对适销性或特定用途适用性的默示担保。 本文假定你熟悉所演示的编程语言,以及用于创建和调试过程的工具。 Microsoft 支持工程师可帮助解释特定过程的功能,但不会修改这些示例以提供额外的功能或构建过程来满足你的特定要求。

问题

文档检查器无法为你删除这些隐藏的名称。

推荐解决方案

运行以下宏以删除隐藏名称。 该宏将显示一个消息框,其中列出三个项目:(1)定义的名称是可见还是隐藏,(2)定义的名称,以及(3)该名称引用的内容(工作簿单元格引用)。 你可以选择"是" 或 "" 以删除或保留每个已定义的名称。

注意: 如果使用此宏删除隐藏名称,加载项(如规划求解)或宏可能无法按预期工作,并且可能会丢失与它们相关联的隐藏数据。 此宏还会影响隐藏的任何已定义名称,而不仅仅是由规划求解添加的名称。

警告: 如果工作表名称中包含空格,则当您尝试删除已定义名称时可能会收到错误。

删除隐藏名称

' 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

注意:  本页面是自动翻译的,可能包含语法错误或不准确之处。 我们的目的是使此内容能对你有所帮助。 能否告知我们此信息是否有所帮助? 下面是该参考内容的英文版

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×