Auto-Update für COM-Addin
Hallo Forum,
Ich habe ein COM-Addin geschrieben. Nun möchte ich einen Auto-Update-Mechanismus implementieren, der immer beim Aufruf eine neue Version des Addins von Laufwerk H nach Laufwerk C des Nutzers kopiert. Folgenden VBA-Code habe ich getestet:
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
Ich habe ein COM-Addin geschrieben. Nun möchte ich einen Auto-Update-Mechanismus implementieren, der immer beim Aufruf eine neue Version des Addins von Laufwerk H nach Laufwerk C des Nutzers kopiert. Folgenden VBA-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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 288567
Url: https://administrator.de/contentid/288567
Ausgedruckt am: 12.11.2024 um 19:11 Uhr
2 Kommentare
Neuester Kommentar
Moin,
das haben schon viele versucht, geht aber so nicht. Dazu brauchst du ein externes Tool was das File updatet, denn trotz dem das Addin nicht geladen ist, hat Excel einen Finger auf dem File wenn es geöffnet ist.
Du musst es also austauschen wenn Excel geschlossen ist.
Gruß grexit
p.s. Sehe gerade das wurde dir hier schon verklickert
COM-Addin aktivieren
Da haben die Kollegen ebenfalls absolut recht.
das haben schon viele versucht, geht aber so nicht. Dazu brauchst du ein externes Tool was das File updatet, denn trotz dem das Addin nicht geladen ist, hat Excel einen Finger auf dem File wenn es geöffnet ist.
Du musst es also austauschen wenn Excel geschlossen ist.
Gruß grexit
p.s. Sehe gerade das wurde dir hier schon verklickert
COM-Addin aktivieren
Da haben die Kollegen ebenfalls absolut recht.