在我的工作中,我制作了一个供整个团队使用的工作簿,将一个宏保存在personal.xlsb中,可以在其他excel实例中的任何位置打开它。 到目前为止,它的工作正常,但是我发现了一个我无法解决的问题:
当工作簿是最后一个打开的工作簿时(当excel的第一个实例关闭并且仅保留我的工作簿的实例时),我打开的下一个工作簿将从工作簿的SAME实例开始。 (最初在实例2中)迫使我再次运行代码以将其分开。
有什么方法可以专门保护该实例到工作簿本身吗?
对不起,我的英语不好。
谢谢
我的代码是:
Sub quickwb()
Dim NewExcel As Object
Set NewExcel = New Excel.Application
With NewExcel
.DisplayAlerts = False
.Visible = True
.Workbooks.Open "workbooknameandpath"
.DisplayAlerts = True
End With
End Sub
答案 0 :(得分:0)
我不确定您的问题是什么,但是下面是一个用于打开工作簿(如果尚未打开)的函数。
Sub QuickWB()
On Error Resume Next
Dim wb As Workbook: Set wb = GetWorkBook("pathandbook")
If Not wb Is Nothing Then
' Do something
End If
End Sub
Public Function GetWorkBook(ByVal sFullName As String, Optional ReadOnly As Boolean) As Workbook
Dim sFile As String: sFile = Dir(sFullName)
On Error Resume Next
Set GetWorkBook = Workbooks(sFile)
If GetWorkBook Is Nothing Then Set GetWorkBook = Workbooks.Open(sFullName, ReadOnly:=ReadOnly)
On Error GoTo 0
End Function