Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

vba: commandbar.controls.add: wie Einträge untereinander?

309 views
Skip to first unread message

Thomas Hoffmann

unread,
Apr 28, 2010, 3:33:24 PM4/28/10
to
Betr. Word 2000
ich fᅵge erfolgreich eine verschiebbare Menᅵleiste folgendermaᅵen ein, allerdings sind die
Eintrᅵge nebeneinander und ich hᅵtte sie gerne untereinander, was mir nicht gelingt.
Was muss ich ᅵndern?
Gruᅵ und Dank! TH

Private Sub Document_Open()

Dim cb As CommandBar
Dim cbb As CommandBarButton
Dim ii As Integer, tx As String

'Leiste erzeugen
Set cb = CommandBars.Add _
(C_Title, msoBarFloating, False, False)
With cb
.Protection = msoBarNoResize
.Visible = True
End With

'Buttons erzeugen
For ii = 1 To 3
Set cbb = cb.Controls.Add(msoControlButton)
tx = Choose(ii, "Tabelle ausfᅵllen", _
"Insulinplan Drucken", _
"Beenden")

cbb.Style = msoButtonCaption
'cbb.Style = msoButtonIcon
'cbb.Style = msoButtonIconAndCaption
cbb.Caption = tx

tx = Choose(ii, "BerechneAlles", _
"DruckMich", "Ende")
cbb.OnAction = tx
Next ii

End Sub


--
Thomas Hoffmann

Klaus Linke

unread,
Apr 28, 2010, 11:47:47 PM4/28/10
to
Hallo Thomas,

> allerdings sind die Eintrᅵge nebeneinander und ich hᅵtte sie gerne
> untereinander, was mir nicht gelingt.

Stelle die Breite so ein, dass die Eintrᅵge nur untereinander passen, bevor
du die Grᅵᅵenᅵnderung verbietest?

With cb
.Width=100


.Protection = msoBarNoResize
.Visible = True
End With

Eine allgemeine Lᅵsung (unabhᅵngig von der Breite der Buttons) fᅵllt mir
nicht ein...

Gruᅵ,
Klaus

Klaus Linke

unread,
Apr 29, 2010, 12:04:39 AM4/29/10
to
"Klaus Linke" <in...@fotosatz-kaufmann.de> schrieb im Newsbeitrag
news:%23p9x960...@TK2MSFTNGP02.phx.gbl...

>> allerdings sind die Eintrᅵge nebeneinander und ich hᅵtte sie gerne
>> untereinander, was mir nicht gelingt.
>
> Stelle die Breite so ein, dass die Eintrᅵge nur untereinander passen,
> bevor du die Grᅵᅵenᅵnderung verbietest?
>
> With cb
> .Width=100
> .Protection = msoBarNoResize
> .Visible = True
> End With

Ist vermutlich keine so brilliante Idee:
Die nᅵtige Breite wird von den Windows-Einstellungen (Schrift?
Schriftgrᅵᅵe?) abhᅵngen.

Vielleicht kannst du alles so lassen wie es ist, und die Leiste links
andocken:
cb.Position=msoBarLeft

Oder du kᅵnntest die Anpassung der Leiste dem Benutzer ᅵberlassen
(.Protection = msoBarNoProtection).

Oder ein Menᅵ auf der Symbolleiste anlegen (msoControlPopup, Caption =
"Optionen" oder so), in dem du dann die drei Buttons unterbringst.


Gruᅵ,
Klaus

Thomas Hoffmann

unread,
Apr 29, 2010, 9:19:32 AM4/29/10
to
>
> Stelle die Breite so ein, dass die Eintrᅵge nur untereinander passen,
> bevor du die Grᅵᅵenᅵnderung verbietest?

Hi Klaus, das funzt tatsᅵchlich. Einstellung muss nach laden der buttons erfolgen.
Es ist hier offenbar nicht mᅵglich, einen genauen Wert einzustellen, sondern windows
stellt den nᅵchsten, zu den buttons passenden Wert ein.

Aber: so klappt das mit dem untereinander...

Vielen Dank!
TH

--
Thomas Hoffmann

0 new messages