問題:
前幾天,LINE Meiko微課頻道 社群網友問到一個問題,如何在多個PDF檔案中,設定開啟密碼,且每個檔案的開啟密碼都不同(密碼不是隨機的,可自行設定想要的密碼)。
靈感:
這問題也困擾我很久... 一年多前(2024/4/25)就有嘗試多次使用 ChatGPT 研究過,但都以失敗收場。最後,放棄了。

2024/4/25 第一次設計 Excel VBA 來替 PDF 加密,失敗收場 ...
時至今日,群友的再次提問,想說再用 ChatGPT 來試看看好了,終於利用 Excel VBA + qpdf 設計成功 !!
特色:
- 利用 qpdf,並設計 Excel VBA 來達到高效的加密任務。
- 可從資料夾內一鍵匯入所有的PDF檔案。
- 可手動挑選多個PDF檔案來匯入。
- 可設定【使用者密碼】即【開啟密碼】,也可設定擁有更高權限的【擁有者密碼】。
PS:【使用者密碼】和【擁有者密碼】通常會設定成不一樣。 - 每一次的加密程式執行,都會在PDF檔案所屬的資料夾內,自動建立一個【新的資料夾】,程式會在此新資料夾內產生加密後的PDF檔案,確保原始PDF檔案不受影響。
- 可以自由選擇是否要在加密的PDF檔名後方加上【_Locked】字樣。
- 加密程式執行後,出現的訊息框會顯示統計結果,按下【確定】按鈕會自動跳出所建立的【新的資料夾】,方便查看。
操作步驟:
- 到 Jay Berkenbilt's qpdf GitHub Website下載 qpdf 軟體。
如果是64位元的電腦,請下載【qpdf-12.2.0-msvc64.zip】。

如果是64位元的電腦,請下載目前最新版的【qpdf-12.2.0-msvc64.zip】
- 為了配合 Excel VBA 程式,請在 C槽 下建立一個 Tools 資料夾,其裡面再建一個 qpdf 資料夾,並將【qpdf-12.2.0-msvc64.zip】解壓縮後,將4個資料夾(bin、include、lib、share)複製到 qpdf 資料夾內,即完成佈署。

C:\Tools\qpdf\ 下的4個資料夾(bin、include、lib、share)
- 之後開啟【PDF_Add_PW_20250525.xlsm】即可進行PDF加密操作。

PDF_Add_PW_20250525.xlsm - PDF加密操作畫面
檔案下載 (免費下載)
彩蛋
Carpe Diem(把握當下)
參考文獻
注意事項:
此 Excel VBA 程式是使用 qpdf 的 AES-256 演算法參數來執行加密,加密完全是靠 qpdf 軟體來完成,不保証密碼 100% 不會被破解。
本程式僅做 qpdf 的PDF加密過程的一個【操作介面】而已,僅做為技術與學術教學使用。
所產生的加密PDF檔案,如有任何被暴力破解而導致商業以及任何損失,本人不負任何相關責任,特此聲明,請知悉 !
以上就是這次的分享,請持續關注 我 和 Meiko微課頻道,謝謝大家 ~
有任何問題,請到【opa的沙龍】的【Excel VBA 情境學習】一起討論有關 VBA 的問題,或加入 LINE社群 Meiko微課小綠群(粉絲交流群),歡迎您的加入。