Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Formatvorlagen über VBA zuweisen

2,210 views
Skip to first unread message

Jürgen Dietze

unread,
Apr 9, 2008, 7:07:00 AM4/9/08
to
Word2007

Hallo zusammen,
ich erzeuge aus Excel heraus Worddokumente. Ich schreibe meine Werte in eine
bestehende Tabelle eines bestehenden Dokumentes. Diesen Text möchte ich nun
mit Formatvorlagen versehen (z.B. Überschrift1).

Der Witz ist, dass der Text auch so aussieht wie Überschrift1, die
zugehörige Formatvorlage aber nicht aktiv ist. Ich benötiges dies, um später
beim Export als pdf-Datei ein Inhaltsverzeichnis zu erstellen.

Hier einmal exemplarisch die Codezeilen (***). Was mache ich falsch?
Gruß
Jürgen Dietze


Dim Wordobj As Object
Dim WordTab As Table
Dim Tabelle As Range
Set Wordobj = CreateObject("Word.Application")
Wordobj.Visible = True
On Error Resume Next
Wordobj = Wordobj.Documents.Open("F:\Excel\PivotNachWord.docx")
Set WordTab = Wordobj.ActiveDocument.Tables(1)


For i = 1 To 10
For j = 1 To 4
If j = 1 And Cells(i, j) <> "" Then
WordTab.Cell(i, j).Range.Text = Cells(i, j)

*** WordTab.Cell(i, j).Range.Style = "Überschrift1"
*** WordTab.Cell(i, j).Range.Style =
Wordobj.ActiveDocument.Styles("Überschrift 1")
End If
Next j
Next i

Lisa Wilke-Thissen

unread,
Apr 9, 2008, 8:43:50 AM4/9/08
to
Hallo Jürgen,

"Jürgen Dietze" schrieb im Newsbeitrag
news:7ADE8A77-7D0F-49A2...@microsoft.com...

[Word 2007]

> ich erzeuge aus Excel heraus Worddokumente.

die VBA-Experten findest du in news:microsoft.public.de.word.vba.

> Ich schreibe meine Werte in eine bestehende Tabelle
> eines bestehenden Dokumentes. Diesen Text möchte
> ich nun mit Formatvorlagen versehen (z.B. Überschrift1).

Welchen Text mit welcher Art von Formatvorlagen (derer es quasi fünf gibt:
Absatz-, Zeichen-, verknüpfte -, Listen-, Tabellen-Formatvorlagen)?

> Der Witz ist, dass der Text auch so aussieht wie

> Überschrift 1, die zugehörige Formatvorlage
> aber nicht aktiv ist.

Was meinst du mit "nicht aktiv"?
Möglicherweise hast du nur ausgewähltem Text (statt dem gesamten Absatz) die
Absatzformatvorlage zugewiesen.

--
Viele Grüße

Lisa
MS MVP Word

Jürgen Dietze

unread,
Apr 9, 2008, 9:18:01 AM4/9/08
to
Hallo Lisa,
danke für die Antwort. Nächtes mal denke ich auch an die VBA-Gruppe.

Zum Problem:

In Excel steht in A1 z.B. "Personalwesen".
Diesen Text möchte ich in eine variable Zelle einer Tabelle in Word
schreiben und mit der integrierterten Absatz-Formatvorlage "Überschrift1"
formatieren.

Mit dem Beispielcode sehe ich zwar, dass der Text das Aussehen angenommen hat,
wenn ich aber in das Register Start, Gruppe Formatvorlagen schaue, ist die
Formatvorlage "Überschrift1" nicht hervorgehoben.

Wahrscheinlich geht es um deinen abschließenden Hinweis, dass die
Formatvorlage nicht dem kompletten Absatz zugewiesen wurde.
Nur: Wie lautet die Syntax um das zu erreichen?

Gruß
Jürgen

Lisa Wilke-Thissen

unread,
Apr 9, 2008, 11:47:12 AM4/9/08
to
Hallo Jürgen,

"Jürgen Dietze" schrieb im Newsbeitrag

news:E1BF4D62-1256-463F...@microsoft.com...

> Nächtes mal denke ich auch an die VBA-Gruppe.

das solltest du sofort tun. Meist schauen die Cracks hier nicht vorbei.

> In Excel steht in A1 z.B. "Personalwesen".
> Diesen Text möchte ich in eine variable
> Zelle einer Tabelle in Word schreiben und
> mit der integrierterten Absatz-Formatvorlage
> "Überschrift1" formatieren.

Hm, bei einem einzigen Wort dürfte es egal sein, ob du die ganze Zelle oder
das Wort markierst oder nur den Cursor im Absatz positionierst.

> Mit dem Beispielcode sehe ich zwar, dass der Text
> das Aussehen angenommen hat, wenn ich aber
> in das Register Start, Gruppe Formatvorlagen schaue,
> ist die Formatvorlage "Überschrift1" nicht hervorgehoben.

Mit Shift+F1 kannst du den Aufgabenbereich "Formatierung anzeigen"
einblenden. Aktiviere ganz unten die Option "Formatvorlagenquelle
kennzeichnen".
Dann kann man für die markierte Textstelle besser feststellen, welche Art
von Formatierung zugewiesen ist: was entspringt der Formatvorlage, was wurde
direkt zugewiesen.
Allerdings wird dir das bei deinem Makro nicht weiterhelfen.

> Wahrscheinlich geht es um deinen abschließenden
> Hinweis, dass die Formatvorlage nicht dem kompletten
> Absatz zugewiesen wurde.
> Nur: Wie lautet die Syntax um das zu erreichen?

Keine Ahnung :-(.
Ich füge den Code nochmals bei und leite dich zur VBA-Gruppe weiter,
F'up: news:microsoft.public.de.word.vba


Dim Wordobj As Object
Dim WordTab As Table
Dim Tabelle As Range
Set Wordobj = CreateObject("Word.Application")
Wordobj.Visible = True
On Error Resume Next
Wordobj = Wordobj.Documents.Open("F:\Excel\PivotNachWord.docx")
Set WordTab = Wordobj.ActiveDocument.Tables(1)


For i = 1 To 10
For j = 1 To 4
If j = 1 And Cells(i, j) <> "" Then
WordTab.Cell(i, j).Range.Text = Cells(i, j)

*** WordTab.Cell(i, j).Range.Style = "Überschrift1"
*** WordTab.Cell(i, j).Range.Style =
Wordobj.ActiveDocument.Styles("Überschrift 1")
End If
Next j
Next i

F'up: microsoft.public.de.word.vba

--
Viele Grüße

Lisa
MS MVP Word
Microsoft Excel - Die Expertentipps:
http://tinyurl.com/cmned

Jürgen Dietze

unread,
Apr 10, 2008, 1:40:00 AM4/10/08
to
Hallo Lisa,
danke zunächst einmal. Dein Hinweis hat zwar mein Problem noch nicht gelöst,
aber der Ursache ein Stück näher gebracht.

Im Formatvorlagenkatalog sehe ich, dass die Formatvorlage korrekt zugewiesen
wurde. Ich habe daraufhin mal ein Worddokument von Hand erstellt und siehe da:
Befindet sich der formatierte Text in einer Tabelle, wird er nicht als
Lesezeichen im pdf angezeigt. Außerhalb einer Tabelle funktioniert das
tadellos.

Müssen wir meine Anfrage jetzt wieder in die Word-Gruppe verschieben? *grins*

Gruß
Jürgen Dietze

Lisa Wilke-Thissen

unread,
Apr 10, 2008, 8:35:03 AM4/10/08
to
Hallo Jürgen,

"Jürgen Dietze" schrieb

[Word 2007]


> Im Formatvorlagenkatalog sehe ich, dass die
> Formatvorlage korrekt zugewiesen wurde. Ich
> habe daraufhin mal ein Worddokument von Hand
> erstellt und siehe da: Befindet sich der formatierte
> Text in einer Tabelle, wird er nicht als Lesezeichen
> im pdf angezeigt. Außerhalb einer Tabelle funktioniert
> das tadellos.
>
> Müssen wir meine Anfrage jetzt wieder in die Word-Gruppe
> verschieben? *grins*

mit welchem Programm hast du die PDF-Datei erstellt?
Vielleicht solltest du einmal andere Programme testen. Ich fürchte, das
Problem lässt sich mit Word nicht lösen, es sei denn, du verzichtest auf die
Tabelle.

Jürgen Dietze

unread,
Apr 11, 2008, 2:08:00 AM4/11/08
to
Hallo Lisa,
ich erstelle die pdfs mit der integrierten "speichern unter"-Funktion in
Word (also ExportAsFixedFormat).
Ich bin jetzt dazu übergegangen, ein Worddokument mit Tabulatoren
vorzubereiten um meine Werte an gezielte Stellen zu setzen.
Es wird dann natürlich etwa problematisch, passende Linien zu setzen. Aber
irgendwie bekomme ich das noch hin.

Das allerdings Überschriften innerhalb von Tabellen nicht berücksichtigt
werden, finde ich schon etwas komisch...

Danke für Deine Unterstützung!
Gruß
Jürgen Dietze

Lisa Wilke-Thissen

unread,
Apr 11, 2008, 2:13:23 AM4/11/08
to
Hallo Jürgen,

"Jürgen Dietze" schrieb

[Word 2007]


> ich erstelle die pdfs mit der integrierten "speichern unter"-
> Funktion in Word (also ExportAsFixedFormat).
> Ich bin jetzt dazu übergegangen, ein Worddokument mit
> Tabulatoren vorzubereiten um meine Werte an gezielte
> Stellen zu setzen.
> Es wird dann natürlich etwa problematisch, passende
> Linien zu setzen. Aber irgendwie bekomme ich das noch hin.

ginge es nur um eine Zelle (wie es sich für mich anhörte), könntest du es
mit einem Positionsrahmen versuchen.
Sieht nun aber nach 'mehr' aus ... Vielleicht helfen für die Striche ja
gefüllte Tabstopps.

Jürgen Dietze

unread,
Apr 11, 2008, 2:26:00 AM4/11/08
to
Ja, es geht um eine kalendarische Auflistung nach Kalenderwochen wie in
folgendem Schema

Bereich KW1 KW2 KW3 KW4...
Person 1 x x x
Person 2 x x
Person 3 x

Mann soll ablesen können , welche Person in welchen KWs in einem bestimmten
bereich eingesetzt werden. Im DIN A4-Querformat setze ich dann 26 KWs auf
eine Seite. In der Tat habe ich es gerade mit entsprechenden Tabstops
probiert: jeweils einen linksbündigen, einen mit vertikaler Linie. Das
Ergebnis sieht ganz brauchbar aus.

Gruß
Jürgen

Lisa Wilke-Thissen

unread,
Apr 11, 2008, 2:50:44 AM4/11/08
to
Hallo Jürgen,

"Jürgen Dietze" schrieb im Newsbeitrag
news:12B898CE-B9F5-4CFA...@microsoft.com...

[Word 2007]


> Ja, es geht um eine kalendarische Auflistung nach
> Kalenderwochen wie in folgendem Schema
>
> Bereich KW1 KW2 KW3 KW4...
> Person 1 x x x
> Person 2 x x
> Person 3 x
>

> Mann soll ablesen können, ...

Frau hoffentlich auch ;-).

> welche Person in welchen KWs in einem
> bestimmten bereich eingesetzt werden.
> Im DIN A4-Querformat setze ich dann 26 KWs
> auf eine Seite.

Da stellt sich mir die Frage, warum das nicht einfach als Excel-Tabelle
eingebunden wird. Wäre bestimmt einfacher.
Und ein Inhaltsverzeichnis im eigentlichen Sinn benötigst du gar nicht, bzw.
musst dafür keine Formatvorlagen einsetzen, sondern könntest genauso gut mit
Verzeichniseintragsfeldern oder sogar mit Textmarken arbeiten.

Jürgen Dietze

unread,
Apr 11, 2008, 3:13:00 AM4/11/08
to
Das Inhaltsverzeichnis hat folgenden Hintergrund:
Am Ende entsteht eine Liste, die ca. 45 Seiten lang ist. Die Kollegen müssen
derzeit im Adobe-Reader entweder Ihren Bereich mit der Suchfunktion
aufstöbern oder sich seitenweise durch das Dokument klicken.
Aus den Formatvorlagen in Word würden aber Lesezeichen in Adobe-Reader: Man
sieht also die Bereiche in alphabetischer Reihenfolge und klickt einfach
drauf.

Und während ich hier tippe, bringt mich Deine Antwort auf einen geradezu
brillanten Gedanken ;-)

Ich habe gerade mal eine Textmarke in eine Tabelle gesetzt und dann ein
pdf-Dokument draus gemacht. Und siehe da: Die Textmarke taucht als
Lesezeichen auf.

Jetzt kann ich mir langsam überlegen, ob ich zu dieser dann doch recht
einfachen Lösung zurückkehre oder die andere, schon weiter gediehene
verfolge...

Schön, wenn Mann oder Frau :-)
plötzlich mehrere Lösungswege hat.

Lisa Wilke-Thissen

unread,
Apr 11, 2008, 4:15:45 AM4/11/08
to
Hallo Jürgen,

"Jürgen Dietze" schrieb

> Aus den Formatvorlagen in Word würden aber Lesezeichen
> in Adobe-Reader: [...]


> Ich habe gerade mal eine Textmarke in eine Tabelle gesetzt
> und dann ein pdf-Dokument draus gemacht. Und siehe da:
> Die Textmarke taucht als Lesezeichen auf.

konnte ich soeben im Acrobat Reader nicht nachvollziehen :-(.
Allerdings habe ich nun auch keine Zeit mehr für weitere Tests.
Mir ist aber - leider erst jetzt - klar geworden, dass du die ganze Zeit gar
kein 'echtes' Inhaltsverzeichnis wolltest. Denn das wird mit seiner
Hyperlinkfunktionalität in die PDF-Datei übernommen und kann als Sprungmarke
dienen.
Du wolltest und willst immer noch "Lesezeichen". Gut, dass wir drüber
gesprochen haben ;-).
Ich wünsche dir nun viel Erfolg mit dem Projekt, Lösungsansätze sind
genügend vorhanden.

0 new messages