Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
132to136
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
132to136
132to136
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Icon in Symbolleisten aus Bilddatei

Icon in Symbolleisten aus Bilddatei
04.07.2002 15:18:18
marcus
Hallo,

ich möchte einem Macro in einer Symboleiste ein anderes Icon geben als die in Excel vorhandenen.

Gibt es ausser der Änderung des Icons über das langweilige Grafik-Bearbeitungsprogramm die Möglichkeit neue Icons oder Bilder so zu hinterlegen, dass man über den Menüpunkt 'Schaltflächensymbol ändern/bearbeiten'auf Sie zugreifen kann.

Oder habt Ihr noch andere Ideen?

Vielen Dank im voraus.

Gruß.

Marcus

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Icon in Symbolleisten aus Bilddatei
04.07.2002 16:20:36
Michael Scheffler
Hallo,

Du kannst Dir ein eigenes Icon mit einem Programm machen, es als Icon-Datei abspeichern und dann via API und Paste-Befehl in Deinen Button kopieren. Meinst Du so etwas?

Gruß

Micha

Re: Icon in Symbolleisten aus Bilddatei
04.07.2002 16:37:08
marcus
Hallo Michael,

geht das denn auch für eine Befehlsschaltfläche? Und wenn ja, hast Du Zeit mir eine etwas detailierte Beschreibung zu liefern - das wäre super.

Vielen Dank im voraus.

Gruß.

Marcus

Re: Icon in Symbolleisten aus Bilddatei
04.07.2002 17:30:46
Michael Scheffler
Hallo,

alles irgendwo aus dem Netz und greift auf API-Funktionen zurück:

Das ist zum Ändern des Excel-Icon:
' Icon
Declare Function GetActiveWindow32 Lib "USER32" Alias _
"GetActiveWindow" () As Integer
Declare Function SendMessage32 Lib "USER32" Alias _
"SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
Declare Function ExtractIcon32 Lib "SHELL32.DLL" Alias _
"ExtractIconA" (ByVal hInst As Long, _
ByVal lpszExeFileName As String, _
ByVal nIconIndex As Long) As Long

Sub ChangeXLIcon()
Dim h32NewIcon As Long
Dim h32WndXLMAIN As Long
h32NewIcon = ExtractIcon32(0, "rep.ico", 0)
h32WndXLMAIN = GetActiveWindow32()
SendMessage32 h32WndXLMAIN, &H80, 1, h32NewIcon 'Icon big
SendMessage32 h32WndXLMAIN, &H80, 0, h32NewIcon 'Icon small
End Sub

und das ist zum Laden einer Bitmap und Kopieren in einen CommandButton:

Declare Function LoadImage Lib "USER32" Alias "LoadImageA" (ByVal _
hInst As Long, ByVal lpsz As String, ByVal dwImageType As Long, ByVal dwDesiredWidth As Long, ByVal dwDesiredHeight As Long, ByVal dwFlags As Long) As Long
Declare Function CloseClipboard Lib "USER32" () As Long
Declare Function OpenClipboard Lib "USER32" (ByVal hWnd As Long) As Long
Declare Function EmptyClipboard Lib "USER32" () As Long
Declare Function SetClipboardData Lib "USER32" (ByVal wFormat As Long, ByVal hMem As Long) As Long
Declare Function IsClipboardFormatAvailable Lib "USER32" (ByVal wFormat As Long) As Long

Sub SetMenuIcon(strMenuname As String)
Dim hBitmap As Long
Dim ct As CommandBarButton
hBitmap = LoadImage(0&, ActiveWorkbook.Path & "\rep.bmp", IMAGE_BITMAP, 16, 16, LR_LOADFROMFILE)
If hBitmap = 0 Then
MsgBox "There was an error while loading icon bitmap rep.bmp"
Exit Sub
End If
'open the clipboard
OpenClipboard 0&
'Clear the clipboard
EmptyClipboard
'Put our bitmap onto the clipboard
SetClipboardData CF_BITMAP, hBitmap
'Check if there's a bitmap on the clipboard
If IsClipboardFormatAvailable(CF_BITMAP) = 0 Then
MsgBox "There was an error while pasting the icon bitmap to the clipboard!"
End If
'Close the clipboard
CloseClipboard
Set ct = CommandBars("Repair2000").Controls(1)
ct.PasteFace
ct.style = msoButtonIcon
Set ct = Nothing
End Sub

Gruß

Micha


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige