coolkaiserabc
Goto Top

Felder in Word 2016 addieren und multiplizieren

Hallo,

Ich hab den Auftrag bekommen eine Word Bestell-Vorlage zu erstellen bei der automatisch alles zusammengerechnet wird (aber ohne Excel Tabelle).
Das wäre ja nicht so schwer wenn es nicht dynamisch viele Zeilen geben sollte.
Geschafft hab ich bis jetzt das ich Zeilen hinzufügen mit einer Laufenden Nummer die Pos1 ... Pos 2 ... Pos 3 USW anzeigt. Das hab ich mit "Inhaltssteuerelement für Wiederholte Abschnitte" mit einem Schnellbaustein für die fortlaufende Nummer.

Ich denke aber das ich die Menge, Einzelpreis, "Preis der Menge" und "Gesamtpreis" in einem Skript Berechnen muss...
Hierzu fehlt mir aber leider die Programmier Fähigkeit und durch googeln finde ich nichts passendes.

Bitte um Hilfe Danke

wordbestellvorlage

Hier noch ein Screenshoot So hab ich es mit dem "Inhaltssteuerelement für Wiederholte Abschnitte" gemacht (rot eingekreißt) und hier sollte ich anhand der Menge dann den Preis errechnen und unten in einem Gesamt nochmal ausgeben. Nur nochmal zur Erinnerung mit theoretisch unendlich vielen Zeilen die zum Unten zusammengerechnet werden sollen. (Ich weiß schon das jedes neue Feld im Namen eine 1 dazu bekommt BEISPIEL: "Textfeld1" "Textfeld11" "Textfeld111"

MFG coolkaiser

PS: bin mir nicht sicher ob das zu VB oder OFFICE gehört sollte es falsch sein bitte ich einen MOD es richtig zu verschieben danke.

Content-ID: 583249

Url: https://administrator.de/contentid/583249

Ausgedruckt am: 13.11.2024 um 07:11 Uhr

erikro
erikro 30.06.2020 um 19:18:14 Uhr
Goto Top
Moin,

Zitat von @coolkaiserABC:

Ich hab den Auftrag bekommen eine Word Bestell-Vorlage zu erstellen bei der automatisch alles zusammengerechnet wird (aber ohne Excel Tabelle).

Arme Sau! Das klingt wie: Hier haben Sie einen VW Käfer. Mit dem müssen Sie das Rennen von Le Mans gewinnen. face-wink

PS: bin mir nicht sicher ob das zu VB oder OFFICE gehört sollte es falsch sein bitte ich einen MOD es richtig zu verschieben danke.

Ich würde da glatt schummeln und mit VBA im Hintergrund mit Excel die Tabelle erstellen und dann das Ergebnis in Word einfügen. Dann wird aus Deinem Käfer Herbie und Du gewinnst das Rennen. face-wink

Als erster Einstieg: https://docs.microsoft.com/de-de/office/vba/excel/concepts/working-with- ...

hth

Erik
beidermachtvongreyscull
beidermachtvongreyscull 01.07.2020 um 05:15:23 Uhr
Goto Top
Moin,

Ich hoffe, Du verstehst Englisch:
https://www.techrepublic.com/blog/10-things/10-steps-to-creating-a-calcu ...

Mit obigem Link wird recht schön der Umgang mit rechnenden Feldern erklärt.
colinardo
Lösung colinardo 01.07.2020 aktualisiert um 12:06:47 Uhr
Goto Top
Servus,
auch wenn ich das persönlich mit Word suboptimal finde (lässt sich viel komfortabler und sicherer z.B. mit Access zusammen klicken), funktionsfähig bekommt man auch das hin wenn man unbedingt will:

Hier findest du ein Beispieldokument, da das detaillierte Erklären der Vorgehensweise hier zu komplex werden würde:
contentcontrol_artikelliste_583249.zip

screenshot
Ich hoffe, Du verstehst Englisch:
https://www.techrepublic.com/blog/10-things/10-steps-to-creating-a-calcu ...

Mit obigem Link wird recht schön der Umgang mit rechnenden Feldern erklärt.
Wird schwer mit dynamisch vom User hinzugefügten Feldern die ohne Namen angelegt werden und dann noch ohne VBA.

Grüße Uwe
coolkaiserABC
coolkaiserABC 01.07.2020 um 14:09:29 Uhr
Goto Top
Zitat von @erikro:

Arme Sau! Das klingt wie: Hier haben Sie einen VW Käfer. Mit dem müssen Sie das Rennen von Le Mans gewinnen. face-wink

Hahaha so hab ich mich auf gefühlt, ok ich lese mich mal in VBA rein und hoffe das ich es gebacken bekomme der Syntax sieht nicht soo schwer aus.
coolkaiserABC
coolkaiserABC 01.07.2020 um 14:10:19 Uhr
Goto Top
Zitat von @beidermachtvongreyscull:

Moin,

Ich hoffe, Du verstehst Englisch:
https://www.techrepublic.com/blog/10-things/10-steps-to-creating-a-calcu ...

Mit obigem Link wird recht schön der Umgang mit rechnenden Feldern erklärt.


Danke hat mir leider nicht wirklich geholfen da es gerade bei den neuen Zeilen nicht klappen will
coolkaiserABC
coolkaiserABC 01.07.2020 um 14:11:19 Uhr
Goto Top
Zitat von @colinardo:

Servus,
auch wenn ich das persönlich mit Word suboptimal finde (lässt sich viel komfortabler und sicherer z.B. mit Access zusammen klicken), funktionsfähig bekommt man auch das hin wenn man unbedingt will:

Hier findest du ein Beispieldokument, da das detaillierte Erklären der Vorgehensweise hier zu komplex werden würde:
contentcontrol_artikelliste_583249.zip

screenshot
Ich hoffe, Du verstehst Englisch:
https://www.techrepublic.com/blog/10-things/10-steps-to-creating-a-calcu ...

Mit obigem Link wird recht schön der Umgang mit rechnenden Feldern erklärt.
Wird schwer mit dynamisch vom User hinzugefügten Feldern die ohne Namen angelegt werden und dann noch ohne VBA.

Grüße Uwe


Jop das schaff ich nicht zu wenig skill :D
colinardo
colinardo 01.07.2020 aktualisiert um 14:20:01 Uhr
Goto Top
Zitat von @coolkaiserABC:
Jop das schaff ich nicht zu wenig skill :D
Dann lad dir das Beispieldokument das ich für dich oben erstellt habe, darin kannst du es dir abschauen wie das mit VBA Ergänzung funktioniert face-wink.

p.s Sei doch so nett und korrigiere den Tippfehler im Titel des Beitrags. Merci.
coolkaiserABC
coolkaiserABC 01.07.2020 um 14:49:29 Uhr
Goto Top
Zitat von @colinardo:

Zitat von @coolkaiserABC:
Jop das schaff ich nicht zu wenig skill :D
Dann lad dir das Beispieldokument das ich für dich oben erstellt habe, darin kannst du es dir abschauen wie das mit VBA Ergänzung funktioniert face-wink.

Danke mach ich gleich muss nur den Umweg übers Handy nehmen da *.zip bei uns gesperrt ist.


p.s Sei doch so nett und korrigiere den Tippfehler im Titel des Beitrags. Merci.

OHA wie peinlich Danke
coolkaiserABC
coolkaiserABC 01.07.2020 um 15:37:36 Uhr
Goto Top
Zitat von @coolkaiserABC:

Zitat von @colinardo:

Servus,
auch wenn ich das persönlich mit Word suboptimal finde (lässt sich viel komfortabler und sicherer z.B. mit Access zusammen klicken), funktionsfähig bekommt man auch das hin wenn man unbedingt will:

Hier findest du ein Beispieldokument, da das detaillierte Erklären der Vorgehensweise hier zu komplex werden würde:
contentcontrol_artikelliste_583249.zip

screenshot

Das wäre genau so wie ich es mir vorgestellt habe Danke, aber wenn man mehr als 20 Zeilen hat dauert jede Berechnung sehr lange... Bei 50 Artikel ist es sehr mühsam...

Ich weiß das VBA nicht das schnellste ist aber kann man das optimieren?
colinardo
colinardo 01.07.2020 aktualisiert um 16:07:28 Uhr
Goto Top
Zitat von @coolkaiserABC:
Das wäre genau so wie ich es mir vorgestellt habe Danke, aber wenn man mehr als 20 Zeilen hat dauert jede Berechnung sehr lange... Bei 50 Artikel ist es sehr mühsam...

Ich weiß das VBA nicht das schnellste ist aber kann man das optimieren?
Ja, aber das ist mit Word ehrlich gesagt nur eine Krücke da die ContentControls leider nur mit Schleife referenzierbar sind.
Du kannst dir natürlich auch einen Button bauen der die Berechnungen nur einmal triggert(statt dem Event ContentControlOnEnter das ich verwende), wenn du alle Artikel eingetragen hast. Oder du verwendest statt den ContentControls innerhalb der Zeile Formularfelder, trotzdem bleibt das eine Krücke.

Wenn das wirklich nur eine kleine Klitsche von Firma ist (davon gehe ich aus wenn man sowas versucht mit Word zu realisieren), bau dir eine kleine Access-Datenbank mit Formular und Bericht. Oder wenn es moderner sein soll ein PHP-Formular mit PDF-Plugin zur Ausgabe.
Nutzt ihr wirklich keine Business-Solution für's Bestellwesen/Einkauf?? Sowas bietet nun eigentlich fast jede Software dieser Art an.
Das Word-Gedöhns fällt dir früher oder später sowieso auf die Füße wenns ans Konsolidieren geht.
coolkaiserABC
coolkaiserABC 01.07.2020 aktualisiert um 16:44:50 Uhr
Goto Top
Es ist für ein DMS System als Vorlage, beidem ich oben Variablen eingebe und das DMS diese ersetzt. Normalerweise nimmt er die Briefvorlage aber er will es einfacher haben.
Deshalb kann ich nicht auf 2 Dateien ausweichen oder Acces das DMS kann nur Word Vorlagen nutzen. Ich hab auch lange Zeit es gibt keinen direkten Abgabe Termin. Es ist ein Projekt das ich machen soll "wenn ich Zeit habe" und momentan geht es super bei mir.

Die Option mit dem Button gefällt mir gut was muss ich änder bei dem EVENT "ContentControlOnEnter" Damit ich hier einen Button einsetzen kann? Ich hab noch nie mit VBA Irgendwas gemacht C oder C++ wäre mir liebe das kenne ich die "Basics"

Danke auf jeden Fall
colinardo
Lösung colinardo 01.07.2020 aktualisiert um 16:51:35 Uhr
Goto Top
Zitat von @coolkaiserABC:
Die Option mit dem Button gefällt mir gut was muss ich änder bei dem EVENT "ContentControlOnEnter" Damit ich hier einen Button einsetzen kann? Ich hab noch nie mit VBA Irgendwas gemacht C oder C++ wäre mir liebe das kenne ich die "Basics"

ActiveX Button im Dokument erstellen

screenshot

und dann im Code die Eventprozedur
' Event tritt ein wenn ein ContenControl betreten wird  
Private Sub Document_ContentControlOnEnter(ByVal ContentControl As ContentControl)
    CalculatePrices
End Sub
ersetzen durch
Private Sub CommandButton1_Click()
    CalculatePrices
End Sub
Bzw. wenn du den Button umbenannt hast und per Doppelklick die Prozedur erstellt hast nur das CalculatePrices in die Prozedur einfügen.
coolkaiserABC
coolkaiserABC 07.07.2020 um 10:06:35 Uhr
Goto Top
Herzlichen Dank extrem gut Kommentiert ich hab es als VBA Neuling geschafft die MWST zu errechnen und auszugeben in das richtige Feld und nochmal MWST und TOTAL zusammenzurechnen und wieder neu auszugeben. Funktioniert jetzt perfekt und mit dem Berechnungsbutton muss man auch nicht mehr so lange warten.

Also kurz gesagt ich hab den Code ohne VBA Kenntnisse anpassen könne.

Wirklich Nice Danke.

Ich hab nur noch ein Formatierungsproblem

Wenn ich in der Tabelle Zahlen Rechtsbündig mache wird das beim wiederholen wieder linksbündig. Ich hab schon gegooglet aber finde nichts darüber
wenn hier noch jemand bescheid wüsste wäre ich super glücklich.
DANKE
colinardo
colinardo 07.07.2020 aktualisiert um 12:17:15 Uhr
Goto Top
Zitat von @coolkaiserABC:
Ich hab nur noch ein Formatierungsproblem
Wenn ich in der Tabelle Zahlen Rechtsbündig mache wird das beim wiederholen wieder linksbündig. Ich hab schon gegooglet aber finde nichts darüber
wenn hier noch jemand bescheid wüsste wäre ich super glücklich.
Das kommt daher das die Repeating-Rows keine direkt bearbeitete Absatzformatierung mit übernehmen.
Das lässt sich beheben indem du für die Zellen ein eigenes Absatzformat definierst und den Zellen zuweist. Dann behalten die Zellen auch die Ausrichtung beim Erstellen neuer Zeilen über die Wiederholen-Funktion.
Siehe dazu auch den Thread zum Thema im MS-Forum:
Content controls losing its formatting when used in a table cell inside a repeating content control in Word 2013
DANKE
Bitte.

Grüße Uwe
coolkaiserABC
coolkaiserABC 08.07.2020 um 10:41:14 Uhr
Goto Top
Zitat von @colinardo:

Zitat von @coolkaiserABC:
Ich hab nur noch ein Formatierungsproblem
Wenn ich in der Tabelle Zahlen Rechtsbündig mache wird das beim wiederholen wieder linksbündig. Ich hab schon gegooglet aber finde nichts darüber
wenn hier noch jemand bescheid wüsste wäre ich super glücklich.
Das kommt daher das die Repeating-Rows keine direkt bearbeitete Absatzformatierung mit übernehmen.
Das lässt sich beheben indem du für die Zellen ein eigenes Absatzformat definierst und den Zellen zuweist. Dann behalten die Zellen auch die Ausrichtung beim Erstellen neuer Zeilen über die Wiederholen-Funktion.
Siehe dazu auch den Thread zum Thema im MS-Forum:
Content controls losing its formatting when used in a table cell inside a repeating content control in Word 2013
DANKE
Bitte.

Grüße Uwe


Ich hatte gestern noch einen ganz einfache Idee und schäme mich fast warum ich da so lange gebraucht habe, aber mit einem einfachen Tabulator geht es ohne Probleme und der wird auch wiederholt x)

Danke für die professionelle Hilfe :D