Tự động đặt pass hoặc xóa cho nhiều file words

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Chu Hà

Thành viên mới
Tham gia
16/8/17
Bài viết
14
Được thích
1
Giới tính
Nam
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 ạ.
 
Giải pháp
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ũ.

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 thử chạy code trong file xem.
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:
Mã:
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:\Your\File\Path"

' 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)
 
Upvote 0
không được đâu bác ạ
em thử toán báo lỗi như ảnh

1675821889083.png
 
Upvote 0
không được đâu bác ạ
em thử toán báo lỗi như ảnh

View attachment 286210
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:
Mã:
Set doc = Documents.Open(FilePath & "\" & FileName, Password:="oldpassword")
 
Upvote 0
code của GPT này không dùng được bác ạ toàn báo lỗi như trên :)
 
Upvote 0
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:
Mã:
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:\Your\File\Path"

' 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)
Code trong Excel vẫn được. Dù sao dùng Excel điều khiển vẫn tiện hơn.
 
Upvote 0
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ỉ?
 
Upvote 0
Bác tham khảo bài viết này xem ạ. Em cũng đang đọc ạ
 
Upvote 0
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ũ.

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 thử chạy code trong file xem.
 

File đính kèm

  • DatLai_XoaMatKhauFileWord_Chu Hà.xlsm
    15.6 KB · Đọc: 10
Upvote 0
Giải pháp
E cảm ơn, code đã hoạt động tốt rồi ạ.
Chỗ đặt mật khẩu cũ mình có thể tạo textbox để nhập mật khẩu cũ và mật khẩu mới vào được không ạ
E cảm ơn
 
Lần chỉnh sửa cuối:
Upvote 0
E cảm ơn, code đã hoạt động tốt rồi ạ.
Chỗ đặt mật khẩu cũ mình có thể tạo textbox để nhập mật khẩu cũ và mật khẩu mới vào được không ạ
E cảm ơn
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ì.
 
Upvote 0
Đâ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".
 
Upvote 0
cảm ơn bác đã nhắc nhở ạ,
Đâ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".
Cảm ơn bác đã nhắc nhở ạ :)
 
Upvote 0
Web KT
Back
Top Bottom