Lỗi “variable not defined” trong vba

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Xin chào mọi người, em là lính mới trong lập trình vba. Em copi đoạn code vào mà chạy toàn báo lỗi variable not defined , em tìm mãi mà ko rõ sai chỗ nào, mong mọi người chỉ giúp em với

Sub Xuatfile()

Dim i As Long, j As Long
    Dim template As Object
    Dim t As Object
    i = 1

With CreateObject("word.application")
        .Visible = True

Set template = .documents.Open("C:temphopdong_temp.docx")
            Set t = template.Content

t.Find.Execute _
                    FindText:="abc", _
                    ReplaceWith:="def", _
                    Replace:=wdReplaceAll

template.SaveAs Filename:=ThisWorkbook.Path & Application.PathSeparator & i & "-giay_moi.docx"
        .Quit
    End With
    Set t = Nothing
    Set template = Nothing

End Sub

Sửa wdReplaceAll thành số 2, cụ thể chổ.

Replace:=wdReplaceAll

Thành

Replace:=2

đây ạ em sửa bài đính kèm file phía trên
1675846460

sao sửa chỗ đó thành 2 lại được vậy anh nhỉ, em chưa hiểu lắm

Nó nằm ở chổ này nè.
learn.microsoft.com/en-us/office/vba/api/word.wdreplace

Thay hằng sô bằng "magic numbers" chỉ là phản ứng tạm, nởi nó làm cho code khó hiểu và khó copy/paste.

Khi tréo applicatis như vậy thì người ta có hai giải pháp chính:

1. Dùng reference và kết nối sớm. Tuy nhiên cách này hơi bất lợi là cóp qua nới khác thì lại ohair bảo đảm có refeences.

2. Nếu kết nối trễ như bài này thì người ta đặt thêm cái enum
Enum MyWDEnums
wdReplaceNone = 0
wdReplaceOne = 1
wdReplaceAll = 2
End Enums

Vè sau này, muố copy code Word ở đâu cũng có thể chỉ cần thêm cái tiền tố MyWDEnums
Ví dụ như bài này thì sửa
Replace:=wdReplaceAll thành Replace:=MyWDEnums.wdReplaceAll

www.giaiphapexcel.com/diendan/threads/l%E1%BB%97i-variable-not-defined-trong-vba.163975/

Xây dựng Lương 3P, KPI cho Doanh nghiệp
Khóa học SprinGO phù hợp

Xây dựng Lương 3P, KPI cho Doanh nghiệp

Làm thế nào để trả lương cho nhân viên chính xác nhất? Đây là một trong những câu hỏi khó trong quản trị nhân...

Xem khóa học
★★★★★ 5 ★ 1 👤 0 ▥ 0
Quảng cáo

Bạn nên đọc

Bình luận

Quảng cáo

Cũ vẫn chất

Xem thêm