1
我想设置变量以始终引用特定的工作簿;现在我按照下面列出的方式进行操作,但我不希望它每次都打开文档。我应该有什么呢?还请注意是否有任何变量需要改变或沿着这些线。将变量设置为工作簿
Dim wbkC as workbook
Set WbkC = Workbooks.Open(Filename:="G:\Reporting\ReportCompare.xls")
我想设置变量以始终引用特定的工作簿;现在我按照下面列出的方式进行操作,但我不希望它每次都打开文档。我应该有什么呢?还请注意是否有任何变量需要改变或沿着这些线。将变量设置为工作簿
Dim wbkC as workbook
Set WbkC = Workbooks.Open(Filename:="G:\Reporting\ReportCompare.xls")
如果不是,可以使用自定义函数打开它,或者如果是,则抓取打开的副本。
Public Sub Main()
Dim wbkC As Workbook
'This will open it
Set wbkC = GetWorkbookReference("G:\Reporting\ReportCompare.xls")
'This will not open it b/c it's already open
Set wbkC = GetWorkbookReference("G:\Reporting\ReportCompare.xls")
End Sub
Public Function GetWorkbookReference(ByVal sFullName As String) As Workbook
Dim wbReturn As Workbook
On Error Resume Next
'If it's open, get a reference to it
Set wbReturn = Workbooks(Dir$(sFullName))
On Error GoTo 0
'If it's not open, open it
If wbReturn Is Nothing Then
Set wbReturn = Workbooks.Open(sFullName)
End If
Set GetWorkbookReference = wbReturn
End Function
你在用什么?你可以隐藏工作簿或只使用地址,如果托管一个公式? – glh 2013-05-13 11:46:40
使用'wbck.windows(1).visable = false' – glh 2013-05-13 11:57:47
@glh我基本上用它来简化引用范围。而不是输入工作簿(名称).worksheets(“sheet1”)。range(“A”)。value我宁愿键入wbkA.worksheets(“sheet1”)。range(“A”)。value – 2013-05-13 12:06:59