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
Please also mark the comments that contributed to the solution of the article
Content-Key: 288567
Url: https://administrator.de/contentid/288567
Printed on: April 20, 2024 at 01:04 o'clock
2 Comments
Latest comment
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.