Addin in Excel 2003 mit Alt + F8 aktivieren

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Addin in Excel 2003 mit Alt + F8 aktivieren
von: Noureddine
Geschrieben am: 25.11.2015 17:42:01

Hallo zusammen,
habe ein kleines Problem.
Ich habe in Excel 2003 ein Makro geschrieben und als Addin (.XLA) gespeichert.
Dannach habe ich es auch aktivert über den VB-Editor kann ich es auch jederzeit starten.
Jedoch habe ich keine andere Möglichkeit (Alt + F8) dies zu starten. Das entsprechende Makro wird nicht abgelistet. Was habe ich hier falsch gemacht?
Ich danke vorab für eure Hilfe.

Bild

Betrifft: AW: Addin in Excel 2003 mit Alt + F8 aktivieren
von: mumpel
Geschrieben am: 25.11.2015 18:10:00
Hallo!
Vermutlich hast Du es als "Private" deklariert. Die Prozedur muss öffentlich sein.
Gruß, René

Bild

Betrifft: AW: Addin in Excel 2003 mit Alt + F8 aktivieren
von: Luschi
Geschrieben am: 25.11.2015 18:36:59
Hallo Noureddine,
auch wenn Du die Sub-Routinen des AddIn's auf 'Public' stellst und keine Parameter übergibst, werden die Addin-Prozeduren mit Alt-F8 nicht angezeigt.
Mit dem Abspeichern als AddIn erhält diese Arbeitsmappe eine Einstellung: IsAddIn = True
Damit sind alle Prozeduren des AddIn's für den User von der Excel-Oberobfläche aus unsichtbar/gesperrt.
Gruß von Luschi
aus klein-Paris

Bild

Betrifft: AW: Addin in Excel 2003 mit Alt + F8 aktivieren
von: Noureddine
Geschrieben am: 25.11.2015 21:19:02
Abend zusammen,
danke für die Antworten.
Aber ich bin leider noch immer nicht weiter gekommen.
Wie kann ich den mein Problem jetzt realisieren.
Excel 2007 funktioniert alles, leider nicht in Excel 2003.
Danke nochmals

Bild

Betrifft: AW: Addin in Excel 2003 mit Alt + F8 aktivieren
von: mumpel
Geschrieben am: 26.11.2015 03:29:23
Wie startest Du das Makro in Excel 2007?

Bild

Betrifft: AW: Addin in Excel 2003 mit Alt + F8 aktivieren
von: Noureddine
Geschrieben am: 26.11.2015 07:16:01
Mit einer selbst erstellem Button auf der Menüleiste.

Bild

Betrifft: AW: Addin in Excel 2003 mit Alt + F8 aktivieren
von: mumpel
Geschrieben am: 26.11.2015 07:52:15
Du meinst Menüband oder Schnellzugriffleiste. ;-) Menüs gibt es in Office 2007-2016 nicht (mehr). Damit Du das Makro auch in älteren Versionen nutzen kannst musst Du per VBA eine Symbolleiste erstellen, dabei darauf achten dass diese nur in Office 2000-2003 erstellt wird und in den neueren Versionen (2007-2016) nicht. Wie man das macht verraten Dir Tante Google und Onkel Bing.

Bild

Betrifft: AW: Addin in Excel 2003 mit Alt + F8 aktivieren
von: mumpel
Geschrieben am: 26.11.2015 08:12:46
Hier mal ein einfaches Beispiel. In "DieseArbeitsmappe" des Add-Ins.

Private Sub Workbook_Open()

 If Val(Application.Version) <= 11 Then
   
  Dim symb As CommandBar
  Dim AA As Object
  Set symb = Application.CommandBars.Add("MeineLeiste", Position:=msoBarTop, Temporary:=True)
      With symb
        .Left = 0
        .Visible = True
      End With
  Set AA = Application.CommandBars("MeineLeiste").Controls.Add(Type:=msoControlButton)
      With AA
        .FaceId = 1
        .Style = msoButtonCaption
        .Caption = "Jan"
        .BeginGroup = True
        .OnAction = "JanuarEin"
      End With
  Set AA = Application.CommandBars("MeineLeiste").Controls.Add(Type:=msoControlButton)
      With AA
        .FaceId = 2
        .Style = msoButtonCaption
        .Caption = "Feb"
        .OnAction = "FebruarEin"
      End With
 End If

End Sub

Private Sub Workbook_Close(cancel As Boolean)
  On Error Resume Next
  Application.CommandBars("MeineLeiste").Delete
  On Error GoTo 0
End Sub

VBA/HTML - CodeConverter für Office-Foren, AddIn für Excel/Word 2002-2013 - komplett in VBA geschrieben von Lukas Mosimann. Projektbetreuung durch mumpel

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0



Bild

Betrifft: AW: Addin in Excel 2003 mit Alt + F8 aktivieren
von: Luschi
Geschrieben am: 26.11.2015 09:54:00
Hallo Noureddine,
Du bleibst bei den Beschreibungen so nebulös; zeige doch mal endlich, wie Du das in Excel 2007 macht mit richtigem Vba-Code & Alt+F8 kannst Du total vergessen!
Gruß von Luschi
aus klein-Paris

Bild

Betrifft: AW: Addin in Excel 2003 mit Alt + F8 aktivieren
von: Noureddine
Geschrieben am: 26.11.2015 18:34:26
Hallo,
ich hab jetzt mal getestet. Leiste und Button ist vorhanden ist vorhanden.
Jedoch will mein Makro nicht laufen sofald ich auf den Button klicke.
Das Makro "C:\Users\Noureddine\Desktop\Symbolleiste.xlam'!.HalloWelt' kann nicht ausgeführt werden. Das Makro ist möglicherweise in dieser Arbeitsmaooe nicht verfügbar, oder alle Makros wurden deaktiviert.
Was mache ich hier falsch?
Hier mein Code:


Private Sub Workbook_Open()
 If Val(Application.Version) <= 14 Then
  Dim symb As CommandBar
  Dim AA As Object
  Set symb = Application.CommandBars.Add("MeineLeiste", Position:=msoBarTop, Temporary:=True)
      With symb
        .Left = 0
        .Visible = True
      End With
  Set AA = Application.CommandBars("MeineLeiste").Controls.Add(Type:=msoControlButton)
      With AA
        .FaceId = 1
        .Style = msoButtonCaption
        .Caption = "Test Makro"
        .BeginGroup = True
        .OnAction = ".HalloWelt"
      End With
'  Set AA = Application.CommandBars("MeineLeiste").Controls.Add(Type:=msoControlButton)
'      With AA
'        .FaceId = 2
'        .Style = msoButtonCaption
'        .Caption = "Feb"
'        .OnAction = "FebruarEin"
'      End With
 End If
End Sub
Private Sub Workbook_Close(cancel As Boolean)
  On Error Resume Next
  Application.CommandBars("MeineLeiste").Delete
  On Error GoTo 0
End Sub
Das Makro das ausgeführt werden soll (ist in der XLAM Datei in einem Modul geschrieben):

Private Sub HalloWelt()
MsgBox "Hallo Welt!", vbApplicationModal, "Hallo"
End Sub


Bild

Betrifft: AW: Addin in Excel 2003 mit Alt + F8 aktivieren
von: Mullit
Geschrieben am: 26.11.2015 18:50:27
Hallo,
....Punkt zuviel....:

.OnAction = ".HalloWelt"

Gruß, Mullit

Bild

Betrifft: AW: Addin in Excel 2003 mit Alt + F8 aktivieren
von: Noureddine
Geschrieben am: 26.11.2015 19:02:03
Super, hat jetzt geklappt.
Version 2003 wird aber leider keine neue Menüoption generiert, wie bei Excel 2007 oder 2010?

Bild

Betrifft: AW: Addin in Excel 2003 mit Alt + F8 aktivieren
von: Mullit
Geschrieben am: 26.11.2015 19:22:40
Hallo,
doch sogar noch besser, in Xl2003 wird Dir mit Renes Code eine echte CommandBar mit Namen "MeineLeiste" generiert, da die nur zwei Buttons hat, klebt die wahrscheinlich etwas unscheinbar zwischen den SystemBars.
Wenn Du hier schreibst:

Private Sub Workbook_Open()

 If Val(Application.Version) <= 11 Then
   
  Dim symb As CommandBar
  Dim AA As Object
  Set symb = Application.CommandBars.Add(Name:="MeineLeiste", Position:=msoBarFloating, Temporary:=True)
'...

schwebt sie über Deinem Excel-Workbook-Fenster...
Gruß, Mullit

Bild

Betrifft: AW: Addin in Excel 2003 mit Alt + F8 aktivieren
von: Mullit
Geschrieben am: 26.11.2015 19:32:59
Hallo,
...oder meinst Du ein Pendant zur Schnellzugriffsleiste(?), das gibts in xl2003 noch nicht...
Gruß, Mullit

Bild

Betrifft: AW: Addin in Excel 2003 mit Alt + F8 aktivieren
von: Noureddine
Geschrieben am: 26.11.2015 20:22:41
Nein das meine ich nicht.
Das passt soweit, vielen Danke.

Bild

Betrifft: AW: Addin in Excel 2003 mit Alt + F8 aktivieren
von: Noureddine
Geschrieben am: 30.11.2015 16:30:56
Gerstern hat noch alles super funktioniert. Heute hab ich die Excel-Anwendung gestartet und bekomme folgenden Fehler: "Laufzeitfehler 5 Ungültiger Prozeduraufruf oder ungültiges Argument"

Er markiert mir folgende Zeile:


Set symb = Application.CommandBars.Add("MeineLeiste", Position:=msoBarTop, Temporary:=True)
Was mache ich hier falsch?
Danke vorab für eure Hilfe.

Bild

Betrifft: AW: Addin in Excel 2003 mit Alt + F8 aktivieren
von: Noureddine
Geschrieben am: 30.11.2015 18:07:06
Gerstern hat noch alles super funktioniert. Heute hab ich die Excel-Anwendung gestartet und bekomme folgenden Fehler: "Laufzeitfehler 5 Ungültiger Prozeduraufruf oder ungültiges Argument"
Er markiert mir folgende Zeile:

Set symb = Application.CommandBars.Add("MeineLeiste", Position:=msoBarTop, Temporary:=True)
Was mache ich hier falsch?
Danke vorab für eure Hilfe.

Bild

Betrifft: AW: Addin in Excel 2003 mit Alt + F8 aktivieren
von: Mullit
Geschrieben am: 01.12.2015 00:15:11
Hallo,
das Close_Event war falsch notiert, vielleicht lag's daran, hab's jetzt nur mit einem .xlam-Addin in xl2007 getestet, lief mehrfach fehlerlos durch.
Noch als Zusatz: guck Dir mal an, wie Nepumuk Commandbars in Addins generiert, das ist bei einer größeren Control-Anzahl durchaus von Vorteil...

' ********************************************************************** 
' Modul: DieseArbeitsmappe Typ: Klassenmodul der Arbeitsmappe 
' ********************************************************************** 

Option Explicit

Private Const GC_COMMANDBAR_NAME As String = "MeineLeiste"

Private Sub Workbook_BeforeClose(Cancel As Boolean)
 Call prcDeleteCommandBar
End Sub

Private Sub Workbook_Open()

 If Val(Application.Version) <= 14 Then
   
  Dim cmbBar As CommandBar
  Dim cmbButton As CommandBarButton
  Call prcDeleteCommandBar
  Set cmbBar = Application.CommandBars.Add(Name:=GC_COMMANDBAR_NAME, _
      Position:=msoBarTop, Temporary:=True)
      With cmbBar
          .Left = 0
          .Visible = True
          Set cmbButton = .Controls.Add( _
              Type:=msoControlButton, Temporary:=True)
              With cmbButton
                .FaceId = 1
                .Style = msoButtonCaption
                .Caption = "Jan"
                .BeginGroup = True
                .OnAction = "JanuarEin"
              End With
          Set cmbButton = .Controls.Add( _
              Type:=msoControlButton, Temporary:=True)
              With cmbButton
                .FaceId = 2
                .Style = msoButtonCaption
                .Caption = "Feb"
                .OnAction = "FebruarEin"
              End With
      End With
      Set cmbBar = Nothing
      Set cmbButton = Nothing
 End If
End Sub

Private Sub prcDeleteCommandBar()
 Dim cmbBar As CommandBar
 On Error Resume Next
 For Each cmbBar In Application.CommandBars
    If cmbBar.Name = GC_COMMANDBAR_NAME Then _
      Call cmbBar.Delete
 Next
 On Error GoTo 0
End Sub

' ********************************************************************** 
' Modul:  Typ: Standardmodul 
' ********************************************************************** 

Option Explicit

Public Sub JanuarEin()
 MsgBox "JanuarEin"
End Sub

Public Sub FebruarEin()
 MsgBox "FebruarEin"
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 12

Gruß, Mullit

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Addin in Excel 2003 mit Alt + F8 aktivieren"