-Code am unterenWorkbook.Open-Code stehen bleibt auf halbem Wege durch
ich auf ein Update System gerade arbeite für die AddIn Ich habe für mein Team bei der Arbeit zu nutzen.
Ich habe eine Mini-Datei 'Helper' erstellt. Wenn es geöffnet ist, hat es die folgenden:
1) Speichert sich Application.StartupPath
2) Deinstalliert die aktuelle Version der AddIn
3) Kopiert die aktuelle Version des AddIn aus der Network Drive an den lokalen ADDINS Ordner
4) Erneute Installation der neuen Version des AddIn
5) Schließt sich (die Helper-Datei)
Auf diese Weise wird immer, wenn jemand Excel öffnet, immer die neueste Version des AddIns vorhanden sein.
Wenn jemand Excel von Grund auf neu öffnet, oder sie die Hilfedatei direkt öffnen, funktioniert alles oben wie erwartet. Wenn ich jedoch versuche, von dem ADDIN zu aktualisieren, tut es das nicht.
Es gibt eine Schaltfläche "Update" auf dem AddIn. Klicken Sie auf diese Schaltfläche, um die Hilfedatei zu öffnen. Die Idee ist, dass wenn die Hilfedatei geöffnet wird, wird automatisch das AddIn aktualisiert.
jedoch die Helper-Code (die alle in Workbook_Open enthalten ist) bei nicht mehr läuft: AddIns (sAddInName) .Installed = False
Es gibt keine Fehler oder irgendetwas. Wenn ich in den Code eintrete, nachdem die Zeile ausgeführt wurde, führt das AddIn seinen BeforeClose() - Code aus, und nachdem es fertig ist, stoppt es einfach, als ob kein Code dahinter wäre (obwohl es da ist).
Relevante-Code
Helper-Code - Protokollierung/Fehlerbehandlung entfernt
Private Sub Workbook_Open()
'Load Master Path and AddIn Path
Dim sAddInPath As String, sAddInMasterPath As String
sAddInPath = Environ$("APPDATA") & "\Microsoft\Addins\TAAA.xlam"
sAddInMasterPath = "...\TAAA - AddIn.xlam"
'If TAAA Helper Isn't Auto-Open, Set to Auto-Open
If ThisWorkbook.Path <> Application.StartupPath Then
ThisWorkbook.SaveAs Application.StartupPath & "\" & ThisWorkbook.Name
End If
'If AddIn Is Available Then Uninstall It
If bAddInAvailableToInstall("TAAA") Then
AddIns("TAAA").Installed = False
-------- IT NACH OBEN LINE STOPPT ------- -
End If
'Copying Master AddIn to Local Path
FileCopy sAddInMasterPath, sAddInPath
'If AddIn Is Unavailable Then Add It
If Not bAddInAvailableToInstall("TAAA") Then
Dim myAddIn As AddIn
Set myAddIn = Application.AddIns.Add(Filename:=sAddInPath, CopyFile:=True)
End If
'Installing AddIn
AddIns("TAAA").Installed = True
ThisWorkbook.Close
End Sub