[VBA + qpdf] 如何在多個PDF檔案設定不同的開啟密碼

更新於 發佈於 閱讀時間約 4 分鐘

問題:

前幾天,LINE Meiko微課頻道 社群網友問到一個問題,如何在多個PDF檔案中,設定開啟密碼,且每個檔案的開啟密碼都不同(密碼不是隨機的,可自行設定想要的密碼)

靈感:

這問題也困擾我很久... 一年多前(2024/4/25)就有嘗試多次使用 ChatGPT 研究過,但都以失敗收場。最後,放棄了。

2024/4/25 第一次設計 Excel VBA 來替 PDF 加密,失敗收場 ...

2024/4/25 第一次設計 Excel VBA 來替 PDF 加密,失敗收場 ...


時至今日,群友的再次提問,想說再用 ChatGPT 來試看看好了,終於利用 Excel VBA + qpdf 設計成功 !!


特色:

  1. 利用 qpdf,並設計 Excel VBA 來達到高效的加密任務。
  2. 可從資料夾內一鍵匯入所有的PDF檔案。
  3. 可手動挑選多個PDF檔案來匯入。
  4. 可設定【使用者密碼】即【開啟密碼】,也可設定擁有更高權限的【擁有者密碼】。
    PS:【使用者密碼】和【擁有者密碼】通常會設定成不一樣。
  5. 每一次的加密程式執行,都會在PDF檔案所屬的資料夾內,自動建立一個【新的資料夾】,程式會在此新資料夾內產生加密後的PDF檔案,確保原始PDF檔案不受影響。
  6. 可以自由選擇是否要在加密的PDF檔名後方加上【_Locked】字樣。
  7. 加密程式執行後,出現的訊息框會顯示統計結果,按下【確定】按鈕會自動跳出所建立的【新的資料夾】,方便查看。


操作步驟:

  1. Jay Berkenbilt's qpdf GitHub Website下載 qpdf 軟體。
    如果是64位元的電腦,請下載【qpdf-12.2.0-msvc64.zip】
如果是64位元的電腦,請下載目前最新版的【qpdf-12.2.0-msvc64.zip】

如果是64位元的電腦,請下載目前最新版的【qpdf-12.2.0-msvc64.zip】


  1. 為了配合 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)

C:\Tools\qpdf\ 下的4個資料夾(bin、include、lib、share)


  1. 之後開啟【PDF_Add_PW_20250525.xlsm】即可進行PDF加密操作。
PDF_Add_PW_20250525.xlsm - PDF加密操作畫面

PDF_Add_PW_20250525.xlsm - PDF加密操作畫面


檔案下載 (免費下載)


彩蛋

Carpe Diem(把握當下)


參考文獻

  1. qpdf - GitHub
  2. ChatGPT o3 - PDF 密碼解釋


注意事項:

此 Excel VBA 程式是使用 qpdf 的 AES-256 演算法參數來執行加密,加密完全是靠 qpdf 軟體來完成,不保証密碼 100% 不會被破解。
本程式僅做 qpdf 的PDF加密過程的一個【操作介面】而已,僅做為技術與學術教學使用。
所產生的加密PDF檔案,如有任何被暴力破解而導致商業以及任何損失,本人不負任何相關責任,特此聲明,請知悉 !



以上就是這次的分享,請持續關注  和 Meiko微課頻道,謝謝大家 ~



有任何問題,請到【opa的沙龍】【Excel VBA 情境學習】一起討論有關 VBA 的問題,或加入 LINE社群 Meiko微課小綠群(粉絲交流群),歡迎您的加入。


留言
avatar-img
留言分享你的想法!
avatar-img
Meiko微課頻道的沙龍
148會員
48內容數
Meiko微課頻道主要以辦公室應用為出發點,針對上班族群所遇到的問題進行分享
2025/04/06
本篇文章分享如何使用 Excel VBA 程式碼去除 Excel 儲存格裡文字或英文句子前後的空白,提供【基礎版】和【進階版】兩種 VBA 程式碼範例,並比較其功能差異。進階版程式碼可以保留句子中間的空白,只去除句子頭尾的空白。文章也包含程式碼下載連結以及相關參考資源。
Thumbnail
2025/04/06
本篇文章分享如何使用 Excel VBA 程式碼去除 Excel 儲存格裡文字或英文句子前後的空白,提供【基礎版】和【進階版】兩種 VBA 程式碼範例,並比較其功能差異。進階版程式碼可以保留句子中間的空白,只去除句子頭尾的空白。文章也包含程式碼下載連結以及相關參考資源。
Thumbnail
2025/01/08
本篇文章提供一個利用 Excel VBA 和 Google Map API,自動計算起迄地址里程數的解決方案。分享開發過程的心路歷程,以及如何克服使用Google Map API的挑戰,並感謝 Meiko老師 的教學 和 ChatGPT o1 pro 的協助,並提供檔案免費下載。
Thumbnail
2025/01/08
本篇文章提供一個利用 Excel VBA 和 Google Map API,自動計算起迄地址里程數的解決方案。分享開發過程的心路歷程,以及如何克服使用Google Map API的挑戰,並感謝 Meiko老師 的教學 和 ChatGPT o1 pro 的協助,並提供檔案免費下載。
Thumbnail
2024/11/29
在 Excel VBA 中,使用 ActiveSheet.ShowAllData 方法顯示篩選過的數據時,可能會遇到錯誤。如果當前沒有篩選條件而直接調用此方法,將導致執行錯誤。本文介紹檢查篩選狀態,來安全地使用 ShowAllData。還探討了使用 On Error Resume Next 的風險。
Thumbnail
2024/11/29
在 Excel VBA 中,使用 ActiveSheet.ShowAllData 方法顯示篩選過的數據時,可能會遇到錯誤。如果當前沒有篩選條件而直接調用此方法,將導致執行錯誤。本文介紹檢查篩選狀態,來安全地使用 ShowAllData。還探討了使用 On Error Resume Next 的風險。
Thumbnail
看更多
你可能也想看
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
Thumbnail
本文介紹瞭如何使用BAT腳本和CMD指令來自動執行檔案和空目錄的刪除作業。通過設定各種參數和指令,可以快速、有效地執行定期刪除作業,節省硬體空間並提升工作效率。
Thumbnail
本文介紹瞭如何使用BAT腳本和CMD指令來自動執行檔案和空目錄的刪除作業。通過設定各種參數和指令,可以快速、有效地執行定期刪除作業,節省硬體空間並提升工作效率。
Thumbnail
在前一篇我們已經成功地建立簽核表單及簽核節點並關聯回請假表單,而本篇會接著介紹如何管理簽核節點狀態並同步更新簽核表單狀態。
Thumbnail
在前一篇我們已經成功地建立簽核表單及簽核節點並關聯回請假表單,而本篇會接著介紹如何管理簽核節點狀態並同步更新簽核表單狀態。
Thumbnail
本文詳細介紹Windows cmd指令的應用,並提供了例說明及追加說明,用戶可以學習如何使用cmd指令對檔案進行處理、選取所需的內容,以及擴展運用到其他類型的檔案,最後還介紹了cmd設計完成後的應用和自動化執行方式。
Thumbnail
本文詳細介紹Windows cmd指令的應用,並提供了例說明及追加說明,用戶可以學習如何使用cmd指令對檔案進行處理、選取所需的內容,以及擴展運用到其他類型的檔案,最後還介紹了cmd設計完成後的應用和自動化執行方式。
Thumbnail
Visual Basic for Applications(VBA)是一種功能強大的程式語言,廣泛用於自動化 Microsoft Office 應用程式中的重複性任務。在這篇教學文章中,我們將介紹如何使用 VBA 來新增、刪除和移動檔案。
Thumbnail
Visual Basic for Applications(VBA)是一種功能強大的程式語言,廣泛用於自動化 Microsoft Office 應用程式中的重複性任務。在這篇教學文章中,我們將介紹如何使用 VBA 來新增、刪除和移動檔案。
Thumbnail
工具功能 (1) 彈性任意查詢檔案,如對來源目錄設定,檔案修改日期 設定,檔名特定字串或副檔名設定後,自動查出明細,並可展開至各階子目錄處理     (2) 依查詢後結果,可產出 LIST ,提供查詢結果之確認,再依此對檔案作複 (3) 可對檔案作移動,複製至別處,刪除處理,使電腦可騰出硬碟空間
Thumbnail
工具功能 (1) 彈性任意查詢檔案,如對來源目錄設定,檔案修改日期 設定,檔名特定字串或副檔名設定後,自動查出明細,並可展開至各階子目錄處理     (2) 依查詢後結果,可產出 LIST ,提供查詢結果之確認,再依此對檔案作複 (3) 可對檔案作移動,複製至別處,刪除處理,使電腦可騰出硬碟空間
Thumbnail
Anytype設定與查看小技巧 : 如何設定中文界面、如何再次查看助記詞、如何在手機上登錄Anytype
Thumbnail
Anytype設定與查看小技巧 : 如何設定中文界面、如何再次查看助記詞、如何在手機上登錄Anytype
Thumbnail
INI 檔案是一種配置檔案格式,常用於保存設定資料和組態資訊。 它使用簡單的鍵值對結構來組織資料,通常用於程式、應用程式或操作系統中的配置和初始化設定。 INI 檔案每個鍵值對包含一個名稱(鍵)和對應的值。 基本的檔案格式如下: [Section1] Key1 = Value1 Key2 =
Thumbnail
INI 檔案是一種配置檔案格式,常用於保存設定資料和組態資訊。 它使用簡單的鍵值對結構來組織資料,通常用於程式、應用程式或操作系統中的配置和初始化設定。 INI 檔案每個鍵值對包含一個名稱(鍵)和對應的值。 基本的檔案格式如下: [Section1] Key1 = Value1 Key2 =
Thumbnail
本文提供完成訂閱後的相關事項及安裝指引,包括填寫問卷、遠端開通Trading View帳號、指標安裝步驟等。另外也提供影片教學和紙本教學,以及解決安裝問題的方法。
Thumbnail
本文提供完成訂閱後的相關事項及安裝指引,包括填寫問卷、遠端開通Trading View帳號、指標安裝步驟等。另外也提供影片教學和紙本教學,以及解決安裝問題的方法。
Thumbnail
 程式開發,功能 :               本程式執行後,自動寄出email,寄出的內容可依照讀取的參數檔內容而決定
Thumbnail
 程式開發,功能 :               本程式執行後,自動寄出email,寄出的內容可依照讀取的參數檔內容而決定
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News