在VBA for Excel中将参数分配给.open methon时遇到问题。 下面的代码是我所拥有的,我所需要的只是将指定的工作簿打开为只读且不可编辑。
请问如何设置参数才能正常工作!
Dim source As Workbook
Dim projekt, BOM As String
Dim count As Integer
Dim LastBOM As Long
LastBOM = Ark1.Range("I" & Rows.count).End(xlUp).Row
For count = 16 To LastBOM
BOM = Range("I" & count) 'List of Excel workbooks in active workbook
projekt = "[Path to file on drive]\" & BOM & ".xlsx"
Workbooks.Open (projekt) '<= This works and open above specified workbook
' but should be read only and not editable
Workbooks.Open(projekt,ReadOnly:=True,Editable:=False) '<= None of these work
Workbooks.Open(projekt,,True,,,,,,,False,,,,,)
Workbooks.Open(projekt,True,False)
Workbooks.Open("projekt",True,False)
Workbooks.Open(Filename:="projekt",True,False)
Workbooks.Open(Filename:=projekt,ReadOnly:=True,Editable:=False)
Workbooks.Open(Filename:="projekt",ReadOnly:=True,Editable:=False)
Next count
答案 0 :(得分:1)
阅读文档始终是一个好主意:Workbooks.Open Method (Excel)并使用ReadOnly
参数:
Workbooks.Open FileName:=projekt, ReadOnly:=True, Editable:=False
如果不需要返回值,也可以删除括号。或使用括号将工作簿返回到变量中:
Dim OpenedWorkbook As Workbook
Set OpenedWorkbook = Workbooks.Open(FileName:=projekt, ReadOnly:=True, Editable:=False)
我建议使用最后一个选项,因为这样您便可以轻松访问打开的工作簿,例如,使用:
OpenedWorkbook.Worksheets("Sheet1").Range("A1")