Đếm tất cả cá workbook đang mở bao gồm kiểu addin (1 người xem)

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

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

vba_gpe

Thành viên thường trực
Tham gia
15/12/10
Bài viết
296
Được thích
44
Nghề nghiệp
Thất nghiệp
Chào cả nhà.
Mình có một thắc mắc thế này mong nhờ được sự hỗ trợ từ mọi người.
Mình có 3 Wookbook (Book1, Book2) tương ứng với 2 file đã lưu.
1. Tiến hành mở 2 workbook bình thường.
2. Chỉnh sửa thiết đặt tùy chọn của 2 workbook:
Trong đó:
- Book1: Không sửa gì so với mặc đinh của Excel
- Book2: trong Properties chỉnh
Mã:
IsAddin =True
3. Dùng hàm đếm số workbook như sau:
PHP:
Workbooks.count
Kết quả trả về chỉ đếm được book1.
4. Chỉnh sửa thuộc tính Book2:
Mã:
isAddin=False
dùng lại hàm đếm như trên thì trả về 2 (Bao gồm cả book1, book2).

Vậy có cách nào đếm được tất cả các workbook (bao gồm cả các bảng tính đang thiết đặt chế độ IsAddin=True trong Properties).

Cảm ơn cả nhà. :)
 
Lần chỉnh sửa cuối:
Chào cả nhà.
Mình có một thắc mắc thế này mong nhờ được sự hỗ trợ từ mọi người.
Mình có 3 Wookbook (Book1, Book2) tương ứng với 2 file đã lưu.
1. Tiến hành mở 2 workbook bình thường.
2. Chỉnh sửa thiết đặt tùy chọn của 2 workbook:
Trong đó:
- Book1: Không sửa gì so với mặc đinh của Excel
- Book2: trong Properties chỉnh
Mã:
IsAddin =True
3. Dùng hàm đếm số workbook như sau:
PHP:
Workbooks.count
Kết quả trả về chỉ đếm được book1.
4. Chỉnh sửa thuộc tính Book2:
Mã:
isAddin=False
dùng lại hàm đếm như trên thì trả về 2 (Bao gồm cả book1, book2).

Vậy có cách nào đếm được tất cả các workbook (bao gồm cả các bảng tính đang thiết đặt chế độ IsAddin=True trong Properties).

Cảm ơn cả nhà. :)
Mã:
Sub WBookAndAddin()
Dim i As Integer
' Tim Add in
    For i = 1 To AddIns.Count
        MsgBox AddIns(i).Name
    Next i
'Tim Workbooks
    For i = 1 To Workbooks.Count
        MsgBox Workbooks(i).Name
    Next i
End Sub
 
Upvote 0
Mã:
Sub WBookAndAddin()
Dim i As Integer
' Tim Add in
    For i = 1 To AddIns.Count
        MsgBox AddIns(i).Name
    Next i
'Tim Workbooks
    For i = 1 To Workbooks.Count
        MsgBox Workbooks(i).Name
    Next i
End Sub
Cảm ơn Thuyyeu99.
Trước mình cũng đã thử trường hợp này rồi. Vẫn không tìm thấy.

Bạn thử như thế này nhé.
1. Mình có 2 book: Book1.xls, book2.xls.
Ban đầu 2 book này là workbook thông thường chứ ko phải addin nhé.
Mình mở 2 book này lênh.

2. Sau đó, chỉnh thuộc tính của book1.xls như hình.
2.png
Chạy code thì không thấy được book1.xls.

Nhờ bạn xem lại thử nhé.

Cảm ơn bạn
 
Lần chỉnh sửa cuối:
Upvote 0
Dạ trong trường hợp không đóng và không lưu book1.xls ạ.
Thế thì căng đấy. Chưa lưu vào ổ đĩa thì file đó đang ở nơi bí mật.
Không tin bạn thử vầy xem: Tạo mới một workbook (chưa lưu vào ổ đĩa nhé), rồi thử dòng sau xem kết quả là gì?
PHP:
MsgBox ThisWorkbook.Path
 
Upvote 0
Thế thì căng đấy. Chưa lưu vào ổ đĩa thì file đó đang ở nơi bí mật.
Không tin bạn thử vầy xem: Tạo mới một workbook (chưa lưu vào ổ đĩa nhé), rồi thử dòng sau xem kết quả là gì?
PHP:
MsgBox ThisWorkbook.Path
Dạ nếu tạo book mới thì nó sẽ báo về false ngay ạ.

Còn trong trường hợp này thì em đã lưu book1.xls rồi ạ. Nhưng lúc lưu book1 thì book1 đang thiết đặt chế độ: IsAddin=False.
Khi mở book1 lên rồi mình chỉnh isAddin=True nhưng không lưu book1 lại 1 lần nữa thì không lấy được đối tượng book1. Không biết nó nằm ở đâu ạ.
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom