[hỏi] Khai báo lệnh thao tác với đối tượng ActiveX control trong Classmodule (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

langtuchungtinh360

Thành viên đã dừng hoạt động
Tham gia
7/10/13
Bài viết
1,062
Được thích
334
mọi người cho mình hỏi vấn đề thế này
để tạo sự kiện khi thao tác trên bảng tính khi viết classmodule thì khai báo thế này thì có thể thao tác sự kiện trên bảng tính mà không phải viết code trong sheet tương ứng
Mã:
Private WithEvents ExcelApp As Excel.Application


Public Sub CreateApp(ByVal AppExcel As Excel.Application)
If ExcelApp Is Nothing Then
    Set ExcelApp = AppExcel
End If
End Sub
vậy khi thao tác với đối tượng ActiveX Control thì khai báo như thế nào để có thể thao tác với đối tượng đó được
mong nhận được sự giúp đỡ từ mọi người
 

File đính kèm

  • Untitled1.jpg
    Untitled1.jpg
    20.8 KB · Đọc: 14
  • Untitled.png
    Untitled.png
    5.8 KB · Đọc: 12
mọi người cho mình hỏi vấn đề thế này
để tạo sự kiện khi thao tác trên bảng tính khi viết classmodule thì khai báo thế này thì có thể thao tác sự kiện trên bảng tính mà không phải viết code trong sheet tương ứng
Mã:
Private WithEvents ExcelApp As Excel.Application


Public Sub CreateApp(ByVal AppExcel As Excel.Application)
If ExcelApp Is Nothing Then
    Set ExcelApp = AppExcel
End If
End Sub
vậy khi thao tác với đối tượng ActiveX Control thì khai báo như thế nào để có thể thao tác với đối tượng đó được
mong nhận được sự giúp đỡ từ mọi người
Thì khai báo vầy thôi:
Mã:
Public WithEvents tbx As MSForms.TextBox
 
Upvote 0
Bài viết dưới đây tôi viết cách đây 10 năm về cách lập trình sự kiện với ActiveX Controls.
https://www.giaiphapexcel.com/forum/showthread.php?3868-Class-module-Kỹ-thuật-Tạo-và-Wrap-đối-lượng
em có xem qua rồi nhưng không để ý, cứ tưởng nó chỉ hoạt động trên Form, em cảm ơn thầy nhiều.

Thì khai báo vầy thôi:
Mã:
Public WithEvents tbx As MSForms.TextBox
em làm được rồi thầy ạ. cái MSForms không phải chỉ hoạt động trên form sao thầy?
giờ lại dính chưởng ngay đây thầy ạ
https://www.giaiphapexcel.com/forum...hững-thắc-mắc-về-code-VBA&p=764807#post764807
 
Upvote 0
em làm được rồi thầy ạ. cái MSForms không phải chỉ hoạt động trên form sao thầy?
MSForms là nói chung tất cả những thằng thuộc ActiveX, bất kể nằm trên Form hay trên Sheet
Vụ đó tôi test không thấy lỗi gì cả
Mà nói chung mấy cái code hoành tráng (dự án lớn), khi gặp lỗi thì chỉ có nước tự thân vận động, mang ra hỏi là gây khó cho người giúp. Không lẽ bắt người ta bỏ thời gian nghiên cứu từ đầu cho bạn (bởi nếu chỉ xem sơ qua thì không tài nào hiểu được)
 
Upvote 0
MSForms là nói chung tất cả những thằng thuộc ActiveX, bất kể nằm trên Form hay trên Sheet

Vụ đó tôi test không thấy lỗi gì cả
Mà nói chung mấy cái code hoành tráng (dự án lớn), khi gặp lỗi thì chỉ có nước tự thân vận động, mang ra hỏi là gây khó cho người giúp. Không lẽ bắt người ta bỏ thời gian nghiên cứu từ đầu cho bạn (bởi nếu chỉ xem sơ qua thì không tài nào hiểu được)
HU....HU.....
chỉ là 3 cái code trích lọc dữ liệu rồi chèn đối tượng ActiveX thôi có gì đâu mà dự án lớn đâu thầy.
với thầy cho em hỏi thêm cái vụ Event
Mã:
Private WithEvents ExcelApp As Excel.Application
Private WithEvents m_oTextBox As MSForms.TextBox
nếu mà em để chung vậy trong 1 class thì sao nó không hoạt động thầy nhỉ. hay là nó vẫn hoạt động mà do em làm sai (nếu do em sai thì em tự tìm cách khắc phục- hỏi nhiều người trả lời cũng mệt!$@!!)
 
Upvote 0
HU....HU.....
chỉ là 3 cái code trích lọc dữ liệu rồi chèn đối tượng ActiveX thôi có gì đâu mà dự án lớn đâu thầy.
với thầy cho em hỏi thêm cái vụ Event
Mã:
Private WithEvents ExcelApp As Excel.Application
Private WithEvents m_oTextBox As MSForms.TextBox
nếu mà em để chung vậy trong 1 class thì sao nó không hoạt động thầy nhỉ. hay là nó vẫn hoạt động mà do em làm sai (nếu do em sai thì em tự tìm cách khắc phục- hỏi nhiều người trả lời cũng mệt!$@!!)

Trước tiên xin hỏi câu lệnh Private WithEvents ExcelApp As Excel.Application bạn định dùng vào việc gì?
Bởi nếu tôi dùng nó thì thường là trong các trường hợp chạy code từ file xla, xlam (addin)
-------------------
Bạn đang ở trong Excel, đương nhiên Excel.Application đã được gọi lên rồi, bạn có việc gì cần thiết phải dùng lệnh này nữa chứ?
 
Upvote 0
Trước tiên xin hỏi câu lệnh Private WithEvents ExcelApp As Excel.Application bạn định dùng vào việc gì?
Bởi nếu tôi dùng nó thì thường là trong các trường hợp chạy code từ file xla, xlam (addin)
-------------------
Bạn đang ở trong Excel, đương nhiên Excel.Application đã được gọi lên rồi, bạn có việc gì cần thiết phải dùng lệnh này nữa chứ?
Mã:
[B]Private WithEvents ExcelApp As Excel.Application[/B]
để tạo sự kiện khi thao tác trên sheet ấy thầy
e tính làm addins nên dùng lệnh này để viết class, trước kia thì em sử dụng cách chèn code tự động vào Sheet mà nó hay bị lỗi linh tinh khi gửi file cho người khác. do người ta không có Addins. nên giờ chuyển qua class thì cho dù không có Addins thì vẫn sử dụng được file (sẽ ko có sự kiện gì của Addins khi thao tác cả)
em tìm ra lỗi tại đây rồi nhưng không biết cách khắc phục, nếu có thể thầy qua bên đó giúp em để không bàn quá xa so với chủ đề bên đây ạ.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom