xin code vba tích vào Checkbox trong word

Liên hệ QC

nt.thinh

Thành viên mới
Tham gia
24/9/20
Bài viết
9
Được thích
0
Nhờ các bạn trợ giúp mình code tích vào checkbox word
Xin cảm ơn!
 

File đính kèm

  • Book1.xlsm
    13.7 KB · Đọc: 19
  • Doc1.docx
    13 KB · Đọc: 19
Upvote 0
Mình muốn tích cho bao nhiêu file word vậy? Mỗi file word có bao nhiêu checkbox ?
 
Upvote 0
Hên xui mình nhé, không được thì mình tham khảo cho vui:
Mã:
Sub Tich_Tich()
    Dim oWord As Object, sFileName As String
    Set oWord = CreateObject("Word.Application")
    oWord.Visible = True
    sFileName = ThisWorkbook.Path & "\Doc1.docx"
    oWord.documents.Open (sFileName)
    oWord.Activate
    With oWord
        Dim Tich As ContentControl
        For Each Tich In ActiveDocument.ContentControls
            If Tich.Type = wdContentControlCheckBox Then Tich.Checked = True
        Next
    End With
    Set oWord = Nothing
End Sub
 
Upvote 0
Hên xui mình nhé, không được thì mình tham khảo cho vui:
Mã:
Sub Tich_Tich()
    Dim oWord As Object, sFileName As String
    Set oWord = CreateObject("Word.Application")
    oWord.Visible = True
    sFileName = ThisWorkbook.Path & "\Doc1.docx"
    oWord.documents.Open (sFileName)
    oWord.Activate
    With oWord
        Dim Tich As ContentControl
        For Each Tich In ActiveDocument.ContentControls
            If Tich.Type = wdContentControlCheckBox Then Tich.Checked = True
        Next
    End With
    Set oWord = Nothing
End Sub
Cảm ơn bạn! Mình chạy thư dòng Dim Tich As ContentControls lỗi
 
Upvote 0
Phiền bạn thêm 02 vấn đề nhé
1. Khi chạy lệnh lần 2 thì báo lỗi "462 the remote server machine does not exits or is unavailable"
2. Giúp mình chạy trên 01 file word nhưng nhiều checkbox được không?VD: checkbox1,checkbox2...và nếu không tìm thấy checkbox thì bỏ qua.
Cảm ơn nhiều!
 
Upvote 0
Phiền bạn thêm 02 vấn đề nhé
1. Khi chạy lệnh lần 2 thì báo lỗi "462 the remote server machine does not exits or is unavailable"
2. Giúp mình chạy trên 01 file word nhưng nhiều checkbox được không?VD: checkbox1,checkbox2...và nếu không tìm thấy checkbox thì bỏ qua.
Cảm ơn nhiều!
Vấn đề 1:
Tớ nghĩ do file word bạn vẫn còn đang mở hay thế nào đó.. nếu đúng như vậy mình thử tìm kiếm thêm hàm kiểm tra file đang ở chế độ mở hay không nếu mở thì khỏi mở nếu chưa mở thì mở
Vấn đề 2:
Cái dấu "..." tớ không biết chếch bóc của mình nhiều đến cỡ nào tớ nghĩ khoảng vài ngàn cái như đã nói ở bài 6, và hỏi xác nhận ở bài 4 rồi, mình cũng đã trả lời như đinh đóng cột với như ở bài 5 rồi mà.
 
Upvote 0
Thế này là tự lấy tay đập.... vào chân rồi sao?
...
Cái này cũng cùng loại với kiểu bài Excel "phân bổ một số tiền vào nhiều khoảng tiền ngẫu nhiên" (leopard fox ghost) mà mình vẫn thấy lâu lâu lại có người yêu cầu.

Cái file Word ở đây là một văn bản dạng đánh giá cái gì đó (requirement metrics). Mỗi điều kiện có một checkbox để tích khi đã kiểm xong.
Người ta lười tích cả trăm cái cho nên dùng phương pháp tự động thôi. Tự căn bản nó đã là đồ "leopard fox ghost" rồi. Tay đập vào cái gì cũng chả ai bỏ thì giờ xem.
 
Upvote 0
Phiền bạn thêm 02 vấn đề nhé
1. Khi chạy lệnh lần 2 thì báo lỗi "462 the remote server machine does not exits or is unavailable"
2. Giúp mình chạy trên 01 file word nhưng nhiều checkbox được không?VD: checkbox1,checkbox2...và nếu không tìm thấy checkbox thì bỏ qua.
Cảm ơn nhiều!
Mà code bài 8 là tích toàn bộ checkbox cho mình rồi còn gì?
Nó có tích riêng cụ thể tên một checkbox nào đâu.
Mình thử gửi cái file word có 50 check box đó lên đây xem nào?
 
Upvote 0
Mình xử lý được rồi nhe
For Each Tich In wdDoc.ContentControls
Select Case Tich.Title
Case "checkbox1"
If Sheet1.Range("A1").value = "a" then
Tich.Checked = True
Else
Tich.Checked = False
End If

Case "checkbox2"
If Sheet1.Range("A2").value = "a" then
Tich.Checked = True
Else
Tich.Checked = False
End If
..........
End Select
Next Tich

Thanks ban!
 
Upvote 0
Web KT
Back
Top Bottom