VBA / Excel VBA將檔案另存成PDF再使用自訂python程式加密PDF 番外

番外1-封裝執行檔被偵測有木馬程式

VBA / Excel VBA將檔案另存成PDF再使用自訂python程式加密PDF 系列文章

都是用pyinstaller將程式碼封裝成執行檔

不過在執行檔產生之後不久,Microsoft Defender 會顯示偵測到木馬程式

在網路上爬文之後,發現這其實是很普遍發生的情況

有的說是因為用到os操作檔案資料

因此建議改用pathlib來替代

但是這個方式會在封裝的過程就會被中止

不曉得是Microsoft Defender 還是 pyinstaller中止

有的說程式碼加密就可以避免被掃毒程式判定為木馬程式

但是我覺得很麻煩,只是繞過偵測,而且也不是都有效果

有的說換其他封裝套件,但是測試之後,沒有一個好用的

後來想說是不是因為在pyinstaller設定了-w ,不出現命令行的關係

於是嘗試將程式碼重新封裝之後,確實就沒有偵測到木馬程式了

如果要隱藏執行過程,可以將Wscript的視窗參數設為0

(Wscript因為版本不同,視窗參數的數量也不同,不過最後的版本應該有0-10共11種)

番外2-在VBA執行python檔案

如果電腦有安裝python,並且設定環境參數

也就是在cmd或者powershell可以執行python檔案

其實也就可以在VBA直接執行python檔案

換言之,就是在VBA執行cmd或powershell的命令列

例如: python “D:\Google 雲端硬碟\莊生的箱子\網站_程式練習\python練習\創建PDF\0426_42.py” “D:\Google 雲端硬碟\莊生的箱子\網站_程式練習\python練習\創建PDF\output\臺北市.pdf” “123456”

這邊要留意:python檔案要用完整檔案路徑,參數跟參數之間用空格隔開

這樣其實也不用封裝成執行檔了