Я хотел бы использовать кусок кода в нескольких модулях 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