Làm sao khai báo trong thisworkbook mà vẫn xài trên module (1 người xem)

  • Thread starter Thread starter gnp1986
  • Ngày gửi Ngày gửi
Liên hệ QC

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

gnp1986

Thành viên mới
Tham gia
4/12/10
Bài viết
5
Được thích
0
Mình muốn khai báo 1 biến khi mở workbook để chứa đường dẫn của workbook đang mở. Sau đó trong các module mình muốn gọi lại biến này để sử dụng nhưng không được.
Mình dùng khai báo kiểu public lẫn global vẫn không hiệu quả.
Mong các bạn chỉ giúp mình vấn đề này.
 
Mình muốn khai báo 1 biến khi mở workbook để chứa đường dẫn của workbook đang mở. Sau đó trong các module mình muốn gọi lại biến này để sử dụng nhưng không được.
Mình dùng khai báo kiểu public lẫn global vẫn không hiệu quả.
Mong các bạn chỉ giúp mình vấn đề này.
Tôi nghĩ bạn phải khai báo trong Module mới đúng chứ không phải trong đối tượng ThisWorkbook.
Bạn thử nghiệm như sau sẽ thấy:
1. Khai báo trong Module 1 biến Public DuongDan kiểu String.
2. Trong ThisWorkbook, thiết lập 1 code:
PHP:
Private Sub Workbook_Open()
    DuongDan = ThisWorkbook.Path
End Sub
3. Lưu file, đóng lại rồi mở ra.
4. Chạy code sau:
PHP:
Sub Test()
    MsgBox DuongDan
End Sub
Hoặc tại khung Immediate (nhấn Ctrl+G trong cửa sổ biên tập VBA), bạn gõ câu lệnh MsgBox DuongDan.
 
Upvote 0
Mình muốn khai báo 1 biến khi mở workbook để chứa đường dẫn của workbook đang mở. Sau đó trong các module mình muốn gọi lại biến này để sử dụng nhưng không được.
Mình dùng khai báo kiểu public lẫn global vẫn không hiệu quả.
Mong các bạn chỉ giúp mình vấn đề này.

Thử kiểu này coi được không

PHP:
Option Explicit
Dim duongdan As String
Sub tao_duong_dan()
duongdan = ThisWorkbook.Path
End Sub
Sub Test()
    MsgBox duongdan
End Sub

Private Sub Workbook_Open()
tao_duong_dan
End Sub
 
Upvote 0

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

Back
Top Bottom