Discussion:
VBA Zugriff auf Tabelle innerhalb eines Positionsrahmens in Header
(zu alt für eine Antwort)
Gina
2011-04-21 10:57:22 UTC
Permalink
Hallo.

Ich habe eine einzige Tabelle im Header. Dort möche ich via VBA
bookmarks setzen.
Ich möchte in die erste Zelle z.b. das bookmark "bm_Anrede" setzten.

Mit Tables(1) kann ich nichts erreichen ... es wird nicht erkannt.
Irgendwie kann ich so nicht an die Tabelle ran kommen

Bin jetzt bereits seit gestern dabei eine Lösung via goggle Suche zu
finden; leider vergebens.

Vielleicht könnte mir jemand einen Tipp / Codeschnipsel geben ?
W.Jahn
2011-04-21 19:12:05 UTC
Permalink
Post by Gina
Hallo.
Ich habe eine einzige Tabelle im Header. Dort möche ich via VBA
bookmarks setzen.
Hast Du im richtigen StoryRange nach der Table geschaut?


Wolfram
Gina
2011-04-22 05:50:55 UTC
Permalink
Post by W.Jahn
Post by Gina
Hallo.
Ich habe eine einzige Tabelle im Header. Dort möche ich via VBA
bookmarks setzen.
Hast Du im richtigen StoryRange nach der Table geschaut?
Wolfram
Hallo Wolfram.

Danke Dir für die Antwort!!

Wie mach ich das denn ? ... hab mich hier mal versucht mit Hilfe der Doku.

Ich kann das Teil einfach nicht ansprechen. Cursor sollte in die erste Zelle
hüpfen ... reines Wunschdenken momentan ;)
(Tabelle ist zur besseren Positionierung auf dem Blatt innerhalb eines
Positionsrahmens!)

hier mein Code:

Dim Tabelle As Table

Selection.Collapse Direction:=wdCollapseStart
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader

'' 1. Verweis auf Tabelle
Set Tabelle = ActiveDocument.StoryRanges(wdPrimaryHeaderStory).Tables(1)
???
' Fehler: Element nicht in der Auflistung

'' 2. Tabelle mit Inhalt füllen:
With Tabelle
.Cell(1, 1).Range.Text = ActiveDocument.Bookmarks.Add("bm_Anrede")
Selection.MoveDown Unit:=wdLine, Count:=1
.Cell(2, 1).Range.Text = ActiveDocument.Bookmarks.Add("bm_Nachname")
Selection.MoveDown Unit:=wdLine, Count:=1
.Cell(3, 1).Range.Text =
ActiveDocument.Bookmarks.Add("bm_Adresszusatz")
Selection.MoveDown Unit:=wdLine, Count:=1
.Cell(4, 1).Range.Text = ActiveDocument.Bookmarks.Add("bm_Strasse")
Selection.MoveDown Unit:=wdLine, Count:=1
...
End With

Vielleicht hast Du eine Idee ...

Danke Gina :)
W.Jahn
2011-04-22 22:32:45 UTC
Permalink
hallo Gina,
Post by Gina
Vielleicht hast Du eine Idee ...
Naja, ich habe ein neues Dokument gemacht, eine Kopfzeile hinein, ein
Textfeld eingefügt, dieses zu einem Positionsrahmen konvertiert, in den
Positionsrahmen eine Tabelle eingefügt mit zwei Zeilen und drei Spalten,
in die Tabellenzellen die Texte von 1,1 bis 2,3 eingetragen und dann im
Direktfenster von VBA folgendes eingetragen und herausbekommen:

?activedocument.storyranges(wdPrimaryHeaderStory).Tables(1).Cell(2,2).Range.Text
2,2


Also alles wie erwartet.

Möglicherweise hast Du noch so Sachen wie 'Erste Seite anders' oder
'Gerade/Ungerade Seiten unterschiedlich' in dem Dokument, dann stimmt
eventuell der Storyrange noch nicht; also z.B. wdFirstPageHeaderStory
oder wdEvenPagesHeaderStory.


Wolfram
Gina
2011-04-24 20:38:27 UTC
Permalink
Post by W.Jahn
hallo Gina,
Post by Gina
Vielleicht hast Du eine Idee ...
Naja, ich habe ein neues Dokument gemacht, eine Kopfzeile hinein, ein
Textfeld eingefügt, dieses zu einem Positionsrahmen konvertiert, in den
Positionsrahmen eine Tabelle eingefügt mit zwei Zeilen und drei Spalten,
in die Tabellenzellen die Texte von 1,1 bis 2,3 eingetragen und dann im
?activedocument.storyranges(wdPrimaryHeaderStory).Tables(1).Cell(2,2).Range.Text
2,2
Also alles wie erwartet.
Möglicherweise hast Du noch so Sachen wie 'Erste Seite anders' oder
'Gerade/Ungerade Seiten unterschiedlich' in dem Dokument, dann stimmt
eventuell der Storyrange noch nicht; also z.B. wdFirstPageHeaderStory oder
wdEvenPagesHeaderStory.
Wolfram
Danke Dir vielmals Wolfram,

weil ich das unbedingt irgendwie ansprechen wollte und mir nicht klar war,
was das los ist/war mit dem Rahmen / Positionsrahmen
hab ich den 'Rahmen' in eine Tabelle 'verwandelt' und nun konnte ich es
ansprechen.

Muss es Deinem Beispiel entsprechend nochmals versuchen ...

Schöne Ostern weiterhin!!

Gina :)

Loading...