2014-02-17 81 views
0

我正在嘗試創建一個PowerPoint幻燈片的免費非可編輯版本,演示如何使用VBA製作非常動態的幻燈片。幻燈片是一個互動的秒錶並沒有在這裏它的視頻:如何爲受密碼保護的只讀PowerPoint文件提供VBA訪問?

http://i-present.co.uk/free-stuff/free-powerpoint-stopwatch/

VBA來修改基於Windows API計時器幻燈片各種形狀。

在免費版本中,我想要VBA功能運行,但設置演示文稿,以便無法編輯幻燈片對象。

這是我到目前爲止已經試過:

1 - 對文件的PPSM版本設置一個修改密碼。 問題:當演示文稿以只讀模式打開時,VBA無法修改幻燈片上的對象的屬性。

2 - 使用VBA保存臨時寫入版本的文件。 問題:一旦演示文稿以只讀方式打開,它似乎不可能使用VBA提供密碼,然後另存爲可修改的文件。

3 - 創建一個單獨的ppsm文件,其上有一個單一的形狀,用一個Action來運行一個宏來打開密碼保護的秒錶套件。 問題:VBA代碼打開一個密碼保護的演示文稿(因爲PowerPoint 2010中可用的)導致的PowerPoint 2013年崩潰:

Dim oPVW As ProtectedViewWindow 
Dim oPres As Presentation 
Set oPVW = ProtectedViewWindows.Open(FileName, ReadPassword) 
Set oPres = PVW.Edit(ModifyPassword) 

4 - 嵌入式另一個演示文稿中的秒錶PPSM文件作爲幻燈片對象,以便用戶可以點擊它但不保存並編輯它。 問題:從嵌入對象產生幻燈片放映導致VBA代碼無法運行。

Doe任何人有任何想法如何解決需求?

回答

1

好你好,Mr.ChromeBumpers

一種方法:

讓他們編輯的形狀,以他們的心臟的內容。但是警告他們,如果他們這樣做,你的代碼將會拒絕運行。

您的代碼可以測試您喜歡的形狀屬性的任意組合:高度,寬度,頂部,左側,顏色,文本等。並且即使其中一個屬性已經從您提供的形狀改變了,也拒絕運行。

+0

鉻先生又回來了:-)偉大的想法史蒂夫,這就是確切的方法,我參加了平行於觀望,如果任何人有任何其他的想法(怪異的是,受保護視圖那種在2010年的作品,但總是應聲2013 !)。 –

+0

這一趨勢似乎是「固體版本,BugFarm,固體版本,BugFarm」。可惜那些正在進行其他版本升級週期並且在2002年,2007年,2013年登陸的人。 –

+0

就是這樣。這就是我完成這個微型宏觀項目!免費下載現在可以從這裏獲得,並展示了Windows API定時器功能以及Steve所描述的內容控制機制。 http://i-present.co.uk/free-stuff/free-powerpoint-stopwatch/ –

0

這是Excel中的代碼,用於打開受密碼保護的PowerPoint文件。 用您的實際密碼替換密碼。這已經在2010年,2016年和365辦公室工作。

Dim PPTObj As Object 
Set PPTObj = CreateObject("PowerPoint.application") 
PPTObj.Presentations.Open ("C:\PowerPoint\PW_prot_file.pptm:password::") 
相關問題