Hỏi đáp cách lấy tên đối tượng label được nhập từ 1 ô text trong form để lấy thuộc tính đối tượng đó

Liên hệ QC

phamvanan88

Thành viên mới
Tham gia
15/10/14
Bài viết
23
Được thích
0
Chào các bác
Em muốn hỏi như sau: em muốn lấy thuộc tính của các đối tượng trên form, ví dụ như width của 1 label, hoặc nút ấn nào đó;
Mỗi lần em muốn lấy thuộc tính của đối tượng nào, em sẽ nhập tên đối tượng đó vào trong ô text, vậy các bác cho em hỏi làm sao để viết code lấy được tên đối tượng đó từ việc nhập ô text.
=> mục đích của em là muốn căn chỉnh giao diện trực tiếp khi đang chạy form.
Thanks các bác.
 
nhap lieu.png
ví dụ như này các bác, cột label màu xanh thứ 2 là để hiển thị giá trị thuộc tính của đối tượng có tên được nhập trong ô text phía dưới, hiện đang điền chữ "lbl_rh"
 
Upvote 0
Thay TextBox1 bằng tên Textbox của bạn.
Mã:
With Me.Controls(Me.TextBox1.Value)
   
End With
=> mục đích của em là muốn căn chỉnh giao diện trực tiếp khi đang chạy form.
Để làm gì vậy bạn? Sau khi thoát form thì mọi thứ lại như cũ nhé.
 
Upvote 0
2 dòng
lấy được tên đối tượng
...
để hiển thị giá trị thuộc tính của đối tượng có tên được nhập trong ô text

mâu thuẫn với nhau. Đã nhập TÊN của Label trong TextBox thì có TÊN rồi sao lại phải lấy được tên đối tượng? Phải là: có TÊN đối tượng Label rồi thì lấy ĐỐI TƯỢNG Label.

ĐỐI TƯỢNG Label có tên được nhập trong TextBox1 là Me.Controls(TextBox1.Value).

Muốn thiết lập vd. TOP của đối tượng là 70 thì là
Mã:
Me.Controls(TextBox1.Value).Top = 70
----------------------
Xác định đối tượng theo thên là Me.Controls(<tên đối tượng>)
 
Upvote 0
Thay TextBox1 bằng tên Textbox của bạn.
Mã:
With Me.Controls(Me.TextBox1.Value)
  
End With

Để làm gì vậy bạn? Sau khi thoát form thì mọi thứ lại như cũ nhé.
em làm chương trình hiển thị lên màn led 4x8m, do vậy em cần căn chỉnh trực tiếp khi đang chạy form, em sẽ dịch zoom các kiểu theo ý nhóm tổ chức, khi chỉnh lấy được tệp đó, em sẽ lưu lại, rồi vào lại chương trình sửa lại bác ah, em biết là nó về như cũ, nhưng em cần dịch chuyển khi đang chạy khi xuất màn led 4x8m; bác hiểu ý em chưa ah.
Em test trên lap nhưng lên màn led 4x8m nó không được chuẩn lắm, nên cần dịch lại cho khớp.
Bài đã được tự động gộp:

em làm chương trình hiển thị lên màn led 4x8m, do vậy em cần căn chỉnh trực tiếp khi đang chạy form, em sẽ dịch zoom các kiểu theo ý nhóm tổ chức, khi chỉnh lấy được tệp đó, em sẽ lưu lại, rồi vào lại chương trình sửa lại bác ah, em biết là nó về như cũ, nhưng em cần dịch chuyển khi đang chạy khi xuất màn led 4x8m; bác hiểu ý em chưa ah.
Em test trên lap nhưng lên màn led 4x8m nó không được chuẩn lắm, nên cần dịch lại cho khớp.
thank bác nhé, e làm được rồi.
Bài đã được tự động gộp:

2 dòng


mâu thuẫn với nhau. Đã nhập TÊN của Label trong TextBox thì có TÊN rồi sao lại phải lấy được tên đối tượng? Phải là: có TÊN đối tượng Label rồi thì lấy ĐỐI TƯỢNG Label.

ĐỐI TƯỢNG Label có tên được nhập trong TextBox1 là Me.Controls(TextBox1.Value).

Muốn thiết lập vd. TOP của đối tượng là 70 thì là
Mã:
Me.Controls(TextBox1.Value).Top = 70
----------------------
Xác định đối tượng theo thên là Me.Controls(<tên đối tượng>)
hi bác, cảm ơn bác nhé, em làm được rồi ah, cũng ko hẳn là mẫu thuẫn, mà là cái màn led nó tỉ lệ to quá 4x8m, nên là em cần test trực tiếp và căn chỉnh font và size các kiểu luôn khi kết nối màn led và đang chạy form, do vậy em cần lấy thông số kích thước của mỗi đối tượng hiện tại, rồi thu phóng rồi gán xuống bằng việc nhập ô text bên cạnh. Khi nào các thứ ok thì em lưu các giá trị chuẩn đó lại rồi tí em sửa lại trong chương trình.
Do cái zoom form theo tỉ lệ màn thì e có code đó rồi, nhưng nó vẫn không cân đối được ngay.
 
Lần chỉnh sửa cuối:
Upvote 0
hi bác, cảm ơn bác nhé, em làm được rồi ah, cũng ko hẳn là mẫu thuẫn, mà là ....
Mâu thuẫn là do (rõ ràng hơn)
Mỗi lần em muốn lấy thuộc tính của đối tượng nào, em sẽ nhập tên đối tượng đó vào trong ô text, vậy các bác cho em hỏi làm sao để viết code lấy được tên đối tượng đó từ việc nhập ô text.

Bạn đã nhập tên đối tượng đó vào textbox thì bạn có tên đối tượng đó trong textbox sao lại cần phải lấy được tên đối tượng đó? Đã có (vừa mới nhập) thì sao lại hỏi, lấy thế nào, lấy ở đâu?

Thay vì lấy được tên đối tượng đó phải là lấy được đối tượng đó

Tôi nói về cách diễn đạt của bạn thôi.
 
Upvote 0
Mâu thuẫn là do (rõ ràng hơn)


Bạn đã nhập tên đối tượng đó vào textbox thì bạn có tên đối tượng đó trong textbox sao lại cần phải lấy được tên đối tượng đó? Đã có (vừa mới nhập) thì sao lại hỏi, lấy thế nào, lấy ở đâu?

Thay vì lấy được tên đối tượng đó phải là lấy được đối tượng đó

Tôi nói về cách diễn đạt của bạn thôi.
thanks các bác rất nhiều nhé :) chúc các bác cuối tuần vui vẻ
 
Upvote 0
tiện em hỏi thêm các bác về việc bật tắt nhạc trong khi chạy useform:
- Em có khai báo lệnh trong 1 module:
Public Declare PtrSafe Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Public Declare PtrSafe Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
- Trong useform, em cần 2 nút, 1 nút bật nhạc, 1 nút tắt nhạc, hiện em test từng câu lệnh này thì nó có tình trạng như ở dưới:

mciExecute ("play " & "G:\STROKESCRIBE COM EXCEL\AM THANH\XOSO.wav") ' máy báo lỗi mci, ko chạy được
Call sndPlaySound("G:\STROKESCRIBE COM EXCEL\AM THANH\XOSO.wav", 0) ' có chạy, nhưng bị đơ excel và 1 lúc sau tự đóng.
music "G:\STROKESCRIBE COM EXCEL\AM THANH\XOSO.wav", False ' có chạy, nhưng ko biết cách tắt, đã đóng chương trình excel nhưng ko tắt nhạc được.

=> vậy các bác cho em hỏi câu lệnh bật nhạc và tắt nhạc thì dùng lệnh nào và khai báo thư viện nào nhỉ? ngoài ra nhạc của em nó ngắn, cần chạy lặp lại, vậy câu lệnh có cho repeat đến khi ấn nút tắt được không các bác nhỉ?
 
Upvote 0
tiện em hỏi thêm các bác về việc bật tắt nhạc trong khi chạy useform:
- Em có khai báo lệnh trong 1 module:
Public Declare PtrSafe Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Public Declare PtrSafe Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
- Trong useform, em cần 2 nút, 1 nút bật nhạc, 1 nút tắt nhạc, hiện em test từng câu lệnh này thì nó có tình trạng như ở dưới:

mciExecute ("play " & "G:\STROKESCRIBE COM EXCEL\AM THANH\XOSO.wav") ' máy báo lỗi mci, ko chạy được
Call sndPlaySound("G:\STROKESCRIBE COM EXCEL\AM THANH\XOSO.wav", 0) ' có chạy, nhưng bị đơ excel và 1 lúc sau tự đóng.
music "G:\STROKESCRIBE COM EXCEL\AM THANH\XOSO.wav", False ' có chạy, nhưng ko biết cách tắt, đã đóng chương trình excel nhưng ko tắt nhạc được.

=> vậy các bác cho em hỏi câu lệnh bật nhạc và tắt nhạc thì dùng lệnh nào và khai báo thư viện nào nhỉ? ngoài ra nhạc của em nó ngắn, cần chạy lặp lại, vậy câu lệnh có cho repeat đến khi ấn nút tắt được không các bác nhỉ?
Bạn đọc bài và tải tập tin của tôi xem nhé

 
Upvote 0
Bạn đọc bài và tải tập tin của tôi xem nhé

thanks bác, để em thử xem.
 
Upvote 0
Web KT
Back
Top Bottom