Tự động đặt pass hoặc xóa cho nhiều file words
Em chào các anh chị,
Em có 1 folder chưa nhiều folder và các folder chứa nhiều file word khác nhau,
1. E muốn xóa Pass cho toàn bộ file word (các file word này em đều đặt chung một pass hoặc không có pass)
2. Em muốn đổi pass cho toàn bộ file word trên
Mong các anh chị giúp đỡ em. Em cám ơn ạ.
Bạn có thể sử dụng VBA trong Microsoft Word để thực hiện yêu cầu của bạn. Đây là một đoạn mã VBA có thể giúp bạn xóa mật khẩu hoặc thay đổi mật khẩu cho tất cả các tệp Word trong một thư mục:
Sub RemoveOrChangePassword()
Dim FileName As String
Dim FilePath As String
Dim Pass As String
' Thay đổi đường dẫn đến thư mục chứa các tệp Word của bạn
FilePath = "C:YourFilePath"
' Thay đổi mật khẩu (nếu cần)
Pass = "newpassword"
FileName = Dir(FilePath & "*.docx")
Do While FileName <> ""
Dim doc As Document
Set doc = Documents.Open(FileName:=FilePath & "" & FileName, Password:="oldpassword")
' Xóa mật khẩu (nếu cần)
If Pass = "" Then
doc.RemovePassword
Else
doc.ChangePassword Pass
End If
doc.Save
doc.Close
FileName = Dir()
Loop
End Sub
Lưu ý: Chỗ "oldpassword" trong mã trên phải được thay bằng mật khẩu hiện tại của các tệp Word, và chỗ "newpassword" phải được thay bằng mật khẩu mới mà bạn muốn đặt cho tất cả các tệp.
(nguồn từ GPT)
không được đâu bác ạ
em thử toán báo lỗi như ảnh3040
Thông báo lỗi "Không tìm thấy đối số được đặt tên" gợi ý rằng mã đang cố sử dụng một đối số được đặt tên (ví dụ: "FileName:=") theo cách không được hỗ trợ bởi hàm được gọi (trong trường hợp này là Documents.Open).
Một giải pháp khả thi là loại bỏ cú pháp đối số đã đặt tên và chỉ chuyển (các) đối số được yêu cầu theo đúng thứ tự, như sau:
Set doc = Documents.Open(FilePath & "" & FileName, Password:="oldpassword")
code của GPT này không dùng được bác ạ toàn báo lỗi như trên 🙂
Code trong Excel vẫn được. Dù sao dùng Excel điều khiển vẫn tiện hơn.
Bác hướng dẫn em với ạ
Em vẫn chưa làm được ạ
Các lệnh doc.RemovePassword và doc.ChangePassword Pass ở bài #2 không chạy được rồi. Tôi đã tìm được lệnh thay thế cho doc.ChangePassword Pass nhưng không biết lệnh nào để xóa (Remove) password. Tôi GG hoài nhưng hổng xài thành công. Có ai biết không nhỉ?
Bác tham khảo bài viết này xem ạ. Em cũng đang đọc ạ
www.giaiphapexcel.com/diendan/threads/t%E1%BB%B1-%C4%91%E1%BB%99ng-%C4%91%E1%BA%B7t-pass-cho-nhi%E1%BB%81u-file-words-theo-list-excel.139999/Em chào các anh chị,
Em có 1 folder nhiều file word khác nhau, em muốn đặt pass cho mỗi file word là 1 pass khác nhau theo list excel cho sẵn.
Dữ liệu điều kiện đặt pass như sau :
– Cột A2 là tên file Word
– Cột B2 là pass tương ứng.
Mong các anh chị giúp đỡ em. Em cám ơn ạ.Lưu ý:
1. Do bạn chỉ nhập tên các tập tin Word vào cột A nên phải đặt các tập tin đó trong cùng thư mục với tập tin Excel, ngược lại thì code không biết tìm chúng ở đâu.2. Không chỉ nhập tên mà còn phải nhập định dạng nữa. Tức không 651233 mà phải là vd. 651233.docx.
Code có thể tự thêm định dạng, vd. docx nhưng lúc đó tất cả các tập tin đều phải có định dạng docx, tức bạn không thêm được mật khẩu cho các tập tin vd. docm.
Vậy hãy nhập vào cột A tên cùng với định dạng.
Trong Excel -> mở tập tin DATA.xlsx -> lưu lại thành DATA.xlsm -> Alt + F11 -> menu Insert -> Module -> dán code sau vào Module -> lưu lại tập tin.
Khi cần thêm mật khẩu thì nhập dữ liệu vào cột A và B rồi chạy Sub SetPass
Sub SetPass() Dim lastRow As Long, r As Long, filename As String, data(), fso As Object, wordApp As Object, doc As Object ' xac dinh vung du lieu va nhap vao mang data With ThisWorkbook.Worksheets("Sheet1") lastRow = .Cells(Rows.Count, "A").End(xlUp).Row If lastRow = 1 Then Exit Sub data = .Range("A2:B" & lastRow).Value End With Set fso = CreateObject("Scripting.FileSystemObject") ' khoi dong server WORD Set wordApp = CreateObject("Word.Application") ' wordApp.Visible = True ' duyet tung dong du lieu For r = 1 To UBound(data) ' ten tap tin word filename = ThisWorkbook.Path & "" & data(r, 1) If fso.FileExists(filename) Then ' tap tin word ton tai, mo tap tin trong WORD Set doc = wordApp.documents.Open(filename) ' thiet lap mat khau doc.Password = data(r, 2) ' dong tap tin doc.Close End If Next Set fso = Nothing wordApp.Quit Set wordApp = Nothing End Sub
www.giaiphapexcel.com/diendan/threads/t%E1%BB%B1-%C4%91%E1%BB%99ng-%C4%91%E1%BA%B7t-pass-ho%E1%BA%B7c-x%C3%B3a-cho-nhi%E1%BB%81u-file-words.163967/
Ứng dụng AI và Chat GPT trong Quản trị nhân sự
Học xong khóa này, học viên có thể: Hiểu đúng bản chất AI, các nhóm AI phổ biến và cách AI “hoạt động” ở...
Xem khóa học
Mở file rồi lưu mới đè file ban đầu với password rỗng
Đã thử lưu đè tên cũ với pass rỗng nhưng không thành công, file vẫn giữ nguyên pass. Tôi tạm xử lý bằng cách Save As với tên mới và pass rỗng, rồi Save As lần nữa với tên cũ.
Bạn thử chạy code trong file xem.
Bạn tìm hiểu thêm 1 chút rồi tự thêm vào đi. Tôi nghĩ chắc không vấn đề gì.
Đây là lối làm việc của tin tặc.
1. Nhét code vào một file nào đó, ngươi dùng tải về, mở ra, code tự đọng chạy và khóa mọt mớ files trong một mớ folders.
2. Đòi tiền chuộc.
Thường thường mấy thằng làm chuyện này là cách để lấy điểm với sêp. Lén tự pha sheej thống, đợi đến lúc mọi người tán loạn leennheets mới "giữa đường thấy chuyện bất bình chảng tha".