2012-01-13 99 views
3

我知道你可以從win cmd行打開一個Excel文件。但是,如何使用win cmd在該文件中打開特定的電子表格?什麼win cmd在Excel中打開特定的電子表格?

+1

希望它有幫助http://office.microsoft.com/en-us/excel-help/command-line-switches-for-excel-HA010158030.aspx – Venki 2012-01-13 17:00:51

+0

謝謝@Morpheus。但是這並沒有告訴我如何到達特定的工作表。例如,我想首先獲取Sheet2,而不是Sheet1。 – 2012-01-13 17:08:18

+0

我嘗試了一堆命令來強制它,nothin似乎工作。 – Venki 2012-01-13 17:26:03

回答

4
  1. 下面這行代碼strFileName = "c:\temp\testa.xlsx"粘貼到文本編輯器(記事本,寫字板,字 等)
  2. 保存有「VBS」擴展名的文件,例如
    ExcelSheet2.vbs
  3. 轉到您 所需的Excel文件路徑
  4. 然後,可以在命令行輸入的路徑名稱運行此的您VBS文件

如果文件路徑錯誤或第二張紙不存在,代碼具有錯誤處理。

[更新:加入進一步的錯誤處理,以測試第二片材被隱藏]

sample

Const xlVisible = -1 
Dim objExcel 
Dim objWb 
Dim objws 
Dim strFileName 
strFileName = "c:\temp\test.xlsx" 
On Error Resume Next 
Set objExcel = CreateObject("excel.application") 
Set objWb = objExcel.Workbooks.Open(strFileName) 
Set objws = objWb.Sheets(2) 
On Error GoTo 0 
If Not IsEmpty(objws) Then 
    If objws.Visible = xlVisible Then 
     objExcel.Goto objws.Range("a1") 
    Else 
     wscript.echo "the 2nd sheet is present but is hidden" 
    End If 
    objExcel.Visible = True 
Else 
    objExcel.Quit 
    Set objExcel = Nothing 
    If IsEmpty(objWb) Then 
     wscript.echo strFileName & " not found" 
    Else 
     wscript.echo "sheet2 not found" 
    End If 
End If 
+0

對不起,延誤。謝謝@ brettdj,這對我來說非常合適。 – 2012-01-25 17:01:29

0

或者,也可以打開命令行工作簿並添加以下代碼到工作簿以激活「Sheet2」

Private Sub Workbook_Open() 

    ThisWorkbook.Sheets("Sheet2").Activate 

End Sub 

您需要確保工作簿位於可信位置,並且安全設置允許宏運行。 @ brettdj的解決方案要優越得多,但這是另一種選擇。

相關問題