C# 是否可以检测应用于PowerPoint演示文稿的模板?

C# 是否可以检测应用于PowerPoint演示文稿的模板?,c#,vsto,powerpoint,C#,Vsto,Powerpoint,我正在尝试编写一个插件,用于检查用户演示文稿与一系列业务规则的总体一致性,我希望这些规则主要是在用户可能正在处理的一些主样式幻灯片中定义的。如果用户应用了模板,这应该可以正常工作,但是如果他们没有,我不确定如何检测它 查看对象模型,Slide.CustomLayout和Presentation.SlideMaster似乎都没有提及当前正在使用的主控文件的原始文件名的属性。name属性在应用业务模板之前和之后都是相同的 有没有人能想出一个好方法来检测模板是否正在使用,这样我就可以向用户标记他们可能

我正在尝试编写一个插件,用于检查用户演示文稿与一系列业务规则的总体一致性,我希望这些规则主要是在用户可能正在处理的一些主样式幻灯片中定义的。如果用户应用了模板,这应该可以正常工作,但是如果他们没有,我不确定如何检测它

查看对象模型,Slide.CustomLayout和Presentation.SlideMaster似乎都没有提及当前正在使用的主控文件的原始文件名的属性。name属性在应用业务模板之前和之后都是相同的

有没有人能想出一个好方法来检测模板是否正在使用,这样我就可以向用户标记他们可能想做的第一件事就是使用一个模板,或者至少找到正在使用的模板是否是默认模板


用C编写外接程序,但我怀疑这种事情在任何办公自动化语言中或多或少都是一样的…

假设模板的主幻灯片上有一个已知名称的形状,或者更好地用已知值标记。一旦应用了包含主幻灯片的模板,该形状就会出现在演示文稿的主幻灯片上。

这是可行的,但并不理想,因为我无法控制模板,所以我不能真正保证这样的形状会出现。如果我找不到更精确的方法,我可能会采用这种方法。我能想到的唯一替代方法是在每个主控形状的每个布局上建立某种形式的记录,存储需要控制的每个功能的详细信息,然后根据此数据库检查用户幻灯片中的主控形状和主控形状。所有这些都是丑陋的、脆弱的,并且需要在模板更改时进行大量返工。还有其他问题。我们不要去那里-是的,这是我的怀疑。。。我很可能需要采取类似于此的随机方法。也就是说,有一系列定义的测试,证明模板是否已应用,例如布局和主控名称列表,然后在此基础上进行标记,一旦用户选择应用修复或不应用修复,可能会更新预期的名称列表。虽然很痛苦。。。