variables是否可以存储在Excel文件中,不能通过Excel访问

我刚刚发现,在MS Word中,可以将一个variables存储在MS Word文件中,在运行Microsoft Word时无法通过常规界面进行访问。

Sub SetMyVariable() Dim VARNAME As String VARNAME = "HiddenVar" ActiveDocument.Variables.Add VARNAME, "My special info" End Sub 

这将保存在word\settings.xml下的XML Schema word\settings.xml

我曾尝试在Excel中使用ThisWorkbook对象,但它似乎没有一个可以添加像字一样的Variable对象。

我想知道在Excel中是否有类似的东西来存储与文件一起保存的信息/variables。

PS:我能想到的最接近的东西(在编码中使用)是一个隐藏的命名范围。

您可以尝试使用WorkbookCustomXMLParts属性,该属性来自链接,似乎是Office产品的一个通用function,可在Excel中使用。 鉴于您注意到用户将不得不手动检查解压缩的xlsx文件中的XML,那么这似乎映射到Word Variablesfunction。 代码示例只是将ThisWorkbookreplace为ActiveDocument

 Option Explicit Sub TextXMLPart() Dim objXMLPart As CustomXMLPart 'add Set objXMLPart = ThisWorkbook.CustomXMLParts.Add("<foo>bar</foo>") 'inspect For Each objXMLPart In ThisWorkbook.CustomXMLParts Debug.Print objXMLPart.XML Next objXMLPart End Sub 

这个问题的接受答案(重点是Excel和vsto )指出:

自定义XML部分对于应用程序级别的添加,这是我首选的存储任何应用程序数据的方法,这些应用程序数据需要保存在保存的xls文件中,而不会被用户看到。