Ms word Word 2007模式库存储在哪里?

Ms word Word 2007模式库存储在哪里?,ms-word,word-2007,xsd,Ms Word,Word 2007,Xsd,Word 2007允许将XML模式附加到文档(在开发人员工具栏| XML组|模式按钮下)。此架构库信息存储在哪里 我使用基于模式的自定义XML标记创建了文档,但当我将文档和模式传递给其他人时,该模式被标记为不可用,可能是因为模式的文件位置不同 是否有方法编辑此信息以更改到给定架构的路径?它不与docx一起存储,只存储到它的路径。因此,传递文档几乎总是会破坏链接。VSTO可以通过将XSD作为资源嵌入到应用程序中来解决这个问题 但对于VBA来说,这更为棘手——您需要有一个可以依赖于每个用户的计算机的

Word 2007允许将XML模式附加到文档(在开发人员工具栏| XML组|模式按钮下)。此架构库信息存储在哪里

我使用基于模式的自定义XML标记创建了文档,但当我将文档和模式传递给其他人时,该模式被标记为不可用,可能是因为模式的文件位置不同


是否有方法编辑此信息以更改到给定架构的路径?

它不与docx一起存储,只存储到它的路径。因此,传递文档几乎总是会破坏链接。VSTO可以通过将XSD作为资源嵌入到应用程序中来解决这个问题

但对于VBA来说,这更为棘手——您需要有一个可以依赖于每个用户的计算机的路径,然后在那里部署XSD。一种方法是同步
文档_Open
(或者只使用
自动打开
)事件,这样当用户打开文档时(警告:需要使用宏安全性),您就可以简单地“写入”在代码隐藏中硬编码为字符串的XSD,然后将其写入文件,然后使用如下例程附加该文件:

Dim objSchema As XMLNamespace
Set objSchema = Application.XMLNamespaces.Add("c:\something\mynewlycreated.xsd")
objSchema.AttachToDocument ActiveDocument

因此,在不留下工件的情况下,您可以在
Document\u Close
AutoClose

上从用户计算机中删除该XSD。下面的答案是否回答了您的问题?不完全正确。我想知道的是,关于模式的信息存储在哪里(例如,在某个配置文件的某处或注册表中或任何地方),然后找到它,如果它是以我可以编辑的形式。到目前为止,我还没有看到这一点(要在注释中标记某人以便他们得到通知,请输入“@”和他们的用户名,如
@Otaku
)。我想我不理解您在这里的需要-如下所述,只是模式的路径存储在docx和应用程序中。它不储存在其他地方。因此,如果您想要更改路径,您将在应用程序中更改它。例如,根据下面的代码,
Debug.Print objSchema.Location
将向您显示路径,您也可以设置位置,但如果您在不同的计算机上,则必须首先附加架构。