iT邦幫忙

0

VBA如何判斷檔案從哪裡被開啟

假設我有AˋBˋC檔案
目前我A檔案跟B檔案都可以開C檔案
我在C檔案讓它打開就出現表單是為了A檔案(等於A檔案開啟 C檔案才自動打開表單)
B檔案開C檔案 C檔案就不會出現表單
所以想知道VBA怎麼判斷檔案從哪個檔案開啟
是不是在C檔案的thisbook那邊要用
if filename=A檔案
表單0.show
end if
這樣嗎

1 個回答

0
froce
iT邦大師 4 級 ‧ 2019-05-15 15:01:20

你的描述看的我頭好痛...
要看你怎麼呼叫workbook的,如果都是同一個process下可以呼叫Application.Workbooks來看看。

function AisOpened()
    For Each w In Application.Workbooks 
        If w.Name = 'A檔案' Then 
        
            AisOpened = True
            exit Function
    
        End If 
    Next w
    
    AisOpened =False
end function

大概是這樣,太寫沒寫了,應該沒辦法一次寫對,自己看一下想法自己改。

多謝告知

paicheng0111 iT邦研究生 1 級 ‧ 2019-05-16 08:38:28 檢舉

引用 froce 的程式並稍微調整如下:

Function AisOpened() As Boolean
    Dim a As Workbook
    
    On Error Resume Next
    Set a = Application.Workbooks("A檔案")
    
    If Err Then
        AisOpened = False
    Else
        AisOpened = True    
    End If 
    On Error Goto 0
End Function

多謝 我已經改好了 執行也順利出現我要的

我要發表回答

立即登入回答