2012-01-13 89 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的解决方案要优越得多,但这是另一种选择。

相关问题