chạy code khi file không mở (1 người xem)

Liên hệ QC

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

ducdinh1987

Thành viên thường trực
Tham gia
10/6/10
Bài viết
266
Được thích
75
Nghề nghiệp
Kỹ sư công nghệ sinh học
chào anh chị,

Anh chị biết cách nào tự chạy 1 code khi file excel đó không mở không?

cảm ơn anh chị nhiều.
 
mình cho ví dụ của code để show Form của 1 file đang đóng
- trước tiên cần có 1 Function để kiểm tra file đang đóng hay mở
- mở file + chạy Macro của file đó

Mã:
Function IsWorkBookOpen(sBook As Variant) As Boolean 'sBook As Variant do ben tren da~ khai bao' dang. nay`
'Written by www.ozgrid.com
'Test to see if a Workbook is open.
Dim wBook As Workbook

    On Error Resume Next

    Set wBook = Workbooks(sBook)
    
    If wBook Is Nothing Then 'Not open
        'MsgBox sBook & vbNewLine & " - Workbook is not open", vbCritical, "OzGrid.com"
        IsWorkBookOpen = False
        Set wBook = Nothing
        On Error GoTo 0
    Else 'It is open
        'MsgBox sBook & vbNewLine & " - Yes it is open", vbInformation, "OzGrid.com"
        IsWorkBookOpen = True
        Set wBook = Nothing
        On Error GoTo 0
    End If
End Function

Mã:
Sub showForm_dscnv_copy()
    
    Dim sPath As String, tenFile As String
    '#1 (Server)
    sPath = "W:\_thongtinNS\_danhsachCNV\"
    '#2 (khac': neu cung` 1 thu* muc)
    'sPath = ThisWorkbook.Path
    
    tenFile = "danhsachCNV(copy).xlsm"
    
    If IsWorkBookOpen(tenFile) = False Then 'chua mo?
        Workbooks.Open Filename:=sPath & tenFile, UpdateLinks:=True 'Turn On Update Links
        Workbooks(tenFile).Windows(1).Visible = False 'an? workbook vua` Open
        Application.Run ("'danhsachCNV(copy).xlsm'!showForm_dscnv")
    Else
    'da~ mo?
        Application.Run ("'danhsachCNV(copy).xlsm'!showForm_dscnv")
    End If
    
End Sub

Sub showForm_dscnv được đặt tại file danhsachCNV(copy).xlsm

2 code trên mình dùng kết hợp với Add_in để tìm kiếm thông tin nhân sự của 1 file đang đóng.
 
Lần chỉnh sửa cuối:
Upvote 0
có cách nào không mở mà vẫn chạy được không.

ví dụ: mình có 2 file:
file 1: tên "FileToDelete"

file 2 tên "tu mo"

làm sao chỉ mở file 2 mà chạy được code file 1. không mở file 1 lên.

cảm ơn anh em GPE nhiều.
 

File đính kèm

Upvote 0
có cách nào không mở mà vẫn chạy được không.

ví dụ: mình có 2 file:
file 1: tên "FileToDelete"

file 2 tên "tu mo"

làm sao chỉ mở file 2 mà chạy được code file 1. không mở file 1 lên.

cảm ơn anh em GPE nhiều.

từ trước đến giờ mọi người vẫn thường phải mở file nguồn lên rồi đóng lại (ngay cả ADO) chứ sao ko mở lên được --=0
 
Upvote 0
Mình không rành về code và ADO lắm nên mới hỏi? nhiều khi có lại hay. +-+-+-+
 
Upvote 0

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

Back
Top Bottom