Wie bekomme ich denn über ein Macro ein Icon auf eine Symbolschaltfläche?
Ich habe es mit .picture oder .icon und dann den Pfad, aber das hat nicht
funktioniert. Was muss ich machen, damit ich ein Bild auf eine
Befehlsschaltfläche bekomme?
Ich hoffe jemand kann mir helfen
gruss
Alex
anbei folgendes Makro zu Deiner Problemlösung:
Sub SymbolleisteAnlegen()
Dim symb As CommandBar
'1. Schritt Erzeugen der Symbolleiste - noch ohne Elemente
Set symb = CommandBars.Add("Held", temporary:=True)
With symb
.Left = 50
.Top = 100
.Visible = True
End With
Set element = CommandBars("Held").Controls _
.Add(Type:=msoControlButton)
With element
'Legt den Stil fest, hier nur Text
.Style = msoButtonIconAndCaption
'Symbol festlegen
.FaceId = 1592
'Beschriftung des Symbols
.Caption = "Komentare löschen"
.TooltipText = "löscht alle Kommentare auf Arbeitsblatt"
'Zuweisung des Makros
.OnAction = "AlleNotizenlöschen"
End With
end Sub
Viele Grüße
Bernd
--------------------------------------------------------
Die MacHero EXCEL Homepage unter anderem
mit meinem Excel-VBA-Kompendium (Excel97/2000),
700 Makros für die Praxis Schritt für Schritt erklärt,
33 Leserbeurteilungen mehr unter http://members.aol.com/Machero
--------------------------------------------------------
--
__________________________________________________________
News suchen, lesen, schreiben mit http://newsgroups.web.de
Diese Antwort hat mir schon weitergeholfen. Aber was muss ich machen, wenn
ich ein selbstdefiniertes Icon auf die Schaltfläche möchte. Die Faceid 1592
gibt ja ein vordefiniertes Icon zurück (Brief mit rotem x). Aber wie mache
ich das mit einem eigen erstelltem Icon?
Vielleicht kannst du mir nochmals helfen
gruss
Alex
"Bernd Held" <bh...@debis.com> schrieb im Newsbeitrag
news:3b4047a9$1...@netnews.web.de...
hmn...
Ja, dann kopiere das selbst erstellt Ikon in eine Tabelle und
passe folgenden Code dann noch an:
Sub SymbolAusTabelleInSymbolleiste()
Dim Symbol As CommandBarButton
Dim SBS As Object
Set Symbol = CommandBars("Standard").Controls.Add(msoControlButton)
Worksheets("Tabelle1").Shapes("AutoForm 7").CopyPicture
Symbol.PasteFace
Set SBS = Symbol
SBS.OnAction = "Animation"
End Sub
Sub Animation()
Dim Pic As Picture
Dim i As Integer
For i = 1 To 5
ActiveSheet.Pictures.Insert ("c:\smiley.tif")
Verzögerung (1)
ActiveSheet.Pictures(1).Delete
Verzögerung (1)
Next i
Exit Sub
End Sub
MfG
Eckehard Pfeifer
Noch eine letzte Frage, wie groß darf ein Icon sein? Ich habe versucht eine
Schaltfläche zu kopieren um zusehen wie groß (in Pixel) so ein Icon ist,
aber das hat nicht funktioniert. Wie groß darf so ein Icon sein (in Pixel)
Danke für eure Bemühungen
gruss
alex
"Bernd Held" <bh...@debis.com> schrieb im Newsbeitrag
news:3b4054b9$1...@netnews.web.de...
Irgendwie mache ich etwas falsch. Ich habe jetzt drei icon gemacht und habe
diese auch unter *.ico abgespeichert. Aber ich bekomme diese Icons nicht in
einen Tabelle abgespeichert. Wie bekomme ich die icons auf eine Tabelle.
Kann ich die icons auch von einem Formu´lar herunter kopieren? Und wie geht
das.
Bitte helft mir nochmals, ich weiß ich nerve.
Gruss und danke
alex
"Alexander Maier" <a...@octocon.de> schrieb im Newsbeitrag
news:#ed3rjuABHA.2016@tkmsftngp03...
--
Mit freundlichen Grüßen
Eckehard Pfeifer
VBA-WorkShops in Dresden, Info unter www.dr-e-pfeifer.de
Ein Blick lohnt sich immer: www.vba-magazin.de
Jetzt habe noch ein Problem, ich habe die Icon so kopiert und dann das File
auch abgespeichert. Aber als ich das macro als xla-datei abgespeichert habe,
sind die Icons samt den Tabelle weg. Ich brauch aber ein xla File, da das
Macro später in den xlstart ordner kopiert werden soll, und nicht
nachgefragt werden soll, ob das Macro ausgeführt werden darf. Wie bekomme
ich das mit den Icon bei xla-Dateien in den Griff. Ich habe auch schon
versucht, die Icon als *.ico abzuspeichern und diese dann über die
image-komponente zu ziehen aber irgendwie klapt das auch nicht.
Hat mir jemand einen Lösung
Ich wäre um eine Antwort sehr dankbar
gruss
Alex
"Alexander Maier" <a...@octocon.de> schrieb im Newsbeitrag
news:uWr$z4uABHA.1852@tkmsftngp07...
Eckehard Pfeifer
ich sollte ein xla-File produzieren.
Ich habe dort aber keine Tabellenblätter mehr.
Ich habe es mit folgenden Befehlssatz versucht aber da bringt er mir einen
fehler
Private Sub UserForm_load()
SavePicture UserForm2.Picture, "symbol1.wmf"
SavePicture UserForm2.Picture, "symbol2.wmf"
SavePicture UserForm2.Picture, "symbol3.wmf"
End Sub
und danach
Function symbolleist()
Set mybar = CommandBars _
.Add(Name:="Navision1", Position:=msoBarTop, _
Temporary:=True)
With mybar
.Visible = True
End With
'mybar.Visible = True
Set newItem = CommandBars("Navision1").Controls.Add(Type:=msoControlButton)
Set pic = wsh.Pictures.Insert(ThisWorkbook.Path & "\symbol1.wmf")
pic.CopyPicture
With newItem
.Caption = "Filter F7"
.PasteFace
.FaceId = 1200
.OnAction = "test"
.pic.Delete
End With
Set newItem1 = CommandBars("Navision1").Controls.Add(Type:=msoControlButton)
With newItem1
.Caption = "Filter Strg F7"
.FaceId = 1100
.OnAction = "test2"
End With
Set newItem2 = CommandBars("Navision1").Controls.Add(Type:=msoControlButton)
With newItem2
.Caption = "Filter Shift F7"
.FaceId = 1000
.OnAction = ""
End With
End Function
Function test()
'MsgBox ("Hallo du da")
UserForm2.Show
End Function
Function test2()
MsgBox ("Hallo Hallo")
End Function
Irgendwie kennt er aber den Befehl pictures nicht. Da bringt er mir eine
Fehler
"Dr. Eckehard Pfeifer" <i...@dr-e-pfeifer.de> schrieb im Newsbeitrag
news:OOpQ7#6ABHA.1380@tkmsftngp07...
Also:
Dein Icon als Bild in (erstmal) deine xls z.B. in Dein sheet "MeineBilder"
Dann benennst du es mit "MeinBild" (z.B.)
Jetzt im Workbook_AddInstall
(natürlich erst den ControlButton erstellen)
dann ..
ThisWorkbook.Sheets("MeineBilder").Shapes("MeinBild")=.Copy
und dann einfach nur noch PasteFace für dein msoControlButton
und dann noch in xla abspeichern.
Gruß Peter
--
www.haserodt.de