2013-06-04 163 views
-1

我在VBScript中編寫了一個Excel,其操作方式顯示在Excel工作表的左下角,其工作正常,但問題在於相同的操作也顯示在其他Excel中打開的表單,但與我的操作正在執行的Excel表單無關。更改狀態欄的更新行爲

Status bar text

我怎樣才能避免其他Excel工作表將顯示相同的動作?

+3

我假設您指的是StatusBar文本。如果是這樣,這是一個應用程序實例控件;您必須打開一個新的Excel實例(不只是另一個工作簿)才能擁有另一個StatusBar。 –

+0

附加一個鏈接爲您的參考。 http://i.stack.imgur.com/GLaN3.jpg – Amit1

+1

@PieterGeerkens的想法是第一種可能性。另一個是在某些情況下,爲你製作宏的人忘了在Excel應用程序中關閉狀態欄。您可以按照以下方式手動切換:Alt + F11 >>即時窗口>>寫入:Application.Statusbar = false >>按enter ...如果宏仍在運行,可能是取決於代碼的編程方式,更改不會是永久性的。 –

回答

0

問題是StatusBar是全局的,並不是每個工作簿都特定的。

但是,您可以使用Workbook_ActivateWorkbook_Deactivate事件避免該問題。將以下代碼放入工作簿的ThisWorkbook模塊中:

Private mVarOldStatusBar As Variant 

Private Sub Workbook_Deactivate() 
    mVarOldStatusBar = Application.StatusBar 
    Application.StatusBar = False 
End Sub 

Private Sub Workbook_Activate() 
    If mVarOldStatusBar <> "" Then _ 
     Application.StatusBar = mVarOldStatusBar 
End Sub