延續前面
VBA / 使用Excel VBA將Word轉換成PDF
VBA / 使用Excel VBA將Word轉換成PDF 修改版
VBA / 使用Excel VBA將Word轉換成PDF 修改版2
之前在使用的時候,曾經遇到開啟的檔案因為崁入電腦沒有的特殊字型,會詢問是否用唯讀的方式,這樣會中斷程式執行
所以我直接改成用唯讀的方式來開啟,只是不知道這樣有沒有用
Set ppPres = ppApp.Presentations.Open(Filename:=Fullpath & Filename, ReadOnly:=True, WithWindow:=msoFalse)
經過測試之後,這種方式是沒有用的
所以爬了谷狗之後
改用 On Error Resume Next 忽略錯誤讓程式繼續執行
但是這樣就只能看實際輸出的資料才知道那些沒有轉檔成功
因此,在程式中用Err.Number來回傳是否有錯誤發生
如果有的話,就在C欄寫出錯誤的代碼跟描述
If Err.Number <> 0 And Err.Number <> 429 Then Sheet1.Cells(i, 3) = Err.Number & "/" & Err.Description End If
備註:
一開始在寫比較式時腦袋有點趴帶,用Or來處理
但其實要用And,因為我是要兩者都成立
既非0,也非429時,在C欄寫入資料
0就是沒有錯誤
429是ActiveX 元件無法建立物件,但程式實際還是可以順利執行,而且只有在Ppt轉檔時才會有這個錯誤訊息
所以就假裝是沒有問題
目前程式看起來應該可以順利進行
不過我還是搞不懂Excel VBA引用其他Office應用程式的原理
網路查的資料跟手邊的書都是有看沒有懂