Anzeige
Archiv - Navigation
880to884
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
880to884
880to884
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Variablenbelegung durch Menuauswahl

Variablenbelegung durch Menuauswahl
30.06.2007 17:36:05
Thomas
Hallo zusammen,
ich habe folgenden Quelltext in Visual Basic:
*************************************************************
Set Knopf_Inhalt = Symbolleiste.Controls.Add(Type:=msoControlButton)
With Knopf_Inhalt
.Caption = "Inhalt"
.OnAction = "verw_Inhalt"
.Style = msoButtonIconAndCaption
End With
*************************************************************
meine Fragen wären jetzt folgende:
1) kann man, wenn dieser Menupunkt gewählt wird einer Variable "a"
einen gewünschten Wert zuweißen lassen?
Am liebsten würd ich unter .OnAction einfach schreiben a=1 aber das geht ja nicht :(.
Habe eine Prozedur die über mehrere Menupunkte erreichbar sein soll,
aber halt immer mit anderen Werten gespeist wird.
2) wie kann ich dem Menupunkt ein Icon zuweißen (am besten aus einer Bilddatei)?

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variablenbelegung durch Menuauswahl
30.06.2007 17:55:40
Original
Hi,
1. sieh dir die ActionControl-Eigenschaft in der Hilfe an, da ist ein aussagekräftiges Beispiel dabei.
2. Ein Symbol aus einer Datei zu laden ist nicht so ganz einfach und fehleranfällig, weil du ja
die Datei mitliefern musst, falls du deine Mappe weitergeben willst.
Ein Icon kannst über die Eigenschaft FaceId zuweisen.
mfg Kurt

AW: Variablenbelegung durch Menuauswahl
30.06.2007 17:55:41
Original
Hi,
1. sieh dir die ActionControl-Eigenschaft in der Hilfe an, da ist ein aussagekräftiges Beispiel dabei.
2. Ein Symbol aus einer Datei zu laden ist nicht so ganz einfach und fehleranfällig, weil du ja
die Datei mitliefern musst, falls du deine Mappe weitergeben willst.
Ein Icon kannst über die Eigenschaft FaceId zuweisen.
mfg Kurt

Anzeige
Oops?
30.06.2007 17:56:22
Original
ot

AW: Variablenbelegung durch Menuauswahl
30.06.2007 18:23:10
Thomas
Danke Kurt,
das mit .Tag hilft mir weiter! Kann man auch mehr als nur einen Wert übergeben?
Wie kann ich ihn einem Menu eine waagerechte Trennlinie einfügen, weiß das wer?
Das mit FaceId schränkt halt sehr auf die bestehenden Excel Icons ein.....
MfG
Thomas

AW: Variablenbelegung durch Menuauswahl
30.06.2007 18:54:53
Original
Hi,
Trennlinie mit BeginGroup = True
"Das mit FaceId schränkt halt sehr auf die bestehenden Excel Icons ein....."
Falsch, dir stehen alle aus dem gesamten Office zur Verfügung, sind immerhin
einige tausend.
mfg Kurt

AW: Variablenbelegung durch Menuauswahl
30.06.2007 19:00:31
ransi
HAllo Thomas
Du kannst die Icons in der Datei mitliefern.
das Blatt kannst du auch ausblenden.
Ist nicht schwer.
Schau es dir mal an.
https://www.herber.de/bbs/user/43719.xls
OnAction und ActionControl musst du allerdings noch reinfrickeln...
ransi

Anzeige
Werte in Variablen übergeben
30.06.2007 19:08:00
Thomas
Cool, vielen dank!!!!
im Prinzip habt ihr mir alles erklärt, steht nur noch die Frage ob ich auch mehr als nur einen
Wert in eine andere Prozedur übergeben kann, denn das würde mir noch mal viel arbeit abnehmen!!
Mit .Tag kann man ja nur einen Wert übergeben...
MfG
Thomas

AW: Werte in Variablen übergeben
30.06.2007 19:11:00
Hajo_Zi
Hallo Thomas,
mit .Tag kannst Du auch mehere werte übergeben Du musst Die nur durch ein eindeutiges Trennzeichen trennen. Dann musst Du sie nur auftrennen.

AW: Werte in Variablen übergeben
30.06.2007 19:15:05
Thomas
und wie geht das?
klingt mir jetzt relativ aufwendig... und ich hab keinen plan davon

Anzeige
AW: Werte in Variablen übergeben
30.06.2007 19:30:00
Hajo_Zi
Hallo Thomas,
ich hatte meinen Beitrag nur wegen der Eigenschaft .Tag geschrieben. Ich hatte den Beitrag nicht verfolgt. Ich habe es jetzt mal in einer UserForm getestet.

Option Explicit
Dim InWerte(2) As Integer
Dim Ini As Integer
Dim Stwert As String
Private Sub CommandButton1_Click()
Stwert = CommandButton1.Tag
For Ini = 0 To 1
InWerte(Ini) = Left(Stwert, InStr(Stwert, ";") - 1)
Stwert = Mid(Stwert, InStr(Stwert, ";") + 1)
Next Ini
InWerte(2) = Stwert
For Ini = 0 To 2
MsgBox "Varible " & Ini + 1 & " " & InWerte(Ini)
Next Ini
End Sub
Private Sub CommandButton2_Click()
CommandButton1.Tag = "123;456;234"
End Sub


Gruß Hajo

Anzeige
AW: Werte in Variablen übergeben
01.07.2007 07:06:01
Luschi
Hallo Thomas,
ich habe Ransi's Beispiel mal vervollständigt, damit Du siehst, wie es geht, wenn mehrere Buttons in der Menüleiste die gleiche Prozedur aufrufen, aber unterschiedlich darauf reagieren können.
https://www.herber.de/bbs/user/43729.xls
Gruß von Luschi
aus klein-Paris

AW: Variablenbelegung durch Menuauswahl
01.07.2007 13:01:35
Thomas
also irgendwie komm ich noch net so ganz zurecht....
ich brauch da nochmal Kompetente Hilfe!
ich hab hier mal das wichtigste vom Quellcode dargestellt
***********************************************************
Dim InWerte(2) As Integer
Dim Ini As Integer
Dim Stwert As String
Dim AchseI, m, n As Integer

Public Sub Menuleiste()
Set Symbolleiste = CommandBars.Add(Name:="Statik", Position:=msoBarBottom, temporary:=True)
Symbolleiste.Visible = True
Set Knopf_Bemessen = Symbolleiste.Controls.Add(Type:=msoControlPopup)
With Knopf_Bemessen
.Caption = "Bemessen"
Set IPE = .Controls.Add(Type:=msoControlPopup)
With IPE
.Caption = "IPE"
Set IPE_y = IPE.Controls.Add(Type:=msoControlPopup)
With IPE_y
.Caption = "y-y"
Set IPE80 = IPE_y.Controls.Add(Type:=msoControlButton)
With IPE80
.Caption = "IPE80"
.Tag = "9/8/8" 		'Button soll 3 variablen mit werten belegen
.OnAction = "zuweisen"
End With
Set IPE100 = IPE_y.Controls.Add(Type:=msoControlButton)
With IPE100
.Caption = "IPE100"
.Tag = "9/9/9"
.OnAction = "zuweisen_IPE_y"
End With
End With
End With
End With
End Sub



Public Sub zuweisen()
Stwert = CommandBars.ActionControl.Tag
For Ini = 0 To 2
InWerte(Ini) = Left(Stwert, InStr(Stwert, "/") - 1)
Stwert = Mid(Stwert, InStr(Stwert, "/") + 1)
Next Ini
AchseI = InWerte(0)
m = InWerte(1)
n = InWerte(2)
End Sub


***********************************************************
nur leider funzt das net, kommt in der


Public Sub zuweisen() ständig
Fehler 91: Objektvariable oder With Block nicht festgelegt. (gleich in der 1. Zeile)
wenn ihr mir hier helfen könntet wär ich euch echt dankbar!!!
MfG
Thomas

Anzeige
AW: Variablenbelegung durch Menuauswahl
01.07.2007 23:46:27
Gerd
Hallo Thomas

Sub test()
MsgBox CommandBars("Statik").Controls("Bemessen").Controls("IPE"). _
Controls("y-y").Controls("IPE80").Tag
MsgBox CommandBars("Statik").Controls("Bemessen").Controls("IPE"). _
Controls("y-y").Controls("IPE100").Tag
End Sub


P.S. Guck mal, ob alle Variablen deklariert sind.
Gruß Gerd

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige