2022/03/26
Gg / 從GoogleBook、WorldCat、全國新書資訊網查詢ISBN 更新:全國新書資訊網 程式碼
Gg / 從GoogleBook、WorldCat、全國新書資訊網查詢ISBN
更新:全國新書資訊網
http://isbn.ncl.edu.tw/NEW_ISBNNet
後來再測試時,發現在原本的第2個重新導向跟第3個重新導向之間又多了一個重新導向
https://isbn.ncl.edu.tw/NEW_ISBNNet/main_DisplayResults.php?&Pact=DisplayAll4Simple
並且傳遞方式是用POST
所以修改了程式碼
// var options22={ 'menthod':'post', //"followRedirects" : true, //"muteHttpExceptions": true, 'headers':dataHeaders, 'payload':params }; //過了一陣子再測試時,發現多了這個轉址 var url22="https://isbn.ncl.edu.tw/NEW_ISBNNet/main_DisplayResults.php?&Pact=DisplayAll4Simple"; var hData22 = UrlFetchApp.fetch(url22,options22); var rCode22 = hData22.getResponseCode(); Logger.log(rCode22); var Headers22 = hData22.getAllHeaders(); Logger.log(Headers22);
2022/03/14
VBA / 使用Excel VBA將Word轉換成PDF 修改版4
延續前面
VBA / 使用Excel VBA將Word轉換成PDF
VBA / 使用Excel VBA將Word轉換成PDF 修改版
VBA / 使用Excel VBA將Word轉換成PDF 修改版2
VBA / 使用Excel VBA將Word轉換成PDF 修改版3
在原始的程式裡面,有一個自訂函數Function rinstr(),用來取得 \ 或 . 的位置
原理是用迴圈進行比對,如果比對相符就把數字記錄下來
也因此在跑完整個迴圈之後,就能夠記錄到符合字元之中的最後一個所在的位置
後來在其他教學網站中看到
VBA其實有內建函數─InStrRev 函數可以達成相同的功能
因此,在修改版4就改成用內建函數來取得分割字串所需的字元位置
參考資源
2022/03/01
VBA / 使用Excel VBA將Word轉換成PDF 修改版3
延續前面
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.DescriptionEnd If
備註:
一開始在寫比較式時腦袋有點趴帶,用Or來處理
但其實要用And,因為我是要兩者都成立
既非0,也非429時,在C欄寫入資料
0就是沒有錯誤
429是ActiveX 元件無法建立物件,但程式實際還是可以順利執行,而且只有在Ppt轉檔時才會有這個錯誤訊息
所以就假裝是沒有問題
目前程式看起來應該可以順利進行
不過我還是搞不懂Excel VBA引用其他Office應用程式的原理
網路查的資料跟手邊的書都是有看沒有懂