title image


Smiley Re: Wolfram
Hallo,



zu "...mangels VBA-Kenntnisse nichts anfangen. Gibt es irgendwo eine Schritt-für-Schritt-Anleitung dazu?": Ja, z.B. in der WordFAQ von René Probst.



Daraus (So bringen Sie ein Makro ein und verknüpfen dieses mit einer Schaltknopf auf einer Symbolleiste Ihrer Wahl) zitiert und für den vorliegenden Zweck geändert:



1. Wechseln Sie mit der Tastenkombination [Alt + F11] in den VBA-Editor.



2. Im VBA-Editor angekommen, lassen Sie sich mit [Strg + R] den Projekt-Explorer anzeigen und markieren dann das NORMAL-Projekt im Projekt-Explorer.



3. Wählen Sie nun vom Hauptmenü den Befehl Einfügen - Modul.



4. Kopieren Sie das vorliegende Makro in das leere Codefenster, welches sich geöffnet hat.



Eigene Ergänzung:



5. Wähle nun vom Hauptmenü den Befehl Debuggen - Kompilieren von Normal, um sicherzustellen, dass der eingefügte Code keine Fehler enthält und korrekt kompiliert werden kann.



6. Speichere das Projekt mit das Tastenkombination [Strg + S]



6. Makiere im Codefenster die Zeile "Sub CBCIconsOldStyle()" (bzw. Sub CBCIconsXPStyle(), um den Originalzustand wiederherzustallen) und drücke die Taste F5, um den Code auszuführen.



Falls Word 2003 noch "jungfräulich" installiert ist und die Sicherheitseinstellungen "hart" sind, kannst Du keinen evtl. keinen Code in Normal.Dot ausführen. Um dies zu ermöglichen, wähle in der Word-Menüleiste (nicht im VBA-Editor!) Extras -> Makro -> Sicherheit, im angezeigten Fenster "Sicherheit" die Registerkarte "Vertrauenswürdige Herausgeber" und aktiviere dort - falls nicht vorhanden - die Option "Allen installierten Add-ins und Vorlagen vertrauen". Nach dieser Änderung muss Word ggfls. neu gestartet und das Makro über den Befehl Extras -> Makro -> Makros oder direkt im VBA-Editor ausgeführt werden.



Noch eine Anmerkung: Der geposteten Code enthielt eine Unzulänglichkeit, dass eigene Icons bei der Ausführung von CBCIconsXPStyle "übermangelt" wurden. Hier die Korrektur (füge nur diesen Code in das Modul ein!):



Option Explicit' 20.4.2006 Wolfram, enthält Teile von Désirées Commandbar-Icon-Code' Änderung der in Office 2003 enthaltenen CommandbarControls-Icons' in "Old-Style" (vor OFF2003) und zurück.Private Const CF_BITMAP = 2Private Const PICTYPE_BITMAP = 1Private Const CLSID_IPicture As String = "{7BF80980-BF32-101A-8BBB-00AA00300CAB}"Private Type UUID  Data1 As Long  Data2 As Integer  Data3 As Integer  Data4(7) As ByteEnd TypePrivate Type uPicDesc  SIZE As Long  Type As Long  hPic As Long  hPal As Long  Reserved As LongEnd TypePrivate Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As LongPrivate Declare Function CloseClipboard Lib "user32" () As LongPrivate Declare Function GetClipboardData Lib "user32" (ByVal wFormat As Long) As LongPrivate Declare Function OleCreatePictureIndirect Lib "olepro32.dll" _  (PicDesc As uPicDesc, RefIID As UUID, ByVal fPictureOwnsHandle As Long, _   iPic As IPicture) As LongPrivate Declare Function CLSIDFromString Lib "ole32.dll" _  (ByVal lpszProgID As Long, pCLSID As UUID) As LongPrivate Function PastePicturefromClipboard() As StdPicture  Dim hBMP As Long, uPicInfo As uPicDesc, IID_IPicture As UUID  If OpenClipboard(0&) = 0 Then Exit Function  hBMP = GetClipboardData(CF_BITMAP)  CloseClipboard  CLSIDFromString StrPtr(CLSID_IPicture), IID_IPicture  With uPicInfo    .SIZE = Len(uPicInfo)    .Type = PICTYPE_BITMAP    .hPic = hBMP  End With  OleCreatePictureIndirect uPicInfo, IID_IPicture, 1, PastePicturefromClipboardEnd FunctionPrivate Sub SetOldStyleCBCicon(ByVal c As CommandBarControl)  On Error Resume Next  Err.Clear: c.CopyFace  If Err = 0 Then c.Picture = PastePicturefromClipboard  ' Anmerkung: .Mask bleibt gleich (alt=neu)!End SubPrivate Sub ChangeCBCIcons(Optional ByVal XP_Style As Boolean = True)  Dim cb As CommandBar, c1 As CommandBarControl  CustomizationContext = NormalTemplate  On Error Resume Next  For Each cb In Application.CommandBars    If cb.BuiltIn Then ' nur vordefinierte Symbolleisten      For Each c1 In cb.Controls        If c1.BuiltIn Then ' nur vordefinierte Symbole          If XP_Style Then c1.BuiltInFace = True Else SetOldStyleCBCicon c1        End If      Next c1    End If    ActiveDocument.UndoClear  Next cbEnd SubSub CBCIconsXPStyle()   ChangeCBCIcons TrueEnd SubSub CBCIconsOldStyle()   ChangeCBCIcons FalseEnd Sub



Grüße

Wolfram















geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: