Ich habe folgende Situation:
Ich will eine Tabelle mit z.B. 5 Spalten (die Spaltenanzahl kann variieren)
einrichten, was erstmal nicht so schwierig ist. Jetzt kommen aber die
Bedingungen, die ich einfach nicht unter einen Hut kriege.
Bedingung 1:
Von den o.g. 5 Spalten im Beispiel sind die Spaltenbreiten der Spalten 2-5
fest vorgegeben, sie können jedoch für verschiedene Tabellen verschieden
groß sein (innerhalb einer Tabelle sind sie jedoch fest).
Bedingung 2:
Die Tabelle mit den 5 Spalten soll exakt die gesamte Breite des Dokuments
einnehmen, die durch die eingestellten Seitenränder links und rechts
vorgegeben ist.
Aus diesen beiden Bedingungen folgt die logische Konsequenz für die Breite
der 1. Spalte, das ist die Breite, die nach Abzug der Spaltenbreiten 2-5
noch übrig bleibt.
Und eigentlich ist das doch nicht schwierig, ist leicht ausrechenbar. Aber
Word macht mir da einen Strich durch die Rechnung, im Regelfall liegt die
Gesamtbreite der entstandenen Tabelle unter der Gesamtbreite der Seite, was
Word dann mit einem linken Einzug zu korrigieren versucht, soweit ich das
erkennen kann.
Ich will das Ganze zwar mit vba realisieren, die gleichen Probleme ergeben
sich jedoch auch beim GUI, weswegen ich erstmal hier frage. Das Umsetzen in
vba ist dann ja nicht mehr so schwer.
Welche Stellschrauben muss ich wie einstellen, damit das gelingen kann? Da
gibt es diese schönen Sachen wie Bevorzugte Breite (PreferredWidth) oder
die Einstellungen für das Standardverhalten (in vba DefaultTableBehavior)
oder (in vba AutoFitBehavior) wie Word die Tabellengröße bei Verwendung von
AutoAnpassen (das dürfte Automatische Größenänderung zulassen sein) ändert.
Ich habe mittlerweile diverseste Kombinationen mit diesen Parametern durch.
Auch die Variante, zuerst eine Tabelle mit nur einer Spalte einzurichten
und dann die weiteren Spalten Stück für Stück unter Kürzung der Breite
dieser Spalte um die Breite der neuen Spalte hinzuzufügen. Diese Variante
hielt ich für den Bringer aber papperlapapp, auch die auf diese Art
erzeugte Tabelle nutzt die Seitenbreite nicht komplett aus.
Für irgendwelche Tipps wäre ich dankbar.
Ich bin heute noch bis ca. 17.30h online, danach erst wieder am kommenden
Freitag.
Viele Grüße aus dem hohen flachen Norden Deutschlands
Susanne
--
Office XP, SP3, aktueller Patchstand
Windows 2000, SP4, aktueller Patchstand
KI-TRIPLE 2007
"Susanne Wenzel" <wirdnich...@onlinehome.de> schrieb im
Newsbeitrag
news:3ul5vjercfk1$.dlg@ID-301016.user.individual.de...
> Ich will eine Tabelle mit z.B. 5 Spalten (die Spaltenanzahl
> kann variieren) einrichten, was erstmal nicht so schwierig
> ist.
> Bedingung 1:
> Von den o.g. 5 Spalten im Beispiel sind die Spaltenbreiten
> der Spalten 2-5 fest vorgegeben, sie können jedoch für
> verschiedene Tabellen verschieden groß sein (innerhalb
> einer Tabelle sind sie jedoch fest).
> Bedingung 2:
> Die Tabelle mit den 5 Spalten soll exakt die gesamte
> Breite des Dokuments einnehmen, die durch die
> eingestellten Seitenränder links und rechts vorgegeben
> ist.
> Office XP, SP3, aktueller Patchstand
bitte stelle eine anschauliche Beschreibung bereit, welche
Schritte bisher genau ausgeführt worden sind.
--
Mit freundlichen Grüßen / With best regards
Thomas Löwe [Microsoft MVP Word]
Es erfolgt keine Beantwortung von Supportanfragen per E-Mail.
http://support.microsoft.com
Susanne Wenzel wrote:
> Ich habe folgende Situation:
> Ich will eine Tabelle mit z.B. 5 Spalten (die Spaltenanzahl kann variieren)
> einrichten, was erstmal nicht so schwierig ist. Jetzt kommen aber die
> Bedingungen, die ich einfach nicht unter einen Hut kriege.
aus Deinen weitere Ausführung geht nicht hervor, was mit einer Tabelle
ist, die mehr als diese 5 Spalten hat. Gehe ich richtig in der Annahme,
dass die Spalten 2–n alle gleich breit sein sollen?
> Bedingung 1:
> Von den o.g. 5 Spalten im Beispiel sind die Spaltenbreiten der Spalten 2-5
> fest vorgegeben, sie können jedoch für verschiedene Tabellen verschieden
> groß sein (innerhalb einer Tabelle sind sie jedoch fest).
>
> Bedingung 2:
> Die Tabelle mit den 5 Spalten soll exakt die gesamte Breite des Dokuments
> einnehmen, die durch die eingestellten Seitenränder links und rechts
> vorgegeben ist.
>
> Aus diesen beiden Bedingungen folgt die logische Konsequenz für die Breite
> der 1. Spalte, das ist die Breite, die nach Abzug der Spaltenbreiten 2-5
> noch übrig bleibt.
>
> Und eigentlich ist das doch nicht schwierig, ist leicht ausrechenbar. Aber
> Word macht mir da einen Strich durch die Rechnung, im Regelfall liegt die
> Gesamtbreite der entstandenen Tabelle unter der Gesamtbreite der Seite, was
> Word dann mit einem linken Einzug zu korrigieren versucht, soweit ich das
> erkennen kann.
Hmm, ich habe eher die gegenteilige Erfahrung: wenn man unter
default-Einstellungen eine Tabelle einfügt, dann setzt Word sie so hin,
dass der Text in der ersten Spalte (linksbündig) genau so weit links
steht wie normaler Fliesstext unter den selben Seitenrändern.
> Ich will das Ganze zwar mit vba realisieren, die gleichen Probleme ergeben
> sich jedoch auch beim GUI, weswegen ich erstmal hier frage. Das Umsetzen in
> vba ist dann ja nicht mehr so schwer.
>
> Welche Stellschrauben muss ich wie einstellen, damit das gelingen kann? Da
> gibt es diese schönen Sachen wie Bevorzugte Breite (PreferredWidth) oder
> die Einstellungen für das Standardverhalten (in vba DefaultTableBehavior)
> oder (in vba AutoFitBehavior) wie Word die Tabellengröße bei Verwendung von
> AutoAnpassen (das dürfte Automatische Größenänderung zulassen sein) ändert.
>
> Ich habe mittlerweile diverseste Kombinationen mit diesen Parametern durch.
>
> Auch die Variante, zuerst eine Tabelle mit nur einer Spalte einzurichten
> und dann die weiteren Spalten Stück für Stück unter Kürzung der Breite
> dieser Spalte um die Breite der neuen Spalte hinzuzufügen. Diese Variante
> hielt ich für den Bringer aber papperlapapp, auch die auf diese Art
> erzeugte Tabelle nutzt die Seitenbreite nicht komplett aus.
Wie gesagt, ich sehe nicht ganz, wo's bei Dir hakt:
1. Unter Tabelleneigenschaften | Spalte | Grösse legst Du die Breite der
einzelnen Zellen ("Bevorzugte Breite" angehakt) exakt fest nach Deinen
Berechnungen.
2. Unter Tabelleneigenschaften | Tabelle | Optionen | Optionen muss der
(einzige) Haken ("Automatische Grössenänderungen zulassen") raus, weil
sonst allfälliger Inhalt der Zellen Deine unter 1. festgelegten Werte
zunichte machen kann.
3. Im selben Dialog ("Standardzellenbegrenzungen") legst Du links und
rechts dasselbe ab wie unter Tabelleneigenschaften | Tabelle |
Ausrichtung: "Einzug von links" (dann wird die _Tabelle_ schön
linksbündig, nicht deren Text mit dem ausserhalb einer Tabelle).
Gruss
Robert
--
/"\ ASCII Ribbon Campaign | MSFT |
\ / | MVP | Scientific Reports
X Against HTML | for | with Word?
/ \ in e-mail & news | Word | http://www.masteringword.eu/
"Thomas Löwe [MS MVP Word]" <offic...@gmx.de> schrieb im Newsbeitrag
news:gp0mv2$l2j$03$1...@news.t-online.com...
> Hallo Susanne,
>
> "Susanne Wenzel" <wirdnich...@onlinehome.de> schrieb im
> Newsbeitrag
> news:3ul5vjercfk1$.dlg@ID-301016.user.individual.de...
>
>> Ich will eine Tabelle mit z.B. 5 Spalten (die Spaltenanzahl
>> kann variieren) einrichten, was erstmal nicht so schwierig
>> ist.
>> Bedingung 1:
>> Von den o.g. 5 Spalten im Beispiel sind die Spaltenbreiten
>> der Spalten 2-5 fest vorgegeben, sie können jedoch für
>> verschiedene Tabellen verschieden groß sein (innerhalb
>> einer Tabelle sind sie jedoch fest).
>> Bedingung 2:
>> Die Tabelle mit den 5 Spalten soll exakt die gesamte
>> Breite des Dokuments einnehmen, die durch die
>> eingestellten Seitenränder links und rechts vorgegeben
>> ist.
>> Office XP, SP3, aktueller Patchstand
>
Habe zwar gerade mit Word2007 probiert, aber es kam mir nichts aus
früheren Versionen unbekannt vor:
- Tabelle erstellen mit Anzahl Spalten + Zeilen wie benötigt. Am
einfachsten mit diesem Button wo man das grafisch macht.
Die Tabelle sollte damit erst einmal mit gleichmäßig verteilen Spalten
über die Seitenbreite erstellt sein.
- Dann in die Tabelle rechts klicken und "Auto Anpassen" | "Größe an
Fenster anpassen" (Ist das bei 2003 evtl. im Menü und nicht im
Kontext?)
Das sollte bei der frisch erstellten Tabelle zunächst keinen Effekt
haben, schien aber in der Folge einen Unterschied zu machen.
- Dann die fest einzustellenden Spalten markieren, (mit dem kleinen
Pfeil an der oberen Kante)
- Dann "Tabelleneigenschaften" | "Spalte" | "Bevorzugte Breite" in
Prozent angeben!
Bei Angabe in cm hatte ich den von Dir beschriebenen Effekt, dass sich
die Gesamtbreite ändert. Diese läßt sich dann mit dem Schritt oben
wieder auf 100% auseinander ziehen.
hth
Gert
>>> Ich will eine Tabelle mit z.B. 5 Spalten (die Spaltenanzahl kann
>>> variieren) einrichten, was erstmal nicht so schwierig ist.
>>> Bedingung 1: Von den o.g. 5 Spalten im Beispiel sind die Spaltenbreiten
>>> der Spalten 2-5 fest vorgegeben, sie können jedoch für verschiedene
>>> Tabellen verschieden groß sein (innerhalb einer Tabelle sind sie
>>> jedoch fest).
>>> Bedingung 2: Die Tabelle mit den 5 Spalten soll exakt die gesamte
>>> Breite des Dokuments einnehmen, die durch die eingestellten
>>> Seitenränder links und rechts vorgegeben ist.
>>> Office XP, SP3, aktueller Patchstand
> - Tabelle erstellen mit Anzahl Spalten + Zeilen wie benötigt. Am
> einfachsten mit diesem Button wo man das grafisch macht.
Ich mache das im GUI mit Tabelle/Einfügen.../Tabelle
> Die Tabelle sollte damit erst einmal mit gleichmäßig verteilen Spalten
> über die Seitenbreite erstellt sein.
Ist sie.
> - Dann in die Tabelle rechts klicken und "Auto Anpassen" | "Größe an
> Fenster anpassen" (Ist das bei 2003 evtl. im Menü und nicht im
> Kontext?)
Doch, den Punkt gibt es so auch bei WordXP.
> - Dann "Tabelleneigenschaften" | "Spalte" | "Bevorzugte Breite" in
> Prozent angeben!
Und genau hier ist nämlich mein Problem, ich habe die Prozente nicht! Was
ich habe (bzw. später von meinen Anwendern eingegeben wird), sind die
Spaltenbreiten der 2-n-Spalten in cm. Ich gebe mal ein *Beispiel*, wie so
eine (von Word dann per vba automatisch) erstellte Tabelle aussehen kann:
Spaltenanzahl gesamt: 7
Spaltenbreite 1: ? ( = Gesamtbreite Tabelle ./. Summe Spaltenbreiten 2-7)
Spaltenbreite 2: 1
Spaltenbreite 3: 3
Spaltenbreite 4: 1,09
Spaltenbreite 5: 2,5
Spaltenbreite 6: 1,09
Spaltenbreite 7: 2,5
Das ist mal ein Beispiel, aber nur ein Zwischenschritt.
Schlussendlich ist die Anforderung nach meinen Vorstellungen so, dass der
Anwender Spaltenbreiten für n-1 Spalten angibt, die übriggebliebene Spalte
(hier in meinem Beispiel oben wäre das die erste) bekommt einfach die
restliche (maximal noch übrig bleibende) Spaltenbreite, die zur Verfügung
steht.
Und die dann entstandene Tabelle muss *exakt* über die ganze Seitenbreite
gehen.
> Bei Angabe in cm hatte ich den von Dir beschriebenen Effekt, dass sich
> die Gesamtbreite ändert. Diese läßt sich dann mit dem Schritt oben
> wieder auf 100% auseinander ziehen.
Vielleicht lässt sich ja mit dem Prozentansatz über Zwischenschritte die
richtige Tabelle hinbasteln...
Nochmals danke und
viele Grüße aus dem hohen flachen Norden Deutschlands
Susanne
--
Office XP, SP3, aktueller Patchstand
> Susanne Wenzel wrote:
>> Ich habe folgende Situation:
>> Ich will eine Tabelle mit z.B. 5 Spalten (die Spaltenanzahl kann variieren)
>> einrichten, was erstmal nicht so schwierig ist. Jetzt kommen aber die
>> Bedingungen, die ich einfach nicht unter einen Hut kriege.
> aus Deinen weitere Ausführung geht nicht hervor, was mit einer Tabelle
> ist, die mehr als diese 5 Spalten hat. Gehe ich richtig in der Annahme,
> dass die Spalten 2–n alle gleich breit sein sollen?
Nein. Sie können gleich breit sein, müssen es aber nicht. Es können auch
mehr als 5 Spalten sein. Die Grenze ist natürlich die zur Verfügung
stehende Seitenbreite.
>> Bedingung 1:
>> Von den o.g. 5 Spalten im Beispiel sind die Spaltenbreiten der Spalten 2-5
>> fest vorgegeben, sie können jedoch für verschiedene Tabellen verschieden
>> groß sein (innerhalb einer Tabelle sind sie jedoch fest).
>> Bedingung 2:
>> Die Tabelle mit den 5 Spalten soll exakt die gesamte Breite des Dokuments
>> einnehmen, die durch die eingestellten Seitenränder links und rechts
>> vorgegeben ist.
>> Aus diesen beiden Bedingungen folgt die logische Konsequenz für die Breite
>> der 1. Spalte, das ist die Breite, die nach Abzug der Spaltenbreiten 2-5
>> noch übrig bleibt.
>> Und eigentlich ist das doch nicht schwierig, ist leicht ausrechenbar. Aber
>> Word macht mir da einen Strich durch die Rechnung, im Regelfall liegt die
>> Gesamtbreite der entstandenen Tabelle unter der Gesamtbreite der Seite, was
>> Word dann mit einem linken Einzug zu korrigieren versucht, soweit ich das
>> erkennen kann.
> Hmm, ich habe eher die gegenteilige Erfahrung: wenn man unter
> default-Einstellungen eine Tabelle einfügt, dann setzt Word sie so hin,
> dass der Text in der ersten Spalte (linksbündig) genau so weit links
> steht wie normaler Fliesstext unter den selben Seitenrändern.
Tja, hier ist natürlich die Schwierigkeit, dass ich den von mir
beschriebenen Effekt mit den von mir gebastelten vba-Prozeduren habe. Fakt
ist bei mir jedenfalls (und irgendwie hat Gert diese Beobachtung ja
bestätigt), dass meine produzierten Tabellen auf Teufel komm raus *nicht*
die gesamte Seitenbreite ausnutzen, da kann ich mich drehen und wenden wie
ich will. Und dort setzt Word dann von sich aus einen linken Einzug.
[...]
> Wie gesagt, ich sehe nicht ganz, wo's bei Dir hakt:
> 1. Unter Tabelleneigenschaften | Spalte | Grösse legst Du die Breite der
> einzelnen Zellen ("Bevorzugte Breite" angehakt) exakt fest nach Deinen
> Berechnungen.
Ich habe nicht sofort für jede Spalte die exakte Breite, für eine Spalte
muss ich sie selbst ausrechnen und anscheinend liegt genau dort das
Problem. Ich habe versucht, meine Anforderungen in meiner Antwort auf Gerts
Beitrag etwas mehr zu veranschaulichen.
Mir fehlt die (in vba verwertbare) Info, wie breit die *gesamte* Tabelle
ist. Und meine Variante, genau diesen Wert irgendwie zu ermitteln und
danach dann die Breite der einen Spalte auszurechnen, führt zu diesem
Effekt, dass die Tabelle nicht die Seitenbreite ausnutzt.:-(
Und da mir das beim GUI auch nicht gelingt, habe ich hier nachgefragt, aber
vermutlich war meine Anfrage eher irreführend.
Danke für Deine Antwort.
Susanne Wenzel wrote:
[..]
> Tja, hier ist natürlich die Schwierigkeit, dass ich den von mir
> beschriebenen Effekt mit den von mir gebastelten vba-Prozeduren habe. Fakt
> ist bei mir jedenfalls (und irgendwie hat Gert diese Beobachtung ja
> bestätigt), dass meine produzierten Tabellen auf Teufel komm raus *nicht*
> die gesamte Seitenbreite ausnutzen, da kann ich mich drehen und wenden wie
> ich will. Und dort setzt Word dann von sich aus einen linken Einzug.
sie sind also schmaler?
[..]
>> 1. Unter Tabelleneigenschaften | Spalte | Grösse legst Du die Breite der
>> einzelnen Zellen ("Bevorzugte Breite" angehakt) exakt fest nach Deinen
>> Berechnungen.
>
> Ich habe nicht sofort für jede Spalte die exakte Breite, für eine Spalte
> muss ich sie selbst ausrechnen und anscheinend liegt genau dort das
> Problem. Ich habe versucht, meine Anforderungen in meiner Antwort auf Gerts
> Beitrag etwas mehr zu veranschaulichen.
Aber die Einstellungen müssen trotzdem so sein, damit Dir Word nicht
selbständig weiter rechnet.
> Mir fehlt die (in vba verwertbare) Info, wie breit die *gesamte* Tabelle
> ist. Und meine Variante, genau diesen Wert irgendwie zu ermitteln und
> danach dann die Breite der einen Spalte auszurechnen, führt zu diesem
> Effekt, dass die Tabelle nicht die Seitenbreite ausnutzt.:-(
Eigentlich brauchst Du die Info nicht, wenn Du weisst, wie breit die 2-n
Spalten alle sind (und wie breit die Seite minus die Seitenränder).
Mit VBA kann ich dir wenig helfen, aber um eine Tabelle via GUI so
hinzubekommen, wie ich will, da helfen mir wirklich (nur) die zwei
Einstellungen, die ich im letzten Posting erwähnt habe:
1. Unter Tabelleneigenschaften | Spalte | Grösse legst Du die Breite der
einzelnen Zellen ("Bevorzugte Breite" angehakt) exakt fest nach Deinen
Berechnungen.
2. Unter Tabelleneigenschaften | Tabelle | Optionen | Optionen muss der
(einzige) Haken ("Automatische Grössenänderungen zulassen") raus, weil
sonst allfälliger Inhalt der Zellen Deine unter 1. festgelegten Werte
zunichte machen kann.
Gruss
>>> Ich will eine Tabelle mit z.B. 5 Spalten (die Spaltenanzahl kann
>>> variieren)
Immer noch am kämpfen?
Hast du meinen Code auf der Mail mal genau angeschaut. Ist dort etwas nicht
i.O.
Willst du auf mein anderes Angebot eingehen? (die Zeit müssen wir abmachen).
--
Thomas Gahler
MVP für Word
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)
- Windows XP (SP3), Office XP (SP3)
>>>> Ich will eine Tabelle mit z.B. 5 Spalten (die Spaltenanzahl kann
>>>> variieren)
> Immer noch am kämpfen?
Der Kampf mit Word hört für mich niemals auf...:-)
> Hast du meinen Code auf der Mail mal genau angeschaut. Ist dort etwas nicht
> i.O.
> Willst du auf mein anderes Angebot eingehen? (die Zeit müssen wir abmachen).
Du hast eine PM.