

Jak detekovat existenci doplňku v Excelu
Potřeboval bych nějak detekovat, zda je v Excelu přítomen (pokud ano, pak ještě zda je zapnut či vypnut) COM doplněk Microsoft Azure Information Protection. Je to nedodělek od Microsoftu působící problémy v případě, že je Excel volán z jiné aplikace. Potřebuji tuto situaci nějak ošetřit. Je asi jedno, zda pomocí VBA přímo v Excelu či PowerShellem. Nedaří se mi ale najít žádnou informaci jak postupovat. Díky za rady.
Detekce problémového doplňku vyřešena pomocí jednoduchého makra, které přikládám pro případné další zájemce. Díky za vyhledané odkazy, které mi poskytly informace vedoucí k řešení.
Sub testMSIP()
Dim certAddin As COMAddIn
Err.Number = 0
On Error Resume Next ' pri chybe pokracuj dále bez varovani
With Application.COMAddIns("MSIP.ExcelAddin")
If Err.Number > 0 Then
'nastala chyba
If Err.Number = 9 Then
' chyba, že v kolekci není, nemohu pouzit COMAddIns.Description
MsgBox "Doplněk Microsoft Azure Information Protection nebyl nalezen"
Else
'jina chyba, vypise jeji popis
MsgBox " chyba: " & Err.Description
End If
Else
'(bez chyby) existuje v kolekci COMAddIns
' vychozi nastaveni pro zobrazeni chyb
On Error GoTo 0
'test zda je zapnut
If .Connect = True Then
MsgBox "Nalezen aktivní doplněk : " & .Description
Else
MsgBox "Nalezen vypnutý doplněk : " & .Description
End If
End If
End With
End Sub
som rád, že sa podarilo
