Set password file PDF hàng loạt bằng VBA

Liên hệ QC

bossh

Thành viên mới
Tham gia
4/11/07
Bài viết
31
Được thích
13
Chào các bạn,

Hiện tại mình đang nghiên cứu việc set password file PDF hàng loạt bằng VBA, mục đích làm phiếu lương. Mình có tham khảo một số cách trên google nhưng vẫn chưa tìm được code phù hợp. Không biết bạn nào đã nghiên cứu vấn đề này thì chia sẽ giúp mình nhá. Cám ơn nhiều.

Ref: https://answers.microsoft.com/en-us...a/e3b0be70-d7a5-421b-888f-980d35386c40?auth=1
Bài đã được tự động gộp:

Ah quên nói về yêu cầu của mình. Nó khá đơn giản:
1. Các file PDF được chứa trong 1 folder chỉ định
2. Code có nhiệm vụ truy xuất lần lượt các file PDF để setpassword theo thông tin tại một trường thông tin được ghi tại một Sheet.
Chỉ vậy thôi :)
 
Chào các bạn,

Hiện tại mình đang nghiên cứu việc set password file PDF hàng loạt bằng VBA, mục đích làm phiếu lương. Mình có tham khảo một số cách trên google nhưng vẫn chưa tìm được code phù hợp. Không biết bạn nào đã nghiên cứu vấn đề này thì chia sẽ giúp mình nhá. Cám ơn nhiều.

Ref: https://answers.microsoft.com/en-us...a/e3b0be70-d7a5-421b-888f-980d35386c40?auth=1
Bài đã được tự động gộp:

Ah quên nói về yêu cầu của mình. Nó khá đơn giản:
1. Các file PDF được chứa trong 1 folder chỉ định
2. Code có nhiệm vụ truy xuất lần lượt các file PDF để setpassword theo thông tin tại một trường thông tin được ghi tại một Sheet.
Chỉ vậy thôi :)
Đã pdf mà còn muốn đặt mật khẩu, để làm chi vậy bạn?
 
Upvote 0
Chào các bạn,

Hiện tại mình đang nghiên cứu việc set password file PDF hàng loạt bằng VBA, mục đích làm phiếu lương. Mình có tham khảo một số cách trên google nhưng vẫn chưa tìm được code phù hợp. Không biết bạn nào đã nghiên cứu vấn đề này thì chia sẽ giúp mình nhá. Cám ơn nhiều.

Ref: https://answers.microsoft.com/en-us...a/e3b0be70-d7a5-421b-888f-980d35386c40?auth=1
Bài đã được tự động gộp:

Ah quên nói về yêu cầu của mình. Nó khá đơn giản:
1. Các file PDF được chứa trong 1 folder chỉ định
2. Code có nhiệm vụ truy xuất lần lượt các file PDF để setpassword theo thông tin tại một trường thông tin được ghi tại một Sheet.
Chỉ vậy thôi :)
Xem ở chủ đề này có cái bạn cần.
 
Upvote 0
Xem ở chủ đề này có cái bạn cần.

Cám ơn bạn, mình có đọc chủ đề này rồi nhưng lúc đó mình nghĩ là nó chưa phù hợp với mình. Tuy nhiên, do bạn note lại mình đã tìm cách tích hợp một số nội dung trong đó và có một file hoàn chỉnh. Hiện file của minh đang trong giai đoạn test, khi test thành công mình sẽ upload lên để các bạn tham khảo.

p/s: Code của mình có phần ngắn và dễ hiểu hơn, hy vọng sẽ giúp các bạn tiếp cận nhanh.
 
Upvote 0
Cám ơn bạn, mình có đọc chủ đề này rồi nhưng lúc đó mình nghĩ là nó chưa phù hợp với mình. Tuy nhiên, do bạn note lại mình đã tìm cách tích hợp một số nội dung trong đó và có một file hoàn chỉnh. Hiện file của minh đang trong giai đoạn test, khi test thành công mình sẽ upload lên để các bạn tham khảo.

p/s: Code của mình có phần ngắn và dễ hiểu hơn, hy vọng sẽ giúp các bạn tiếp cận nhanh.

Nhá hàng trước nhé :)
 

File đính kèm

  • Payslip.png
    Payslip.png
    336.6 KB · Đọc: 174
Upvote 1
Nhờ các AC sửa code giúp em để xuất file PDF ra có password ở 1 cột trong sheet ạ.Em cảm ơn nhiều !
 

File đính kèm

  • 1648603368228.png
    1648603368228.png
    12.5 KB · Đọc: 59
Upvote 0
Bạn đăng một nội dung ở nhiều nơi như vậy là vi phạm Nội quy diễn đàn.
Dạ em xin lỗi ạ. em xin gỡ 1 bên đi ạ
Bài đã được tự động gộp:

Nhờ các AC sửa code giúp em để xuất file PDF ra có password ở 1 cột trong sheet ạ.Em cảm ơn nhiều !
Có AC nào có thể giúp em đc không ạ. Em có thể donate chút tiền công ạ
 
Upvote 0
Không biết ai đã có code tạo mật khẩu phiếu lương pdf hàng loạt chưa ạ?===\.
 
Upvote 0
Không biết ai đã có code tạo mật khẩu phiếu lương pdf hàng loạt chưa ạ?===\.

Đây nhé bạn .

 
Upvote 0
Không biết ai đã có code tạo mật khẩu phiếu lương pdf hàng loạt chưa ạ?
Bạn có vài lựa chọn.
Hoặc bạn tự học viết code trong các ngôn ngữ khác. Hoặc bạn dùng code của người khác viết. Tất nhiên bạn phải đính kèm thư viện, tập tin EXE của người ta vì code không tự nhiên làm việc, nó phải chạy trên một nền tảng nào đó. Tất nhiên bạn phải phụ thuộc vào người ta. Có thể phải trả phí, phải đăng ký. Nếu miễn phí và không phải đăng ký thì ít ra là phải tin tưởng là code của người ta không làm gì "bí mật" sau lưng ta.
Có một cách không phải cài gì, chỉ cần thay đổi yêu cầu. Thực ra bạn chỉ cần gửi PDF cho người ta và sao cho chỉ người ta mở được. Vậy thì đâu nhất thiết PDF phải có mật khẩu? Có thể nén PDF với mật khẩu thì cũng chỉ người nhận mới mở được vì chỉ họ mới biết mật khẩu. Nói là không phải cài gì cũng không đúng, nhưng vd. 7-zip thì dù bạn chưa làm gì với PDF thì bạn đã cài 7-zip từ đời nào rồi, nên bây giờ không phải cài gì thêm. Và cả thế giới dùng 7-zip nên tôi tin tưởng nó hơn là sản phẩm của ông A nào đó.

Nếu bạn vẫn muốn tạo PDF với mật khẩu thì bạn hãy dừng ở đây.

Nếu bạn muốn chạy code để tạo hàng loạt ZIP với mật khẩu từ PDF thì:

1. Nếu chưa cài thì tải 7-zip về và cài đặt.

2. code như sau, chạy sub test
Mã:
Sub PasswordToPdf(ByVal pdfFullName As String, ByVal strPassword As String)
Const str7ZipPath = "C:\Program Files\7-Zip\7z.exe"
Dim strDestFileName As String, strCmd As String
    strDestFileName = Replace(pdfFullName, ".pdf", ".zip")
    strCmd = str7ZipPath & " -p" & strPassword & " a -tzip """ & strDestFileName & """ """ & pdfFullName & """"   
    Shell strCmd
End Sub

Sub test()
    PasswordToPdf ThisWorkbook.Path & "\hichic.pdf", "ngaymaiemdi"
End Sub

Ở máy tôi sau khi cài thì đường dẫn là "C:\Program Files\7-Zip\7z.exe". Nếu cần thì sửa lại ở hằng số str7ZipPath. Nếu có nhiều tập tin PDF với nhiều mật khẩu thì trong sub test gọi code chính trong vòng lặp.
 
Upvote 0
Thời giờ người ta dùng điện thoại là chủ yếu, và chẳng ai phải sắm thêm cái máy tính chỉ để đọc pdf cả.
Làm gì cũng cần am hiểu thực tế ngoài kia như thế nào. Việc tập tin pdf đặt mật khẩu là để nâng cao mức bảo mật, ví dụ một số ngân hàng họ gửi các bản tin pdf cho khách hàng với mật khẩu dài hơn chục ký tự ấy.
 
Upvote 0
Đây nhé bạn .

Dạ, em cám ơn anh nhiều ạ.
 
Upvote 0
Đây nhé bạn .

Anh ơi, emm có làm từng bước nhưng bị lỗi Run time error '429' ạ
1651818870245.png
 
Upvote 0
Xem ở chủ đề này có cái bạn cần.
không biết lúc giaiphap gởi email người ta có phản hồi nhanh hay không? chứ tui gởi email này "exlab247@gmail.com" mà gởi mấy ngày rồi vẫn chưa thấy phản hồi. hic hic
 
Upvote 0
Web KT
Back
Top Bottom