Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1244to1248
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

Excel-Leiste

Excel-Leiste
Tom
Hallo zusammen,
ich habe die Ansicht "Ganzer Bildschirm".
Wie kann ich erreichen, dass die Leiste oben (mit dem Excel-Zeichen) nur den Namen der Datei oder einen anderen beliebigen anzeigt. Also ohne "Microsoft Excel" davor? Optimal wäre natürlich, wenn man auch noch das Excel-Zeichen durch ein eigenes Logo ersetzen könnte.
Danke vorab
Gruß
TOM

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Excel-Leiste
15.01.2012 23:05:10
Josef

Hallo Tom,
das geht so.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal ClassName As String, ByVal _
  WindowName As String) As Long
Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal Instance As Long, ByVal _
  ExeFileName As String, ByVal IconIndex As Long) As Long
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal Message _
  As Long, ByVal wParam As Integer, ByVal lParam As Long) As Long

Const WM_SETICON = &H80

Private Sub ResetExcelIcon()
  Dim hWnd As Long
  Dim hIcon As Long
  
  hWnd = FindWindow("XLMAIN", Application.Caption)
  hIcon = ExtractIcon(0, Application.Path & "\excel.exe", 0)
  
  If hIcon > 1 Then
    Call SendMessage(hWnd, WM_SETICON, True, hIcon)
    Call SendMessage(hWnd, WM_SETICON, False, hIcon)
  End If
End Sub


Private Sub SetExcelIcon(ByVal IconPath As String)
  Dim hWnd As Long
  Dim hIcon As Long
  
  hWnd = FindWindow("XLMAIN", Application.Caption)
  hIcon = ExtractIcon(0, IconPath, 0)
  
  If hIcon > 1 Then
    Call SendMessage(hWnd, WM_SETICON, True, hIcon)
    Call SendMessage(hWnd, WM_SETICON, False, hIcon)
  End If
End Sub


Public Sub changeIconAndCaption()
  Application.Caption = "XXXEXCELXXX"
  
  'Die Icon-Datei muss im Verzeichnis der Arbeitsmappe liegen!
  Call SetExcelIcon(ThisWorkbook.Path + "\myIcon.ico")
  
  'Hier gewünschten Fenstertitel angeben!
  Application.Caption = "Hallo - Ich bin ein gepimtes Excelfenster"
  ActiveWindow.Caption = ""
End Sub


Public Sub resetIconAndCaption()
  Application.Caption = "XXXEXCELXXX"
  Call ResetExcelIcon
  Application.Caption = ""
  ActiveWindow.Caption = ActiveWorkbook.Name
End Sub



« Gruß Sepp »

Anzeige
AW: Excel-Leiste
15.01.2012 23:59:05
Tom
Hallo Sepp,
danke erstmal für Deine Mühe. Aber hier tut sich gar nichts ... Was mache ich falsch?
Habe den kompletten Code in ein neues Modul (Allgemein) kopiert und folgendes geändert:
'Hier gewünschten Fenstertitel angeben!
Application.Caption = "Tom - privat"
ActiveWindow.Caption = ""
End Sub Wie bekomme ich die Grafik als ico-Datei ?
Danke
TOM
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************
Option Explicit
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal ClassName As String, ByVal _
WindowName As String) As Long
Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal Instance As Long, ByVal _
ExeFileName As String, ByVal IconIndex As Long) As Long
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal Message _
As Long, ByVal wParam As Integer, ByVal lParam As Long) As Long
Const WM_SETICON = &H80
Private Sub ResetExcelIcon()
Dim hWnd As Long
Dim hIcon As Long
hWnd = FindWindow("XLMAIN", Application.Caption)
hIcon = ExtractIcon(0, Application.Path & "\excel.exe", 0)
If hIcon > 1 Then
Call SendMessage(hWnd, WM_SETICON, True, hIcon)
Call SendMessage(hWnd, WM_SETICON, False, hIcon)
End If
End Sub
Private Sub SetExcelIcon(ByVal IconPath As String)
Dim hWnd As Long
Dim hIcon As Long
hWnd = FindWindow("XLMAIN", Application.Caption)
hIcon = ExtractIcon(0, IconPath, 0)
If hIcon > 1 Then
Call SendMessage(hWnd, WM_SETICON, True, hIcon)
Call SendMessage(hWnd, WM_SETICON, False, hIcon)
End If
End Sub
Public Sub changeIconAndCaption()
Application.Caption = "XXXEXCELXXX"
'Die Icon-Datei muss im Verzeichnis der Arbeitsmappe liegen!
Call SetExcelIcon(ThisWorkbook.Path + "\myIcon.ico")
'Hier gewünschten Fenstertitel angeben!
Application.Caption = "Tom - privat"
ActiveWindow.Caption = ""
End Sub
Public Sub resetIconAndCaption()
Application.Caption = "XXXEXCELXXX"
Call ResetExcelIcon
Application.Caption = ""
ActiveWindow.Caption = ActiveWorkbook.Name
End Sub

Anzeige
AW: Excel-Leiste
16.01.2012 00:05:20
Tom
Sorry Sepp,
jetzt klappt es - musste das Makro nur manuell starten :-)
Danke !!!!
Gruß
TOM
AW: Excel-Leiste
16.01.2012 00:06:27
Josef

Hallo Tom,
eine ico-Datei aus einer Grafik erstellen kann jedes ordentliche Grafikprogramm, z. B. IRFANVIEW.
Was heißt "tut sich gar nichts", der Fenstertitel wird aber schon geändert, wenn du "changeIconAndCaption" ausführst, oder?

« Gruß Sepp »

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige