Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Lỗi] Code để bảo vệ văn bản trừ các đoạn formfield
#1
Chào các bác, em có 1 đoạn code thế này, bình thường chạy ok rồi, nhưng giờ người ta yêu cầu protect lại đoạn văn, trừ những đoạn đang formfield. Em có thêm dòng: ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True, Password:="123456" nhưng không thấy chạy. Code em đây, bác nào giúp em em sai ở đâu ạ: 
Mã PHP:
Dim dbs As DAO.Database
Dim rst 
As DAO.Recordset
Dim i 
As Long
Dim oApp 
As Object
Dim Doc 
As Object
Dim strDocName 
As String
Dim tblNoInDoc 
As Byte
Dim oWordTbl 
As Object

If Me.ComboLoaivay.Value "Cho vay Kinh doanh" Then

temp 
""""

Set oApp CreateObject("Word.Application")
oApp.Visible True
strDocName 
"""" CurrentProject.Path "\Word\TC\KD\NH" "\07_Hop dong CV NH_tung lan ca nhan KD OK.doc" """"
Set Doc oApp.Documents.Add(strDocName)

Doc.FormFields("SoHDTDTC").Result DLookup("SoHDTC""T_infovayTC")
......
oApp.ActiveDocument.SaveAs Filename:="""" CurrentProject.Path "\Preview\TC" "\" & "HDCV-KD" & "_" & DLookup("Nguoidaidien", "T_KH2") & "_" & Me.HDTDngayTCchu & ".doc" & """"
oApp.ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True, Password:="
123456" '
Set oApp = Nothing

Else
....
End If
End Sub 
Ghi chú: Em có văn bản mẫu trắng tinh cần điền 1 vài thông tin khách hàng bên ngoài vào, sau khi dùng Doc.FormField xong Save As sang file Word mới để file trắng kia dùng cho lần sau. Còn file SaveAs thì muốn bảo vệ nó lại vì có các điều khoản cấm sửa. Hay là em phải bảo vệ file trắng kia, rồi mở khóa để điền thông tin rồi lưu lại với tên khác ạ. Các bác thấy em làm sai ở đâu ạ, cảm ơn các bác trước
Chữ ký của vuthaiha90 vuthaiha90,gia nhập Thủ Thuật Access từ 26-02 -16.
Reply
Những người đã cảm ơn
#2
007  Sao bạn không sử dụng luôn công cụ của Word mà viết code chi cho mệt vậy.

Vô Menu Review, có cái tool "Restrict Editing" -> chọn "Editing Restrictions" -> click chọn checkbox "Allow only...." -> chọn "Filling in Form" -> "Start..."
Cách này nó sẽ khóa việc chỉnh sửa nội dung file Word ngoại trừ các FormFields.

Còn trong câu lệnh ở trên tôi nghĩ bạn thử đặt câu lệnh "Protect.." trước lệnh "Save as" xem như thế nào.
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#3
(24-10-17, 01:17 PM)ongke0711 Đã viết: 007  Sao bạn không sử dụng luôn công cụ của Word mà viết code chi cho mệt vậy.

Vô Menu Review, có cái tool "Restrict Editing" -> chọn "Editing Restrictions" -> click chọn checkbox "Allow only...." -> chọn "Filling in Form" -> "Start..."
Cách này nó sẽ khóa việc chỉnh sửa nội dung file Word ngoại trừ các FormFields.

Còn trong câu lệnh ở trên tôi nghĩ bạn thử đặt câu lệnh "Protect.." trước lệnh "Save as" xem như thế nào.


Dạ thế cho em hỏi nếu mang chương trình này sang máy khác thì có phải lại Menu Review... nữa không ạ? nếu không chắc phải code. Mà em đặt đằng sau SaveAs vì đặt đằng trước em nghĩ ActiveDocument là nó hiểu file trắng chứ nhỉ
Chữ ký của vuthaiha90 vuthaiha90,gia nhập Thủ Thuật Access từ 26-02 -16.
Reply
Những người đã cảm ơn
#4
(24-10-17, 02:36 PM)vuthaiha90 Đã viết: Dạ thế cho em hỏi nếu mang chương trình này sang máy khác thì có phải lại Menu Review... nữa không ạ? nếu không chắc phải code. Mà em đặt đằng sau SaveAs vì đặt đằng trước em nghĩ ActiveDocument là nó hiểu file trắng chứ nhỉ

Word phiên bản nào cũng có cái menu này chỉ khác cái tên chút thôi nên bạn đâu cầu set up lại, giống như bạn đặt mật khẩu cho file excel vậy thôi.
Bạn cứ test thử, tôi không có file này nên cũng ko test được.
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#5
(24-10-17, 02:57 PM)ongke0711 Đã viết:
(24-10-17, 02:36 PM)vuthaiha90 Đã viết: Dạ thế cho em hỏi nếu mang chương trình này sang máy khác thì có phải lại Menu Review... nữa không ạ? nếu không chắc phải code. Mà em đặt đằng sau SaveAs vì đặt đằng trước em nghĩ ActiveDocument là nó hiểu file trắng chứ nhỉ

Word phiên bản nào cũng có cái menu này chỉ khác cái tên chút thôi nên bạn đâu cầu set up lại, giống như bạn đặt mật khẩu cho file excel vậy thôi.
Bạn cứ test thử, tôi không có file này nên cũng ko test được.

Vâng, em đặt xong câu hỏi quay ra thử đã thấy là đúng chỉ cần setup 1 lần. Bác xem viết code được không ạ, tại vì em thử khóa trước rồi nhưng đến đoạn chạy code bảng biểu, tức là thay đổi nội dung file trắng, thì nó không chạy được (không hoàn toàn cả văn bản là formfield, còn chỗ bảng biểu nữa ạ)
Chữ ký của vuthaiha90 vuthaiha90,gia nhập Thủ Thuật Access từ 26-02 -16.
Reply
Những người đã cảm ơn
#6
Word chỉ có tính năng protect nội dung trừ Form fill thì bạn chỉ làm được đến đó. Sao bảng biểu bạn không làm dạng FormField luôn? không hiểu vụ bảng biểu cho lắm.
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#7
(24-10-17, 03:43 PM)ongke0711 Đã viết: Word chỉ có tính năng protect nội dung trừ Form fill thì bạn chỉ làm được đến đó. Sao bảng biểu bạn không làm dạng FormField luôn? không hiểu vụ bảng biểu cho lắm.

Em xin lỗi, mấy nay em cũng thử các kiểu rồi, đặt trước, đặt sau. Rồi khóa luôn file trắng trước khi thêm formfield vào rồi đóng lại, nhưng vẫn không được, các bác xem code của em ở đây, em bị làm sai chỗ nào ạ? Em cảm ơn
Chữ ký của vuthaiha90 vuthaiha90,gia nhập Thủ Thuật Access từ 26-02 -16.
Reply
Những người đã cảm ơn
#8
Bạn xem và tải Demo của chủ đề này (Tác giả Mặt Trời Ngủ quên)
[Help] Protect nhiều file Words theo đường dẫn động


File đính kèm
.zip   Demo ProtectWords(Bao ve khoa File Word).zip (Kích cỡ: 194.56 KB / Tải về: 8)
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn ongke0711
#9
(30-10-17, 03:20 PM)vuthaiha90 Đã viết: Em xin lỗi, mấy nay em cũng thử các kiểu rồi, đặt trước, đặt sau. Rồi khóa luôn file trắng trước khi thêm formfield vào rồi đóng lại, nhưng vẫn không được, các bác xem code của em ở đây, em bị làm sai chỗ nào ạ? Em cảm ơn

- Ở cửa số code VBA, bạn phải luôn luôn thêm dòng: để kiểm tra có biến nào dư thừa hoặc câu lệnh viết sai.
Mã PHP:
Option Compare Database
Option Explicit 

- Bạn thêm thư viện Microsoft Word 1x.00 Object Library để dòng lệnh .Protect chạy được.
=> Sau khi thêm sẽ chạy OK.
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan
#10
(30-10-17, 03:20 PM)vuthaiha90 Đã viết: Em xin lỗi, mấy nay em cũng thử các kiểu rồi, đặt trước, đặt sau. Rồi khóa luôn file trắng trước khi thêm formfield vào rồi đóng lại, nhưng vẫn không được, các bác xem code của em ở đây, em bị làm sai chỗ nào ạ? Em cảm ơn

Bạn xem thử File mình đã sửa có đúng ý không nhé: Protect Word.rar

P/S: MTNQ mới up lại file, thay hàm Dir bằng FileSystemObject do hàm Dir không hỗ trợ tên file Tiếng Việt có dấu
Chữ ký của MTNQ Thời gian nước chảy... da mòn
Ngủ quên một chốc thấy còn bộ xương!
Reply
Những người đã cảm ơn ongke0711 , maidinhdan , vuthaiha90


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Làm sao chạy được code cả trong access 32 bit và access 64 bit haquocquan 1 194 12-09-17, 11:15 PM
Bài mới nhất: maidinhdan
  code chuyển đổi Hex sang ASCII trong access thanhtruong 9 1,157 13-02-17, 10:34 PM
Bài mới nhất: ongke0711
Photo [Thủ Thuật] Code chia sẽ hàng thừa Phung Duc 5 660 12-12-16, 04:25 PM
Bài mới nhất: ongke0711
  [Hỏi] Viết code có điều kiện " lệnh Chạy tiếp khi đóng tbl cho sẵn" Trần Linh 3 673 21-10-16, 11:11 AM
Bài mới nhất: Minh Tiên
  Giải thích ý nghĩ của đoạn code feeling 3 613 06-10-16, 10:18 AM
Bài mới nhất: vulhu06

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ