Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
800to804
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
800to804
800to804
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

xla debuggen

xla debuggen
14.09.2006 11:21:19
RolfK
Hallo Forum,
wahrscheinlich sehe ich den Wald vor lauter Bäumen nicht.
Habe ein AddIn erstellt und mit Passwort geschützt. Funktioniert auch seit einigen Jahren einwandfrei. Nun möchte ich einige Ergänzungen einpflegen. Öffne also über die Eingabe des Passwortes das AddIn und setzte einen Haltepunkt in die Prozedur. Aber bei Auslösen der Prozedur über eine Schaltfläche hält das Ding nicht an, führt aber alle Aktivitäten aus.
Bei einem anderen AddIn, welches nicht über Passwort geschützt ist funktioniert das tadellos.
Kann mit jemand aus dem Wald helfen?
Rolf

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Ursache gefunden, aber noch offen.....
14.09.2006 13:31:19
RolfK
Hallo,
in einer offenen Arbeitsmappe waren die Sub's des AddIn in leicht abgewandelter Form jedoch mit gleichem Namen ebenfalls enthalten.
Jetzt stellt sich eigentlich nur noch die Frage, warum wurden diese ausgeführt und nicht die zum AddIn gehörenden. Besonders weil doch der Aufruf über Schaltflächen erfolgte, die vom AddIn erzeugt wurden.
Hat hier noch jemand eine Idee?
Rolf
AW: Ursache gefunden, aber noch offen.....
14.09.2006 13:34:57
Rudi
Hallo,
wenn die .OnAction-Eigenschaft der Commandbarbuttons nicht explizit auf das AddIn verweist, 'zieht' immer zuerst das aktive Workbook.
Gruß
Rudi
und wie ....
RolfK
Hallo Rudi,
danke für den Hinweis, aber wie verweise ich explizit aud das AddIn?
Derzeit erzeuge ich die CommandBarButtons wie folgt:
Sub SchaltflaechenErzeugen()
Dim objCB As CommandBar
Call ButtonAnlegen("Blätter auflisten", 222, "ErmittelnArbeitsbl", True)
Call ButtonAnlegen("Blätter sichtbar", 1669, "BlaetterSichtbar", False)
Call ButtonAnlegen("Blätter unsichtbar", 1670, "BlaetterUnsichtbar", False)
End Sub

Private Sub ButtonAnlegen(strCaption As String, intFaceID As Integer, strMakro As String, blnGruppe As Boolean)
Dim objCTL As CommandBarControl
'Schaltfläche anlegen
Set objCTL = Application.CommandBars("Formatting").Controls.Add(Type:=msoControlButton)
With objCTL
.FaceId = intFaceID 'Grafisches Symbol festlegen
.BeginGroup = blnGruppe 'Gruppenbildung
.Caption = strCaption 'Beschriftung festlegen
.OnAction = strMakro 'Makro zuweisen
End With
End Sub

Rolf
Anzeige
AW: und wie ....
14.09.2006 15:04:23
Rudi
Hallo,
dazu braucht es einen kleinen Umweg.

Private Sub ButtonAnlegen(strCaption As String, intFaceID As Integer, strMakro As String, blnGruppe As Boolean)
Dim objCTL As CommandBarControl
'Schaltfläche anlegen
Set objCTL = Application.CommandBars("Formatting").Controls.Add(Type:=msoControlButton)
With objCTL
.FaceId = intFaceID 'Grafisches Symbol festlegen
.BeginGroup = blnGruppe 'Gruppenbildung
.Caption = strCaption 'Beschriftung festlegen
.Tag = ThisWorkbook.Name & "!" & strMakro
.OnAction = "Start" 'Makro zuweisen
End With
End Sub

Sub Start()
Application.Run CommandBars.ActionControl.Tag
End Sub
Gruß
Rudi
Anzeige
Nachfrage...
14.09.2006 16:51:33
RolfK
Hallo Rudi,
danke, funktioniert. Den Zusammenhang habe ich, so glaube ich jedenfalls, verstanden. Nur warum funktioniert dann folgender Aufruf nicht?
.OnAction = "AddInName!BlaetterUnsichtbar"
Denn in das (den) .Tag wird ja auch nur dieser Text eingetragen.
mfg Rolf
AW: Nachfrage...
14.09.2006 20:09:01
Rudi
Hallo,
da musst du Bill G. fragen ;-)
Gruß
Rudi
AW: Nachfrage...
16.09.2006 09:04:01
Gerd
Hallo Rolf,
probier' mal:
.OnAction = "AddInName.xla!BlaetterUnsichtbar"
Gruß
Gerd
Geht leider auch nicht...
16.09.2006 10:53:47
RolfK
Hallo Gerd,
diese Variante hatte ich auch probiert. Geht leider nicht.
Dann bleibt es wahrscheinlich doch das große letzte Geheimnis von Bill G.!
mfg Rolf
Anzeige
AW: Geht leider auch nicht...
17.09.2006 12:36:27
Gerd
Hallo Rolf,
bei mir geht' s.

Sub Schaltflächen_Erzeugen()
CommandBars("Formatting").Reset
Call ButtonAnlegen("Blätter sichtbar", 1669, "MeinAddIn.xla!Blätter_Sichtbar", True)
Call ButtonAnlegen("Blätter unsichtbar", 1670, "MeinAddIn.xla!Blätter_Unsichtbar", False)
End Sub


Sub ButtonAnlegen(strCaption As String, intFaceID As Integer, strMakro As String, blnGruppe As Boolean)
Dim newButton As CommandBarButton
Set newButton = CommandBars("Formatting").Controls.Add(Type:=msoControlButton, Temporary:=True)
With newButton
.FaceId = intFaceID
.BeginGroup = blnGruppe
.Caption = strCaption
.OnAction = strMakro
End With
End Sub


Sub Blätter_Sichtbar()
ActiveWorkbook.Worksheets("Tabelle2").Visible = xlSheetVisible
End Sub


Sub Blätter_Unsichtbar()
ActiveWorkbook.Worksheets("Tabelle2").Visible = xlSheetVeryHidden
End Sub

Gruß
Gerd
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige