如何在Excel中使用win命令打开特定的电子表格?

3
我知道你可以通过win cmd命令行打开Excel文件。但是如何在使用win cmd时打开该文件中的特定电子表格呢?

1
希望能对您有所帮助。http://office.microsoft.com/zh-cn/excel-help/command-line-switches-for-excel-HA010158030.aspx - Venki
我尝试了很多命令来进行暴力破解,但似乎没有任何效果。 - Venki
1
没有相关的命令行选项。如果您确实需要这样做,请创建一个 VBScript 脚本,打开 Excel 文件并激活所需的工作表。然后您可以从命令行调用该脚本。 - Tim Williams
@TimWilliams,我非常喜欢你回答问题的方式,你从不在存在任何歧义的情况下过早地进行回答。但在这种情况下,我建议你应该将上面的评论发布为答案。 - brettdj
@brettdj - 谢谢。我尽量不发表答案,除非我准备好费心包含代码... - Tim Williams
显示剩余2条评论
2个回答

5
  1. 将以下代码复制到文本编辑器中(如NotePad、WordPad、Word等)
  2. 将文件保存为“vbs”扩展名,例如
    ExcelSheet2.vbs
  3. 将此行 strFileName = "c:\temp\testa.xlsx" 更改为您想要的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

抱歉耽搁了。感谢@brettdj,这对我非常有效。 - inquisitive_one

0

或者您可以从命令行打开工作簿,并将以下代码添加到工作簿中以激活“Sheet2”

Private Sub Workbook_Open()

    ThisWorkbook.Sheets("Sheet2").Activate

End Sub

您需要确保工作簿位于受信任的位置,并且安全设置允许宏运行。@brettdj的解决方案更加优秀,但这是一种替代方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接