Vba 为什么PowerPoint在使用";时会重置/清除CustomDocumentProperties;“设计理念”;Office 365的功能?

Vba 为什么PowerPoint在使用";时会重置/清除CustomDocumentProperties;“设计理念”;Office 365的功能?,vba,vsto,powerpoint,office-addins,Vba,Vsto,Powerpoint,Office Addins,我们开发了一个PowerPoint VSTO插件。为了同时处理多个演示文稿,我们为每个演示文稿使用唯一的GUID,并将其存储在CustomDocumentProperties中 在Office 365中,Microsoft在PowerPoint中引入了一项新功能,名为“设计理念”。(这是“设计”选项卡上的最后一项)当我们使用此加载项时,有趣的是,存储在演示文稿中的CustomDocuementProperties将被删除 使用以下VBA代码很容易复制。首先,运行AddCustomPropert

我们开发了一个PowerPoint VSTO插件。为了同时处理多个演示文稿,我们为每个演示文稿使用唯一的GUID,并将其存储在CustomDocumentProperties中

在Office 365中,Microsoft在PowerPoint中引入了一项新功能,名为“设计理念”。(这是“设计”选项卡上的最后一项)当我们使用此加载项时,有趣的是,存储在演示文稿中的CustomDocuementProperties将被删除

使用以下VBA代码很容易复制。首先,运行AddCustomProperty方法并用GetCustomProperty验证它,然后在幻灯片上使用设计思想。在此之后,当调用GetCustomProperty时,将引发异常

Public Sub AddCustomProperty()
    On Error Resume Next
    ActivePresentation.CustomDocumentProperties("PresentationID").Value = "bb999da6f94c4692b31106994636d962"
    If Err.Number > 0 Then
        ActivePresentation.CustomDocumentProperties.Add _
            Name:="PresentationID", _
            LinkToContent:=False, _
            Type:=MsoDocProperties.msoPropertyTypeString, _
            Value:="bb999da6f94c4692b31106994636d962"
    End If
End Sub

Sub GetCustomProperty()
    MsgBox ActivePresentation.CustomDocumentProperties("PresentationID")
End Sub
我发现一个解决方案是使用表示标签而不是CustomDocumentProperties,但是当前的代码库严重依赖于后者,这就是为什么我正在寻找其他可能更简单的替代方法


另外,我们是否可以用我们的外接程序禁用此功能?

这似乎是一个bug,而且似乎已经修复;当我运行你的代码,然后添加图片,接受设计师的建议并再次运行GetCustomProperty时,我在当前的Insider构建中没有收到任何错误。任何人都在猜测该修复程序何时会到达365的所有副本,尽管它可能会在数月内(如果不是数周的话)到达。我现在是在2020年1月,有着完全相同的问题。你好,小姐?!它在PowerPoint 2008版(Build 13127.20408)中仍然没有修复