Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1700to1704
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
Inhaltsverzeichnis

Button mir Grafik, FaceId Nr über Inputbox

Button mir Grafik, FaceId Nr über Inputbox
14.07.2019 15:35:08
Dieter(Drummer)
Guten Tag VBA Spezialisten,
anbei meine Musterdatei, in der folgendes funktioniert:
https://www.herber.de/bbs/user/130899.xlsm
Per Klick auf Commandbutton in Tabelle1, wird links von Caption, per FaceId Nr. 2, die Grafik "ABC" eingefügt. Das funktioniert.
Wie muss der Code lauten, dass per Inpubox die FaceId Nr. eingegeben werden kann, damit nicht immer im Code die FaceId Nr, geändert werden muss, wenn andere Grafik in Button soll?
Mit der Bitte um Hilfe,
grüßt, Dieter(Drummer)

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Button mir Grafik, FaceId Nr über Inputbox
14.07.2019 15:43:21
Regina
Moin,
das sollte so funktionieren:
Private Sub CommandButton1_Click()
Dim lng_id As Long
lng_id = InputBox("ID?")
Set CommandButton1.Picture = Application.CommandBars.FindControl(ID:=lng_id).Picture
CommandButton1.PicturePosition = fmPicturePositionLeftCenter 'Picture Ausrichtung links vom  _
Buttontext
End Sub
Gruß
Regina
AW: Button mir Grafik, FaceId Nr über Inputbox
14.07.2019 15:51:31
Dieter(Drummer)
Liebe Regina,
Danke für schnelle Lösung, die perfekt funktioniert. Herzlichen Dank!
Weißt du evtl. auch, wieviel FaceIds Nummern, in Excel 2010, zur Verfügung stehen?
Gruß, Dieter(Drummer)
AW: Button mir Grafik, FaceId Nr über Inputbox
14.07.2019 15:59:09
Regina
... nein, da muss ich passen.
Gruß
Regina
Anzeige
AW: Danke Regina für Rückmeldung. owT
14.07.2019 16:05:54
Dieter(Drummer)
AW: Liste aller Shapes mit Id und Bezeichnung
14.07.2019 18:02:03
Dieter(Drummer)
Hallo Regina,
da du mir so schnell und toll geholfen hast, habe ich mal alle Shapes, Grafik mit ID Nr. und Bezeichnung, aufgelistet. Evtl. haben auch noch andere Forumsteilnehmer Interesse daran.
Es macht mir Spass, so etwas zu machen, auch wenn ich kein Spezialist bin :-).
Gruß und einen schönen Restsonntag,
Dieter(Drummer)
https://www.herber.de/bbs/user/130902.xlsx
AW: Button mit Grafik, FaceId Nr über Inputbox
15.07.2019 10:22:18
Dieter(Drummer)
Guten Morgen Regina,
Danke nochmal für deine gestrige Hilfe. Ich habe noch eine Bitte.
Kannst du mir evtl. den Code noch so erweitern, dass ich auch den CommandButton per Input wählen kann, auf dem dann per Input die gewählte Grafik (Shape) gewählt wird und dann in den ausgewählten CommandButton angefügt wird?
Hier der bisherige, von dir ergänzte Code:
'Mx: Muster für Symbol per FaceId in in Button einfügen
'Wenn Button In Tabelle ist
'Herber: von Regina Resch-Jansen am 14.07.2019 15:43:21
Private Sub CommandButton1_Click()
Dim lng_id As Long
lng_id = InputBox("ID?")
Set CommandButton1.Picture = Application.CommandBars.FindControl(ID:=lng_id).Picture
CommandButton1.PicturePosition = fmPicturePositionLeftCenter 'Picture Ausrichtung links vom _
Buttontext
End Sub
Ich hoffe, ich nerve dich nicht damit und freue mich, wenn da nochmal helfen kannst.
Gruß, Dieter(Drummer)
Anzeige
AW: Button mir Grafik, FaceId Nr über Inputbox
14.07.2019 17:58:29
Nepumuk
Hallo Dieter,
es dürften so rund 15.000 Icons sein. Das letzte hat die Nummer 25.424. Zwischen dem 1. und dem letzten sind viele leere und viele doppelte. Du kannst es dir selbst mal ansehen:
Option Explicit

Private Declare PtrSafe Function MakeSureDirectoryPathExists Lib "imagehlp.dll" ( _
    ByVal DirPath As String) As Long

Public Sub Export_Icons()
    Dim objPicture As IPictureDisp
    Dim objCommandBar As CommandBar
    Dim objCommandBarButton As CommandBarButton
    Dim lngIndex As Long
    Dim strPath As String
    strPath = ThisWorkbook.Path & "\CommandbarIcons\"
    Call MakeSureDirectoryPathExists(strPath)
    Set objCommandBar = CommandBars.Add(Name:="Temp", Temporary:=True)
    Set objCommandBarButton = objCommandBar.Controls.Add(Type:=msoControlButton)
    On Error GoTo err_exit
    For lngIndex = 1 To 26000
        With objCommandBarButton
            .FaceId = lngIndex
            Set objPicture = .Picture
            Call stdole.SavePicture(Picture:=objPicture, _
                Filename:=strPath & Format(lngIndex, "0000") & ".bmp")
        End With
    Next
    err_exit:
    Set objPicture = Nothing
    CommandBars("Temp").Delete
End Sub

Die grauen Flächen enthalten kein Icon.
Gruß
Nepumuk
Anzeige
AW: Button mir Grafik, FaceId Nr über Inputbox
14.07.2019 18:09:58
Dieter(Drummer)
Hallo Nepumuk,
Danke für deinen Code.
Habe in im Modul1 und bei Aktivierung kommt "Fehler 5", "Ungültige Prozedur oder ungültiges Argument", mit dieser gelben Zeile:
Set objCommandBar = CommandBars.Add(Name:="Temp", Temporary:=True)
Gruß, Dieter(Drummer)
AW: Button mir Grafik, FaceId Nr über Inputbox
14.07.2019 18:47:51
Nepumuk
Hallo Dieter,
ich habe den Code gerade in Excel2013 laufen lassen und kein Problem damit. Versuch es mal so:
Set objCommandBar = Application.CommandBars.Add(Name:="Temp", Temporary:=True)

Gruß
Nepumuk
AW: Button mir Grafik, FaceId Nr über Inputbox
14.07.2019 19:04:02
Dieter(Drummer)
Danke Nepumuk,
schade, aber Fehler ist auch wieder so, auch mit deiner neuen Angabe. Evtl. kannst du ja mir deine Datei hier einfügen, ntürlich nur wenn es möglich ist. Ich habe Excel 2014.
Danke für deine Bemühung.
Gruß, Dieter(Drummer)
Anzeige
AW: Keine Mac Version ...
14.07.2019 19:47:56
Dieter(Drummer)
Hallo Nepumuk,
... danke für die Datei, aber bei öffnen der Datei wird nach einer Smartcard einfügen, so etwas ist bei mir nicht vorhanden. So kann ich die Datei nicht öffnen, es kommt auch die Aangaben, dass das Makro nicht vorhanden ist, als abgemeldet ist.
Da kann ich wohl nchts machen. Schade. Bisher hatte ich keine Probleme mit Eycel beim öffnen von xlsm Dateien.
Gruß, Dieter(Drummer)
AW: Keine Mac Version ...
14.07.2019 20:26:19
Nepumuk
Hallo Dieter,
das kommt von der digitalen Signatur. Bei mir laufen nur signierte Makros. Das bietet für mich die höchste Sicherheit. Also einfach im VBA-Editor unter Extras - Digitale Signatur auf Entfernen klicken. Dann sollte es für dich passen.
Gruß
Nepumuk
Anzeige
AW: Danke Nepumuk ... es halt geklappt ...
14.07.2019 20:03:25
Dieter(Drummer)
... und habs geschafft, Die Icons wurden direkt in einem Ornder eingefügt. Ich dachte sie würden in Tabellenblatt aufgelistet. Danke nochmal für deine Hilfe und Bemühung.
Gruß und einen erfeulichen Abend,
Dieter(Drummer)
das ist wieder eine typische DD Frage...
14.07.2019 15:46:02
robert
so einfach und er lässt sich bedienen
ID= irgendeine Variable oder eben Inputbox oder ActiveCell usw..............................

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige