0
我有一個工作簿中的宏分配到快捷方式CTRL + S
(故意),它在保存文件之前運行一些東西,但是這個快捷方式被其他任何文檔拾取, 。Excel VBA - 如果activeworkbook是這本工作簿
您可以直接測試Activeworkbook
= ThisWorkbook
,所以在使用其他工作簿時忽略它嗎?
Sub ShowHiddenSheets()
If ThisWorkbook = ActiveWorkbook Then
`code stuff
End If
Exit Sub
也許這樣的事情? '如果ThisWorkbook.Fullname = ActiveWorkbook.Fullname' – tigeravatar
僅供參考 - 而不是「綁定」宏到'CTRL + S',有一個['Workbook BeforeSave()'](https://msdn.microsoft.com/en- us/library/office/ff840057.aspx)事件。您可能更喜歡使用它,因爲'CTRL + S'可能不一定在保存工作簿之前運行。使用該事件幾乎可以確保代碼在保存之前運行。 – BruceWayne
@BruceWayne謝謝,但是它綁定到CTRL + S而不是'BeforeSave'的原因是這個文件被其他人使用,他們的excel中有一個AddIn,它在保存之前改變了文件中的某些東西,我無法控制這個但它阻止我能夠使用'BeforeSave',因此解決方法。 –