找到隐藏名称

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

重要: 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 预览体验计划

此信息是否有帮助?

×