带有可选参数的Excel VBA Workbooks.open

时间:2016-02-16 13:54:20

标签: excel vba excel-vba

我确定这是一个非常基本的问题,有一个非常基本的答案,但到目前为止,我无法使我的Excel宏工作。

我正在尝试打开Excel工作簿并输入可选的密码参数。但是,每当我这样做时,我都会收到错误预期的编译错误:命名参数

这是我目前的代码

Sub password_opening_test()
Workbooks.Open Filename:="E:\password protecting macrotest.xlsx",,,,Password:="test"
Range("G7").Select
ActiveCell.FormulaR1C1 = "hello"
ActiveWorkbook.Save
ActiveWindow.Close
End Sub

我也通过在逗号之间添加方括号来尝试它,但我仍然收到错误(由第一个逗号突出显示)。

非常感谢阅读

1 个答案:

答案 0 :(得分:2)

我认为有两种选择:

  1. 斯科特在评论中详细说明 - 摆脱你的逗号
  2. 2。 只需使用正确位置的参数

    Sub password_opening_test()
      Workbooks.Open "E:\password protecting macrotest.xlsx",,,,"test"
      Range("G7").Select
      ActiveCell.FormulaR1C1 = "hello"
      ActiveWorkbook.Save
      ActiveWindow.Close
    End Sub
    

    为了记录,我更喜欢Scott的方法,因为它在将来重新访问代码时更具可读性。我喜欢使用行分隔符,因此它看起来像这样:

    Sub password_opening_test()
      Workbooks.Open _
          Filename:="E:\password protecting macrotest.xlsx", _  
          Password:="test"
      Range("G7").Select
      ActiveCell.FormulaR1C1 = "hello"
      ActiveWorkbook.Save
      ActiveWindow.Close
    End Sub