【问题标题】:What the win cmd to open a particular spreadsheet in Excel?在 Excel 中打开特定电子表格的 win cmd 是什么?
【发布时间】:2012-01-13 16:56:46
【问题描述】:

我知道您可以从 win cmd 行打开 Excel 文件。但是如何使用 win cmd 打开该文件中的特定电子表格?

【问题讨论】:

  • 谢谢@Morpheus。但这并没有告诉我如何到达特定的工作表。例如,我想先获取 Sheet2,而不是 Sheet1。
  • 我尝试了一堆命令来暴力破解它,似乎没有任何工作。
  • 没有命令行选项。如果您确实需要这样做,请创建一个打开 Excel 文件并激活所需工作表的 vbscript。您可以从命令行调用它。
  • @TimWilliams 我真的很喜欢你回答问题的方式,你永远不会太早跳入有任何歧义的地方。但在这种情况下,我建议您应该发布上面的评论作为答案。

标签: windows excel vbscript cmd


【解决方案1】:
  1. 将以下代码粘贴到文本编辑器(记事本、写字板、Word 等)
  2. 使用“vbs”扩展名保存文件,例如
    ExcelSheet2.vbs
  3. 将此行 strFileName = "c:\temp\testa.xlsx" 更改为您的 所需的 Excel 文件路径
  4. 然后您可以通过输入 vbs 文件的路径名从命令行运行它

如果文件路径错误或第二张纸不存在,代码会进行错误处理。

[更新:添加了进一步的错误处理以测试第二张工作表是否被隐藏]

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,这对我来说非常有用。
【解决方案2】:

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

Private Sub Workbook_Open()

    ThisWorkbook.Sheets("Sheet2").Activate

End Sub

您需要确保工作簿位于受信任的位置,并且安全设置允许宏运行。 @brettdj 的解决方案要好得多,但这是另一种选择。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多