Как сохранить экземпляр уникальным? - PullRequest
0 голосов
/ 04 января 2019

В своей работе я создал рабочую книгу для всей моей команды, сохранил макрос в personal.xlsb, чтобы открыть его из любого места в другом экземпляре Excel. Сейчас он работает нормально, но я нашел проблему, которую не могу решить:

Когда рабочая книга является последней открытой книгой (когда первый экземпляр Excel закрыт и оставлен только экземпляр моей рабочей книги), следующие открытые книги запускаются в том же экземпляре рабочей книги. (первоначально в экземпляре 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

1 Ответ

0 голосов
/ 04 января 2019

Я не совсем уверен, в чем ваша проблема, но ниже приведена функция, которую я использую, чтобы открыть книгу, если она еще не открыта.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...