Auto-Update für COM-Addin
16.11.2015 14:21:16
Born
Ich habe ein COMM-Addin geschrieben. Nun möchte ich einen Auto-Update-Mechanismus implementieren, der immer beim Aufruf eine neue Version von Laufwerk H nach Laufwerk C des Nutzers kopiert. Folgenden Code habe ich getestet:
Sub test()
For i = 2 To Application.COMAddIns.Count
If Application.COMAddIns(i).Description = "MyMakros" Then Application.COMAddIns(i).Connect = _
False
Next
Kill "C:\MyMakros.xll"
Application.ExecuteExcel4Macro "UNREGISTER(""C:\MyMakros.xll"")"
Kill ("C:\MyMakros.xll")
Dim myFso As Object
Set myFso = CreateObject("Scripting.FileSystemObject")
myFso.copyfile "H:\MyMakros.xll", "C:\MyMakros.xll"
Application.RegisterXLL Filename:="C:\MyMakros.xll"
End Sub
Wenn die XLL beim Start des VBA-Makros nicht geladen ist, funktioniert das Makro, aber wenn sie gerade geöffnet ist, erhalte ich eine Fehlermeldung beim Aufruff von Kill. Das verstehe ich nicht, da die XLL in der COM-Addin-Auflistung von Excel als "nicht geladen" markiert ist. Gibt es noch einen anderen Weg?Vielen Dank im voraus,
M. Born