Controller Geschrieben 9. August 2005 Geschrieben 9. August 2005 Hi, @Mods: verschieben wenn nicht passt! :-) Ok jetzt habe ich ein großes Problem, hab keine Ahnung wie man Makros programmiert und muss jetzt eine Auswahl in Word Programmieren. Ok ganz kurz: Haben ein Dokument X dass von drei (Teil)Firmen benutzt wird, dieses Firmen haben aber jeweils ein eigenes Logo. So die Kopfzeile des Word-Dokumentes ist in 3-Teile unterteilt. Im linken Drittel ist dass Firmenlogo zu sehen. Dies soll jetzt aber nicht mehr per Hand geändert werden sondern es soll per Mausklick ein Auswahl-Menü erscheinen dass mir die Firmen anzeigt und hinter jeder Firma ein Logo hinterlegt sein. Beim Klick soll dann dass richtige Logo im Dokument erscheinen. So kann vermieden werden dass man für jede Firma ein Dokument anlegt. Kann mir jemand helfen oder Tipps geben zur Makro-Programmierung? Hat vielleicht jemand sowas in der Art schon gemacht? PS: Kenn mich mit Makros bzw. VBS überhaupt nicht aus.... leider :-( Also danke schon mal! Zitieren
russkij Geschrieben 9. August 2005 Geschrieben 9. August 2005 hi, auf die schnelle kann ich dir kein code herzaubern, aber versuchs mal selber. folgender ansatt: damit die bilder nicht von extern gehollt werden müssen, alle 3 (über einander) einfügen. danach im word macrorecorder starten und 2 der bilder löschen. danach ins vba-editor gehen (alt+f11) und den code untersuchen und optimieren. ----------- wenn nützer wählt bild 1, lösche bild 2 und 3. wenn nützer wählt bild 2 lösche bild 1 und 3. ------------------ zur auswahl gibts mehrere möglichkeiten, kanst eigene form entwickeln oder am einfachsten drei schlatflächen in der menüleiste erstellen und denen die makros zuweisen. natürlich kann man die bilder auch von drausen einholen, kommt drauf an was für euch besser ist. wenn du schwierigkeiten hast sag bescheid. gruss Zitieren
Controller Geschrieben 9. August 2005 Autor Geschrieben 9. August 2005 Hi, danke für deine Schnelle Antwort wenn dass so funiktioniert wie du beschrieben hast dann würde ich des wo machen. HAb jetzt mal versucht das ganze nachzuvollziehen hat aber ned funktioniert! Könntest du des mal a bisl detaillierter erklären, du musst wissen ich hab noch nie was mit VB und Makros gemacht! Möchte aber jetzt wegen dieser Kleinigkeit nicht ein komplettes VB-Handbuch durchmachen... Schaust halt mal! Danke Zitieren
russkij Geschrieben 9. August 2005 Geschrieben 9. August 2005 na gut, dann mal schritt für schritt: dokument sollte als vorlage vorliegen (*.dot) muss aber nicht sein. Zuerst alle Logos rauslöschen. Bei geöfneter Vorlage ALT+F11 sollte VBA-fenster aufgehen. Im Proektexplorer (Links) deine vorlage anwählen (TemplateProekt(Name)) ThisDoc auswählen Completten Code einfügen Zum dokument wechseln, ein logo einfügen, diesen erst nicht formatieren, makro "NamenZuweisen" ausführen, wie du es machst steht im makro selbst. genau durchlesen. das logo mit der maus etwas auf die seite schieben und dasselbe mit logo 2 und 3 wiederhollen. mit "nameabfragen" kansst kontrolieren ob alles ok ist. danach kanste theoretisch die beiden hilfsmakros aus dem dok rauslöschen, musst aber nicht. jetzt musst nur noch neue symbolleiste erstellen und makros zuweisen: im word:Ansicht>Symbolleisten>Anpassen>Neu>Belibigen namen zuweisen, verfügbar in diser vorlage auswählen>OK. erscheint eine neue symbolleiste, die du dann obern positionieren kannst. jetzt wieder:Ansicht>Symbolleisten>Befehle>Links "Makros" auswählen", rechts die 3 makros mit maus auf die neue symbolleiste überziehen, ("Anpassen"fenster geöffnet lassen), auf die symbolleiste auf jeweilige makro mit rechten maustaste klicken, namen "Leserlich" anpassen, kannst ja such shclatflächesnymbol erstellen, "Anpassen" zumachen, speichern, und testen. davor sicherungkopie anlegen. hoffe es klappt bei dir, wenn was gib bescheid. +++++++++++++++++++++++++++++++++++++++++++++++ Sub BleibtLogo1() 'hiermit werden die unnötigen logos gelöscht 'namen gegebenen falls anpassen: ("Logo2") ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Shapes("Logo2").Delete ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Shapes("Logo3").Delete End Sub Sub BleibtLogo2() 'hiermit werden die unnötigen logos gelöscht 'namen gegebenen falls anpassen: ("Logo2") ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Shapes("Logo1").Delete ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Shapes("Logo3").Delete End Sub Sub BleibtLogo3() 'hiermit werden die unnötigen logos gelöscht 'namen gegebenen falls anpassen: ("Logo2") ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Shapes("Logo1").Delete ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Shapes("Logo2").Delete End Sub Sub NamenZuweisen() 'Hiermit weist du dem gerade angekliktem 'logo einen namen zu, den namen dementsprechen anpassen: ="Logo3" 'logo ankliken, ins codeeditor wechseln, 'in die entsprechende prozedur cursor positionieren und F5 betätigen 'wirst warscheilich nix merken, aber mit makro "Sub NamenAbfragen()" 'kannst dein erfolg prüfen Selection.InlineShapes(1).ConvertToShape Selection.ShapeRange.Name = "Logo3" End Sub Sub NamenAbfragen() 'Das ist zu kontrolle des names des gerade angeklikten logos 'logo ankliken, ins codeeditor wechseln und F5 betätigen 'in die entsprechende prozedur cursor positionieren und F5 betätigen MsgBox Selection.ShapeRange.Name End Sub +++++++++++++++++++++++++++++++++++++++++++ keine angst, es sind meiste kommentare, kein code gruss von russ Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.