2014-10-07 56 views
0

我正在嘗試編寫一個插件,用於檢查用戶演示文稿是否符合一系列業務規則的總體一致性,這些業務規則很大程度上要在用戶可能正在處理的幻燈片的大量風格中定義。如果用戶應用了模板,這應該可以正常工作,但如果他們沒有,我不確定如何檢測它。是否可以檢測哪些模板已應用於PowerPoint演示文稿?

望着對象模型,既不Slide.CustomLayout也不Presentation.SlideMaster似乎目前提到主的原文件名中使用(該name財產都已經被應用之前和商務模板後是相同的)的屬性。

任何人都可以想出一個很好的方法來檢測模板是否正在使用(所以我可以向用戶標記他們可能想要做的第一件事就是使用一個),或者至少找到正在使用的模板是默認的一個...

編寫C#中的插件,但我懷疑這種事情會在或多或少任何辦公自動化語言一樣...

回答

0

假設有一個已知的形狀名稱或(更好)用模板的主幻燈片上的已知值標記。一旦應用了包含主幻燈片的模板,該形狀就會出現在演示文稿的主幻燈片上。

+0

這種方法很有效,但並不理想,因爲我無法控制模板,所以我無法確保這種形狀會出現。如果我找不到更準確的東西,這可能是我將要使用的方法。 – tobriand 2014-10-08 08:43:09

+0

我能想到的唯一選擇是在每個主設備的每個佈局上創建每種形狀的某種記錄,存儲您需要控制的每個功能的詳細信息,然後審查用戶的幻燈片和主設備中的主設備以對抗此「數據庫」。所有這些都會變得醜陋,脆弱,並且只要模板發生變化就需要大量返工。還有其他問題。我們不要去那裏。 ;-) – 2014-10-08 19:33:59

+0

是的,這是我的懷疑......我很可能需要採取類似這樣的隨機方法。也就是說,有一系列定義的測試來確定是否應用了模板(例如佈局和主名稱列表),然後在該基礎上標記,可能會在用戶選擇應用修補程序時更新預期的名稱列表,或者不。痛苦,但... – tobriand 2014-10-09 10:22:15

相關問題