Использовать один и тот же макрос с переменными во всей книге - PullRequest
0 голосов
/ 04 ноября 2019

Я хотел бы использовать кусок кода в нескольких модулях Workbook VBA. В основном это используется для установления соединения с системой управления файлами через ее клиента. Я использую его во многих макросах и должен копировать его в каждый модуль отдельно. Можно ли преобразовать это в какую-нибудь публичную функцию или макрос, чтобы ее можно было использовать во всей Рабочей книге?

В верхней части каждого модуля есть эта:

Option Explicit

Const szVaultName = "Name"
Const szVaultGUID As String = "{1234}" 

Public oMFClientApp As New MFilesAPI.MFilesClientApplication
Public oObjVerFile As MFilesAPI.ObjectVersionAndProperties
Public oVault As MFilesAPI.Vault
Public oObjectSearchResults As MFilesAPI.ObjectSearchResults

Вот коддля установления соединения:

Sub EstablishMFilesConnection()
    Dim oMFClientApp As New MFilesAPI.MFilesClientApplication
    Dim oVaultConnections As MFilesAPI.VaultConnections

    'Login to the vault
    Set oVaultConnections = oMFClientApp.GetVaultConnectionsWithGUID(szVaultGUID)

    If oVaultConnections.Count = 0 Then
        Set oVault = oMFClientApp.BindToVault(szVaultName, 0, True, True)
        MsgBox "No vaults found with the GUID: " + szVaultGUID, vbExclamation
        End
    Else
        On Error Resume Next

        Set oVault = oMFClientApp.BindToVault(oVaultConnections.Item(1).Name, 0, True, True)
        oVault.TestConnectionToVault

        If Err.Number <> 0 Then
            MsgBox "Can't connect to M-Files", vbExclamation
            End
        End If

        On Error GoTo 0
    End If

    On Error GoTo 0

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...