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

In Word eine Rechnung mit Übertrag erstellen - Feste Position unmöglich?

593 views
Skip to first unread message

Konrad Hammerer

unread,
Feb 9, 2006, 5:41:47 AM2/9/06
to
Hallo!
Ich möchte aus VB heraus in Word eine Rechnung erstellen. Das klappt
soweit ganz gut. Ich benutze dafür eine Tabelle, die so über mehrere
Seiten geht, je nachdem, wieviele Positionen es gibt. Nun möchte ich
noch auf jeder Seite rechts oben einen Übertrag haben und daran
scheitere ich im Moment. Da es eine fortlaufende Tabelle ist, kann ich
den Übertrag nicht einfach als normalen Text auf der Seite plazieren und
in die Tabelle als erste Zeile jeder Seite kann ich ich auch nicht
schreiben, da der Kunde die Zeilen der Tabelle ja beliebig verändern,
löschen, einfügen usw. kann. Da würde sich dann die Position des
Übertrages ändern und das will man ja nicht.

Nun wollte ich es mittels Textbox versuchen, aber die schieben sich
leider auch mit der Tabelle mit, sobald man eine Zeilen von einer Seite
auf die nächste verschiebt, selbst wenn man "mit Text verschieben" enthakt.

Wenn jemand also eine Lösung hat, wie ich einen Übertrag rechts oben im
Eck hinbekomme, der sich unter keinen Umständen verschiebt, dann wäre
ich sehr dankbar! Vielleicht gibt es eine Möglichkeit in der Kopfzeile?

Viele Grüße,
Konrad

Thomas Gahler

unread,
Feb 9, 2006, 6:20:50 AM2/9/06
to
Hallo Konrad


> Nun möchte ich
> noch auf jeder Seite rechts oben einen Übertrag haben [...]
Meine persönliche Meinung zu diesem Thema. Ein Übertrag ist ein alter
Zopfaus vergangenen Tagen , als man noch manulle addieren musst und so die
Kontrolle hatte auf welcher eite sich der Fehler eingeschliechen hat. Im
Zeitalter der EDV rechnet das Programm richtig oder falsch aber nicht ab und
zu mal falsch, also ist der Übertrag nicht mehr nötig.


> Wenn jemand also eine Lösung hat, wie ich einen Übertrag rechts oben im
> Eck hinbekomme, der sich unter keinen Umständen verschiebt, dann wäre
> ich sehr dankbar! Vielleicht gibt es eine Möglichkeit in der Kopfzeile?

Die einzige Möglichkeit die ich sehe, ist wohl auch ein Würg-Around. Führe
in deiner Tabelle noch eine Saldo-Spalte mit, die muss eine eigene
Formatvorlage haben. Schrift am besten Weiss (damit nichts gedruckt wird).
Jetzt solltest du mittels StyleRef-Feldern in der Kopf bzw. Fusszeile den
Wert abholen können.


> in die Tabelle als erste Zeile jeder Seite kann ich ich auch nicht
> schreiben, da der Kunde die Zeilen der Tabelle ja beliebig verändern,
> löschen, einfügen usw. kann

Und noch was so neben bei. Du willst Rechungen schreiben und der Kunde kann
die maniulieren, was ist wenn er die Zahlen manpuliert? Stimmt dann die
Buchhaltung noch usw. Also ich würde Word nur zum Drucken verwenden ohne dem
Kunden einen Zugriff auf das Dokument zu gewähren.
Stell dir mal das Szenario vor: Bitte senden Sie mir ein Rechungskopie, ich
finde das Original nicht mehr. Und dann taucht das Original wieder auf und
sieht ganz anders aus. Andere Texte, die Anzahl der Positionen stimmt nicht
überein, Betrag vielleicht auch nicht usw. (viel Spass....)


--
Thomas Gahler
MVP für WordVBA
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)

- Windows XP (SP1), Office XP (SP3)


Konrad Hammerer

unread,
Feb 9, 2006, 6:45:08 AM2/9/06
to
>> Nun möchte ich
>> noch auf jeder Seite rechts oben einen Übertrag haben [...]
> Meine persönliche Meinung zu diesem Thema. Ein Übertrag ist ein alter
> Zopfaus vergangenen Tagen , als man noch manulle addieren musst und so die
> Kontrolle hatte auf welcher eite sich der Fehler eingeschliechen hat. Im
> Zeitalter der EDV rechnet das Programm richtig oder falsch aber nicht ab und
> zu mal falsch, also ist der Übertrag nicht mehr nötig.

Kann sein, aber was soll man machen, wenn die Kunden es wollen ;-)

>
>> Wenn jemand also eine Lösung hat, wie ich einen Übertrag rechts oben im
>> Eck hinbekomme, der sich unter keinen Umständen verschiebt, dann wäre
>> ich sehr dankbar! Vielleicht gibt es eine Möglichkeit in der Kopfzeile?
> Die einzige Möglichkeit die ich sehe, ist wohl auch ein Würg-Around. Führe
> in deiner Tabelle noch eine Saldo-Spalte mit, die muss eine eigene
> Formatvorlage haben. Schrift am besten Weiss (damit nichts gedruckt wird).
> Jetzt solltest du mittels StyleRef-Feldern in der Kopf bzw. Fusszeile den
> Wert abholen können.

Das müsstest du noch etwas genauer beschreiben, denn so kann ich damit
noch nichts anfangen...

>> in die Tabelle als erste Zeile jeder Seite kann ich ich auch nicht
>> schreiben, da der Kunde die Zeilen der Tabelle ja beliebig verändern,
>> löschen, einfügen usw. kann
> Und noch was so neben bei. Du willst Rechungen schreiben und der Kunde kann
> die maniulieren, was ist wenn er die Zahlen manpuliert? Stimmt dann die
> Buchhaltung noch usw. Also ich würde Word nur zum Drucken verwenden ohne dem
> Kunden einen Zugriff auf das Dokument zu gewähren.
> Stell dir mal das Szenario vor: Bitte senden Sie mir ein Rechungskopie, ich
> finde das Original nicht mehr. Und dann taucht das Original wieder auf und
> sieht ganz anders aus. Andere Texte, die Anzahl der Positionen stimmt nicht
> überein, Betrag vielleicht auch nicht usw. (viel Spass....)

Das sind ja nicht meine Rechnungen, sondern die des Kunden. Und wenn er
seine eigenen Rechnungen so verändert, dass sie nicht mehr stimmig sind,
dann kann ich auch nichts machen. Das Dokument nicht zeigen, sondern es
nur drucken, ist auch nicht so schön, denn die Kunden wollen "sehen",
was sie kriegen. Ich hatte den ersten Weg mit nur drucken am Anfang,
aber damit war keiner zufrieden!

Noch ein anderer Gedanke:
Gibt es eine Möglichkeit, in Word per VBA vor dem Drucken noch etwas
anzustoßen? Ich finde kein Ereignis "BeforePrint" oder ähnlichem, um da
die Überträge neu zu berechnen usw.

Viele Grüße,
Kornad

Helmut Weber

unread,
Feb 9, 2006, 7:15:44 AM2/9/06
to
Hallo Konrad,

vgl. "documentbeforeprint"

http://word.mvps.org/faqs/macrosvba/AppClassEvents.htm


--
Gruß

Helmut Weber, MVP WordVBA

"red.sys" & chr$(64) & "t-online.de"
Win XP, Office 2003


Thomas Gahler

unread,
Feb 9, 2006, 8:43:19 AM2/9/06
to
Hallo Konrad


> >> noch auf jeder Seite rechts oben einen Übertrag haben [...]
> > Meine persönliche Meinung zu diesem Thema. Ein Übertrag ist ein alter

[...]


> Kann sein, aber was soll man machen, wenn die Kunden es wollen ;-)

Diese Meldung forwarden ;-))

> >> Wenn jemand also eine Lösung hat, wie ich einen Übertrag rechts oben im
> >> Eck hinbekomme, der sich unter keinen Umständen verschiebt, dann wäre
> >> ich sehr dankbar! Vielleicht gibt es eine Möglichkeit in der Kopfzeile?
> > Die einzige Möglichkeit die ich sehe, ist wohl auch ein Würg-Around.
Führe
> > in deiner Tabelle noch eine Saldo-Spalte mit, die muss eine eigene
> > Formatvorlage haben. Schrift am besten Weiss (damit nichts gedruckt
wird).
> > Jetzt solltest du mittels StyleRef-Feldern in der Kopf bzw. Fusszeile
den
> > Wert abholen können.
> Das müsstest du noch etwas genauer beschreiben, denn so kann ich damit
> noch nichts anfangen...

Ich nehme an dass du die Saldospalte begriffen hast
Artikeltext Menge Einheitspreis Gesamtpreis Saldo
Brot 2 10.- 20.- 20.-
Apfel 3 5.- 15.- 35.-
Milch 2 3.- 6.- 41.-

Und dann mal Einfügen / Feld / Feldname 'StyleRef' anschauen und in der
Hilfe unter 'StyleRef-Feld' noch nach schauen.


> >> in die Tabelle als erste Zeile jeder Seite kann ich ich auch nicht
> >> schreiben, da der Kunde die Zeilen der Tabelle ja beliebig verändern,
> >> löschen, einfügen usw. kann
> > Und noch was so neben bei. Du willst Rechungen schreiben und der Kunde
kann
> > die maniulieren, was ist wenn er die Zahlen manpuliert? Stimmt dann die

[...]


> Das sind ja nicht meine Rechnungen, sondern die des Kunden. Und wenn er
> seine eigenen Rechnungen so verändert, dass sie nicht mehr stimmig sind,

[...]
Aber du wirst jedes mal gefragt weshalb denn eien Rechnung plötzlich anders
aussieht, nachher kommt die Anforderung, dass nur Texte aber kein Zahlen
verändert werden dürfen usw. und du wirst immer solche «unmöglichen»
Bedürnisse abdecken, ok gibt auch Geld aber ob es auch Image gibt....

Konrad Hammerer

unread,
Feb 9, 2006, 9:03:34 AM2/9/06
to
Gibt es erst ab Word 2000 und ich wollte gerne zu Word 97 kompatibel
bleiben...


Helmut Weber schrieb:

Konrad Hammerer

unread,
Feb 9, 2006, 9:37:56 AM2/9/06
to
>> Kann sein, aber was soll man machen, wenn die Kunden es wollen ;-)
> Diese Meldung forwarden ;-))

Das werd ich zumindest in Erwägung ziehen ;-)

> Ich nehme an dass du die Saldospalte begriffen hast
> Artikeltext Menge Einheitspreis Gesamtpreis Saldo
> Brot 2 10.- 20.- 20.-
> Apfel 3 5.- 15.- 35.-
> Milch 2 3.- 6.- 41.-
>
> Und dann mal Einfügen / Feld / Feldname 'StyleRef' anschauen und in der
> Hilfe unter 'StyleRef-Feld' noch nach schauen.

Ist sehr interessant und geht ganz gut...
Nur weiß ich noch nicht, ob es den Aufwand wert ist! Wie du schon
sagtest: Übertrag ist nicht mehr nötig. Das müssen die Kunden einfach
akzeptieren!

Grüße,
Konrad

Thomas Gahler

unread,
Feb 9, 2006, 10:17:05 AM2/9/06
to
Hallo Konrad


> > vgl. "documentbeforeprint"
> > http://word.mvps.org/faqs/macrosvba/AppClassEvents.htm


> Gibt es erst ab Word 2000 und ich wollte gerne zu Word 97 kompatibel
> bleiben...

Dann einfach ein Makro erzeugen das die Bezeichnung 'DateiDrucken()' bzw.
DateiDruckenStandard()' trägt. Und wenn du international sein musst die
englischen Begriffe verwenden....

Konrad Hammerer

unread,
Feb 9, 2006, 1:09:08 PM2/9/06
to
Habe ich mir auch schon überlegt, nur ist das mehreren Kunden nicht so
einfach und wenn doch mal einer auf das normale Drucken klickt, dann
habe ich wieder ein Problem...

Grüße,
Konrad

Thomas Gahler schrieb:

Thomas Gahler

unread,
Feb 10, 2006, 1:52:09 AM2/10/06
to
Hallo Konrad

> Habe ich mir auch schon überlegt, nur ist das mehreren Kunden nicht so
> einfach und wenn doch mal einer auf das normale Drucken klickt, dann
> habe ich wieder ein Problem...

Hast du eben nicht, sofern deine Dokumente auf einer eigegen Vorlage
basieren (und das machen die ja hoffentlich) und das besagte Makro in dieser
Vorlage hinterlegt ist, dann ist der Befehl überdefiniert und der macht was
du willst und nicht mehr was Word wollte. Vergiss einfach nicht die original
Funktionalität auch wieder einzubauen (also das Drucken, sonst wird eben gar
nicht gedruckt sondern nur gerechnet).


Siehe Seite 707-711 im 'Das Handbuch'

Konrad Hammerer

unread,
Feb 12, 2006, 4:47:52 AM2/12/06
to
Hi!
Leider bin ich nicht im Besitz des Handbuchs (war bei meiner OEM Version
von Word 2003 nicht dabei). Aber lass mich das mal erklären, so wie ich
es verstehe:

Wenn ich also ein Makro mit den beiden von dir genannten Bezeichnungen
habe, dann werden diese automatisch gerufen. Ist das richtig?

Habe es kurz versucht und es hat auf den ersten Wurf nicht funktioniert.
Aber wenn das gehen würde, dann wäre das genau das, was ich brauche.
Denn dann könnte ich die Position und die Summe des Übertrages für jede
Seite erst beim Drucken berechnen und nicht schon bei der Anzeige, bei
der der Kunde noch Sachen ändern kann und somit meine Überträge dann
nicht mehr stimmen würden!

Vielen Dank,
Konrad

Thomas Gahler schrieb:

Konrad Hammerer

unread,
Feb 13, 2006, 4:53:10 AM2/13/06
to
Hi!
Nun hat es funktioniert und das ist genau das, was ich wollte!
Vielleicht könntest du mir aber noch kurz mit den Befehlen zum
eigentlich Drucken weiterhelfen. Beim DruckenStandard wird es wohl etwas
wie "ActiveDocument.PrintOut" sein, aber was muss ich beim normalen
Drucken noch anfügen, damit der Druckdialog und das anschließende
Drucken auf dem gewählten Drucker angestoßen wird?

Vielen Dank,
Konrad

Thomas Gahler schrieb:

Thomas Gahler

unread,
Feb 16, 2006, 3:20:45 PM2/16/06
to
Hallo Konrad

> Beim DruckenStandard wird es wohl etwas wie "ActiveDocument.PrintOut"
> sein,

Jepp und verwende Background:=False


> Drucken noch anfügen, damit der Druckdialog und das anschließende Drucken
> auf dem gewählten Drucker angestoßen wird?

Schau dir mal die Möglichkeiten von
- Dialogs(wdDialogFilePrint).Show
an

>> Siehe Seite 707-711 im 'Das Handbuch'

Da war nicht das Word-Handbuch gemeint (Siehe Signatur)

--
Thomas Gahler
MVP für WordVBA
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)

- Windows XP (SP2), Office XP (SP3)


0 new messages