Lösungsansatz mit Word Vba
nö, das klappt nicht. Hatte ich schon versucht.
Ich denke, es gibt hierfür einfach keine „kleine Lösung“ und
das ist ein weißer Fleck im mächtigen MS Word 
Hallo Litschi,
„kleine Lösung“ ist wie vieles relativ 
Ich sehe da durchaus eine „kleine Lösung“ mit Vba.
Zunjächst mal, soll Vba sofort reagieren wenn du da diesesen Firmannamen im Dokument schreibst?
Oder reicht es wenn es erst bei jedem Ausdruck geändert wird?
Das mit dem Drucken ist für mich einfacher als Word-Unkundiger, das andere klappt irgendwie nicht wie geplant, aber ich habs ja eben erst einmal probiert.
Egal, wenn du es testen willst, so mache in einem neuen leeren Dokument Alt+F11.
Du siehst links in eineer Baumstrukrur wie im Explorer deine „projekte“. Klicke auf dein Projekt (also quasi dein neues leeres Dokument, erkennbar am namen wie Document1 o.ä.
Dann Einfügen— Modul und danach Einfügen—Klassenmodul.
Du siehst nun in der baumstruktur unterhalb deines projektes „ThisDocument“, „Modul1“, „Klasse1“.
Zwischen diesen wechselst diu mit DOPPELklick auf den jeweiligen Namen.
Dort kopierst du dann jeweils die nachstehenden Codes rein.
Dann schreibst du rgendwas in das Dokument und speicherst das Dokument, schließt es und startest es neu.
Wenn du jetzt auf Drucken gehst wird nicht gedruckt sondern ein Fensterchen kommt.
Das Fensterchen steht für den Code den ich noch schreiben muß, der da dein Firmenenname umwandelt.
Das kriege ich hin, geht erstmal darum, daß du mit dem Vba-Code klarkommst.
Vor der Codereinkopiererrei muß du noch Eines tun, klicke einfach auf „Klasse1“, dann drücke F4, ändere dann den Namen von „Klasse1“ auf „clsDocument“
Danach durch wie gesagt Doppelklick die drei Module nacheinander aufrufen und die folgenden Codes reinkopieren:
Modul1:
Option Explicit
Dim X As New clsDocument
Sub Aktivieren()
Set X.App = Word.Application
End Sub
ThisDocument
Option Explicit
Private Sub Document_Open()
Call Aktivieren
End Sub
clsDocument
Option Explicit
Public WithEvents App As Word.Application
Private Sub App_DocumentBeforePrint(ByVal Doc As Document, Cancel As Boolean)
MsgBox „es sollte gedruckt werden“
Cancel = True
End Sub
Private Sub App_DocumentChange()
MsgBox „im Blatt wurde Text eingegeben“
End Sub
Das war’s schon
Lass dich nur nicht abschrecken von Dingen die du vielleicht zum ersten mal gehört hast. mach’s wie eich bei neuland.
Druck dir meinen Beitrag aus, nimm einen Kuli, streich Sätze durch die du kapiert hast und nicht mehr brauchst, ansonsten einfach nur durch Abhaken alles Schritt für Schritt „tuen“.
Und, Klassenmodule wie hier benutzt sind nciht einfach zu kapieren, auch nicht für leute die schon Vba-Code geschrieben haben.
Gruß
Reinhard