2013-05-30 80 views
-1

我用一些打開特定工作表的命令按鈕創建了一個窗體。問題是,當我從命令按鈕打開excel文件,如果窗體沒有隱藏,我不能點擊打開的文件(它未激活)從窗體中打開excel表單

即使我隱藏窗體,我需要要從任務欄手動轉到該文件,它不會被激活。

的問題是:

  1. 我不希望我的形式加以隱藏,因爲我希望用戶能夠打開多張
  2. 打開的表不得到激活做。

這裏是我的代碼:

Private Sub CommandButton1_Click() 
    Dim Wb As Excel.Workbook 
    Set Wb = Workbooks.Open(Filename:="D:/power system design/foo.xlsx", ReadOnly:=False) 
    UserForm1.Hide 
    Wb.Activate 
    Wb.Sheets("Sheet1").Cells(1, 1).Select 
End Sub 
+1

一些基於你想要達到的選項,但我建議調查你的表單的ShowModal屬性。並可能使Excel.Application的新實例打開文件。 –

+0

@DanielCook對不起,但我不知道窗體的ShowModal屬性。是否有任何「捷徑」選擇,因爲我需要快速發佈工作表。 –

回答

2

這是一個快速的方法來完成你說什麼,你希望他們幹。它可能不是最好的辦法,但你應該能夠在刪除它,並運行它:

Private Sub CommandButton1_Click() 
    Dim xls As Excel.Application 
    set xls = new Excel.Application 
    xls.Workbooks.Open "D:/power system design/foo.xlsx", ,False 
    xls.Visible = true 
End Sub 

,或者如果你想打開的工作簿,工作

Private Sub CommandButton1_Click() 
    Dim xls As Excel.Application 
    Dim wb as Excel.Workbook 
    set xls = new Excel.Application 
    set wb = xls.Workbooks.Open(Filename:="D:/power system design/foo.xlsx", ReadOnly:=False) 
    xls.Visible = true 
End Sub 

這將導致工作表在新的Excel應用程序窗口中打開。

+0

它說xls.Workbooks.Open(文件名:=「D:/電源系統設計」,ReadOnly:= False)的語法錯誤' –

+0

它工作,如果我添加'Dim wb as Excel.workbook',然後'Set wb = xls.Workbooks.Open(文件名:=「D:/電源系統設計」,ReadOnly:= False)' –

+0

啊,對。由於括號,VBA嘗試使用返回的對象。我會更新代碼以避免錯誤。 –