Guten Tag, ich stelle mich gerade folgenden Projekt. Ein Programm das aus einer Eingabemaske besteht in den man gewisse Sachen auswählen kann. Die ausgewählten Sachen können dann nach vorgeschrieben Regeln in eine Word Datei exportiert werden. Wie wäre die beste Vorgehensweise dafür bzw. in welche Sprache/Prozedur wäre dieses Projekt am einfachsten händelbar (z.B. HtmL) Danke
Beitrag #5857726 wurde von einem Moderator gelöscht.
Christian S. schrieb: > in welche Sprache/Prozedur > wäre dieses Projekt am einfachsten händelbar Word.
Danke für die schnelle Antwort. Ist dies wirklich möglich Das Projekt ist wie folgt ich wähle in einer Eingabemaske gewisse Module aus diese sollen dann in Word in Tabellen exportiert werden zum Beispiel. Modul A erzeugt Tabelle 1 u Tabelle 2, wenn man dazu Modul B auswählt wird Tabelle 1 u Tabelle 2 verändert und eine neue Tabelle 3 erzeugt. Natürlich soll eine gewisse Rahmenformatierung gegeben sein. Danke
Du brauchst dir ja nur mal ein Word-Dokument mit einem Texteditor angucken, dann weißt du, dass es nahezu aussichtslos ist, ein Word-Dokument ausserhalb von Word zu bearbeiten.
Ja, Word kann das. Wenn da schon für Word als Text- ähh... Wort- ähh... Tabellenverabeitungsprogramm entschieden wurde, dann geschah dies doch auf Grund einer gewissen Übersicht dessen Möglichkeiten - nicht? Einfach RTFM, ja? Aber dann nicht schimpfen!
Sebastian R. schrieb: > Du brauchst dir ja nur mal ein Word-Dokument mit einem Texteditor > angucken, dann weißt du, dass es nahezu aussichtslos ist, ein > Word-Dokument ausserhalb von Word zu bearbeiten. Ausgabe als PDF einfacher, dann PDF
Sebastian R. schrieb: > Du brauchst dir ja nur mal ein Word-Dokument mit einem Texteditor > angucken, dann weißt du, dass es nahezu aussichtslos ist, ein vorher unzippen hilft ungemein.
XML-Leserin schrieb: > vorher unzippen hilft ungemein. Bleibt nen Rudel XMLs, die sehr unübersichtlich sind. Wenn auch deutlich lesbarer und maschinenerstellbar. Das alles richtig zu interpretieren und hinter her wieder zu "kompilieren" möchte ich trotzdem nicht. PDF ginge sicherlich. Für vermutlich alle gebräuchlichen Sprachen wird es PDF-Bilbliotheken geben. In dem Augenblick kann man sich dann aber aussuchen, was man kann und was man nimmt. Bei GUI-Anwendungen nehme ich gerne Lazarus. Wenn man Pascal mag, sicher eine Möglichkeit.
Word kann mit VBA programmiert werden. Das bietet sich für eine derartige word-zentrische Aufgabenstellung an.
Sebastian R. schrieb: > XML-Leserin schrieb: >> vorher unzippen hilft ungemein. > > Bleibt nen Rudel XMLs, die sehr unübersichtlich sind. Wenn auch deutlich > lesbarer und maschinenerstellbar. Einmal ins Form reinschreiben: "Bubbelbrabbelbla" und dann austauschen ist nicht rocket science und geht mit Hausmitteln. Die verschiedenen Layer in PDF-Files will man ohne Libraries nicht behandeln (und verstehen schon gar nicht - braucht viel Aspirin und eine gute Polsterung gegen die Auswirkungen des Auf-die-Stirn-Klopfens). # Filenamen finden FILE=`grep -rl Bubbelbrabbelbla unzipped-word-file/` # Editieren rm -rf $FILE.old mv $FILE $FILE.old sed -e "s/Bubbelbrabbelbla/$wunschwert/" $FILE.old > $FILE Das ist alles andere als "nahezu aussichtslos zu bearbeiten".
Rufus Τ. F. schrieb: > Word kann mit VBA programmiert werden. Das bietet sich für eine > derartige word-zentrische Aufgabenstellung an. Mit Makro-Programmierung kann man viel machen. Dummerweise wissen das die Kollegen aus der Emotet-Fraktion auch, deswegen möchte man Macros nach Möglichkeit deaktiviert lassen und den Usern einbleuen, dass sie diese Einstellung niemals antasten.
Christian S. schrieb: > Wie wäre die beste Vorgehensweise dafür bzw. in welche Sprache/Prozedur > wäre dieses Projekt am einfachsten händelbar (z.B. HtmL) Am naheliegendsten sind Word Makros mit VBA Oder eine Programmiersprache die das Word-APi unterstützt btw. es ein Lib dafür gibt (e.g. Java und JWord bzw. VisualStudio mit dem DocumentIntzeface) Ich würde aber die erste Variante wählen.
werists schrieb: > Oder eine Programmiersprache die das Word-APi unterstützt Jede, die Automation beherrscht. Also auch VBScript oder JScript (auszuführen von CScript.exe resp. WScript.exe), nur können die keine brauchbaren GUIs anzeigen. Wenn aber Word/Excel/etc. gesteuert werden, kann man die auch für die Anzeige von GUIs verwenden. Auf die gleiche Art und Weise lassen sich auch OpenOffice/LibreOffice ansteuern, nur ist deren Automations-API natürlich inkompatibel zur Word-Automations-API, weil das interne Objektmodell anders aufgebaut ist.
Wäre eine Variante mit html und css eine Eingabemaske zu programmieren, je nachdem welche Werte ich eingeben haben wird ein PDF Dokument erzeugt.
Christian S. schrieb: > Wäre eine Variante mit html und css eine Eingabemaske zu programmieren, > je nachdem welche Werte ich eingeben haben wird ein PDF Dokument > erzeugt. Nein. Jein. Naja. HTML ist keine Programmiersprache und das Ergebnis ist kein Programm, das das leisten könnte, was du willst.
:
Bearbeitet durch User
Also dann wie? Mit html kann man ja eine Eingabemaske generieren, damit müsste man auf Daten zugreifen die ein Formular erstellen. Gemäß der Werte in der Eingabemaske
Christian S. schrieb: > damit müsste man auf > Daten zugreifen die ein Formular erstellen. Gemäß der Werte in der > Eingabemaske Mit einer turing-vollständigen Programmiersprache deiner Wahl. Idealerweise eine, für die es TCP/IP-Stacks und vielleicht auch gleich schon einen HTTP-Server gibt. Damit müsstest du dann entsprechend der Anfragen vom Browser die passenden Antworten und Daten senden und beim Senden des Formulares die POST-Daten rausfischt und in dein PDF/Word-Doc verwurstet. Sofern du wirklich bei HTML für die Eingabemasken-Erstellung bleiben willst.
:
Bearbeitet durch User
Sebastian R. schrieb: > Damit müsstest du dann entsprechend der Anfragen vom Browser die > passenden Antworten und Daten senden und beim Senden des Formulares die > POST-Daten rausfischt und in dein PDF/Word-Doc verwurstet. Sofern du > wirklich bei HTML für die Eingabemasken-Erstellung bleiben willst. Was wäre die einfache Variante bzw Programmierlösung ?
Wenn man nun wirklich HTML verwenden will und am Ende ein PDF braucht, bietet sich die integrierte "print to PDF"-Funktion der gaengigen Browser an. Also bastelt man seine Maske, blendet sie mit dem passenden CSS (Stichwort
1 | @media print |
) fuer den Druck aus und ersetzt das form-submit durch eine Javascriptfunktion, die die Seite entsprechend der Forminhalte gestaltet. Das geht alles offline und ohne HTTP-Backend. "Export nach Word" ist natuerlich eine gegenlaeufige Anforderung, das bekommt man nicht abgedeckt. (VBA ist da schon der richtige Hinweis.) Ich bezweifle aber, dass der OP wirklich unbedingt Word verwenden muss, vielmehr moechte er ein (geheimes) Problem loesen und denkt, Word waere eine einfache Loesung.
Webhipster schrieb: > "Export nach Word" ist natuerlich eine gegenlaeufige Anforderung, das > bekommt man nicht abgedeckt. Ist schon machbar, auch rein Clientseitig. Auf NPN mal nach word, docx, office, etc. suchen. Da findet man dann solchen kram: https://www.npmjs.com/package/officegen Ich hab das nicht getestet, aber mit etwas glück bekommt man solches zeug manchmal mit browserify (http://browserify.org/) Browsertauglich (auch wenn ich sowas normalerweise vermeide). Auch Dateien in JS im Browser generieren und herunterladen lassen ist möglich. Beispiel:
1 | function download(data, filename, mime=null){ |
2 | var blob = new Blob([data], {type:mime}); |
3 | var temp_url = URL.createObjectURL(blob); |
4 | var downloadlink = document.createElement("a"); |
5 | downloadlink.appendChild(document.createTextNode("Download")); |
6 | downloadlink.style.fontSize = 0; |
7 | downloadlink.download = filename; |
8 | downloadlink.href = temp_url; |
9 | document.body.appendChild(downloadlink); |
10 | downloadlink.click(); |
11 | setTimeout(function(){ |
12 | document.body.removeChild(downloadlink); |
13 | URL.revokeObjectURL(temp_url); |
14 | },1000); |
15 | } |
16 | |
17 | download("Hello World!", "hello.txt", "text/plain"); |
Christian S. schrieb: > Was wäre die einfache Variante bzw Programmierlösung ? Die einfachsten wurden alle schon genannt: 1) VBA 2) Irgendeine Sprache, die Word als Objekt verwenden kann Einfacher als mit diesen beiden Varianten geht es einfach nicht. Web-Scheisse kannst du komplett droppen. Das führt nur viele zusätzliche Sofware-Ebenen ein, am Ende muss aber trotzdem wieder mit Word hantiert werden, weil Word halt offensichtlich das Ziel ist. Dieser einfache Sachverhalt sollte doch auch für jemanden wie dich begreifbar sein, oder?
Office-Komponenten wie Word, Excel usw. kann man über einen Mechanismus, genannt "Office Automation" (per COM-Objekt) fernsteuern. Entsprechende Plugins bzw. APIs oder "Bindings" gibts für nahezu jeder Programmiersprache. Ergo erstellst du deine Eingabemaske mitsamt der dagehörigen Logik in einer solchen Programmiersprache und erstellst anschließend per Office-Automation mit Word das gewünschte Dokument ...
Hallo Office Programmierung ging auch seit jeher mit MS.NET (C#, ...). Aber vielleicht nicht gerade für Anfänger geeignet. https://docs.microsoft.com/de-de/dotnet/csharp/programming-guide/interop/walkthrough-office-programming Oh, ich hab ein neues Lieblingsword. Das Word ist Bubbelbrabbelbla. Das Word ist reinste Posesie. Ein Gedicht mit nur einem Word. MfG Poe Sie
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.