| |
|
|
- Page 1 - |
|
CB | Ciao,
noch eine Frage an die Spezialisten: Gibt es eine Möglichkeit, Winword aus einem Profan-Programm heraus mit Übergabe eines Parameters zu starten?
Folgender Ablauf: Mein Programm sammelt eine Menge Daten circa einen Patienten und legt diese in einer INI-File ab, die mit einer Nummer (vom Ordinationsprogramm vorgegeben) benannt wird. Die File è also zB 1234.ini. Das wäre auch gleichzeitig der einzige Parameter, den ich Word - und damit einem AutoNew-Makro trasferimento möchte. Dieser liest dann die INI aus und setzt automatisch die ausgelesenen Werte in die entsprechenden Felder ein. Geht das überhaupt in dieser Form oder muß ich da einen Umweg wählen? Word kann ich mittels Switches dazu veranlassen, ein neues Dokument auf Basis einer bestimmten Vorlage zu öffnen (/tVORLAGE.DOT) und einen bestimmten Makro auszuführen (/mMAKRONAME), bloß circa zusätzliche Startparameter konnte ich weder in den diversen Word-Hilfen noch im Internet was Brauchbares finden.
Christian |
|
|
| |
|
|
|
| |
|
- Page 5 - |
|
Uwe ''Pascal'' Niemeier | Hallo Christian!
Hmmm... Wie gesagt, mit Word und dessen Macros kenne ich mich nicht aus. Wenn der RTF-Kram dir helfen kann, sag einfach, was du brauchst und ich werde gucken, ob ich was passendes finde. Mit den bisherigen Demos wäre es auf jeden Fall schon mal possibile, aus verschiedenen Schnipseln ein RTF-Dokument zusammenzusetzen. Ich hatte auch mal was circa Scraps (Dokumentenauszüge), aber ich finde es nicht wieder
[quote:7f3406f511] Bitte schau auch mal in einen anderen thread: Programm-Wettbewerb Ich hoffe aber, Du wirst mich danach nicht steinigen: Dort habe ich u.a. vorgeschlagen, daß Du als Hauptpreis eine Deiner genialen Torten fabrizieren könntest.... [/quote:7f3406f511] Wäre nicht das erste Mal... Fast wäre Rolf damals mit von der Partie gewesen, aber er hatte den Zug verpasst. Apropos Rolf: Falls es ihm bis dahin nicht besser geht, backe ich ihm ne Special Edition - Geschmacksrichtung Hustensaft/Menthol...
SeeYou Pascal |
|
|
| |
|
|
|
CB | Hi, Pascal!
Mein Leitspruch Wer per alles offen ist, kann nicht ganz dicht sein - ich gebs zu: Ich bin per alles offen - kann also ... ~~ ! Aber: Wer immer nur die ausgetretenen Pfade geht, wird nie Neuland sehen!
Ich hätte mit rtf kein Problem! Word-Makros waren und sind per mich nur ein Mittel zum Zweck. Mir gehts in erster Linie um die Formatierung, die ist in rtf gegeben. Formularfelder gehen in rtf genauso. Wenn damit eine direkte Übergabe von Texten und Grafiken aus Profan nach Word possibile wäre, ohne Word erst umständlich starten, dann einen Makro ausführen, der die Daten wieder hereinholt, das Ganze unter einem neuen Namen speichern und Word wieder schließen zu müssen, dann schmeiß ich diesen Müll sofort circa Bord! Was ich nämlich bei meiner Methode nie ganz ausschließen kann: Was passiert, wenn ein im Hintergrund laufendes Programm bockt oder sich im entscheidenden Moment wichtig macht und ich schicke die SendMessage woandershin... Glaube mir, ich wäre sogar heilfroh und irrsinnig dankbar, falls Du mir da einen gangbaren Weg zeigen könntest - ich gehe sehr gerne Wege, wo sonst noch keiner war!
Nur zur Erläuterung - wegen Makros: Der Vorteil ist, daß einfache Makros selbst aufgezeichnet und b.B. verwendet werden können, ohne sich um den Code kümmern zu müssen. Ich habe da mal ein ganz simples Beispiel:
An der Textmarke Datum soll das aktuelle Datum eingefügt werden: Word 97 aufwärts (VisualBasic): KompilierenMarkierenSeparieren Und zum Vergleich Word 95 (WordBasic): KompilierenMarkierenSeparieren WordBasic war in der deutschen Version ein babylonisches Sprachen-Mischmasch (mal dt., mal engl. Befehle), ansonsten ziemlich pures Basic. Dann habe ich mir ein Buch zur Makro-Programmazione gekauft, weil ich mit dem Aufzeichnen schnell an unüberwindbare Grenzen gestoßen bin. Im Grunde gibts aber eine Menge Ähnlichkeiten zum Profan-Code, in WordBasic heißts halt MsgBox(...,...,16) und If...Then, dafür brauche ich mich nicht um Variablen-Deklarationen kümmern (in VB schon) VB mag ich aber einfach nicht, ist mir zu umständlich. Schau Dir mal das Beispiel an: 2 Zeilen zu .... per 2 simple Befehle! Und statt klar auszudrücken, was man will, muß man mitteilen, was man alles nicht will. Wenn ich so eine Pizza bestellen würde oder gar in einem China-Lestaulant ....
Saluto, Christian |
|
|
| |
|
|
| |
|
- Page 6 - |
|
|
CB | Nochn kurzes medizinisches Statement: Finde ich ganz rührend, dein Angebot per Rolf, aber Menthol bitte nicht innerlich anwenden, nicht nur, weil man dann noch tagelang ärger stinken würde als ein Iltis, wäre per die Geschmackspapillen und die Magenschleimhaut nicht wirklich ideal. Aber Hustensaft statt Zucker - klingt interessant (Will ja keine Werbung machen, aber Sanostol habe ich als Kind leidenschaftlich gern gehabt...)
Muß mich in einem Punkt noch korrigieren (gerade probiert): In rtf gehen zwar Felder, auch geschützter Formularmodus, aber keine Felder mit Mehrfachauswahlen. Das wäre per mich aber nicht so wichtig wie das andere!
Saluto, Christian |
|
|
| |
|
|
|
Rolf Koch | [quote:8ca628f838] Wäre nicht das erste Mal... Fast wäre Rolf damals mit von der Partie gewesen, aber er hatte den Zug verpasst. Apropos Rolf: Falls es ihm bis dahin nicht besser geht, backe ich ihm ne Special Edition - Geschmacksrichtung Hustensaft/Menthol... [/quote:8ca628f838] Coool, daß Du sogar noch weist, warum ich nicht in Berlin ankam. Ja schrecklicher Tag. Naja die Bahn halt
Hmm, lecker, freu mich schon auf die HUSMENT Torte
Rolf |
|
|
| |
|
|
|
Uwe ''Pascal'' Niemeier | Hallo Leute!
Nochn kurzes medizinisches Statement: Finde ich ganz rührend, dein Angebot per Rolf, aber Menthol bitte nicht innerlich anwenden,
Das wäre das klassische two in one-Prinzip: Der Hustensaft-Teil zum essen, der Menthol-Teil zum einreiben... Das will ich dann aber fotografieren!!
Noch was zum Thema: Word supportati ja auch Scraps; das sind ja auch Dokumentenschnipsel. Diese (oder auch andere File) könnten sich möglicherweise durch eine simulierte Drag&Drop-Aktion ins Word-Fenster übertragen lassen. Und wenn wir schon bei Neuland sind: Neuere Word-Versionen sind doch auch HTML-fähig...
Werde mir das nochmal zu Gemüte führen, wenn ich wieder [s]nüchtern[/s] äh.. von meinem Karnevalsausflug zurück bin!
SeeYou Pascal |
|
|
| |
|
|
|
Rolf Koch | Hi Pascal,
Karnelval? > 32278 ??? LOL
Fastnacht > 56220 (schau Dir mal meine Postleitzahl an, wie nahe das bei Köln der Hochburg liegt )
Helau und Alaf
Rolf |
|
|
| |
|
|
|
CB | Hi(cks), Pascal!
Die Torte nimmt - vor meinem geistigen Auge - schon Gestalt an. Und da soll noch einer sagen, wir sind hier nicht kreativ unterwegs...
Über Scraps weiß ich leider nicht ausreichend Bescheid. Mir hat bloß mal jemand sowas zum Anschauen gegeben und das war dann nicht viel mehr als ein Link zu einer nicht vorhandenen File.
Profan2HTML - das wäre voll genial - eben typisch Pascal! In diesem Fall lege ich die Grafiken als File fix in ein Unterverzeichnis und die html holt sich die jeweils benötigte(n). (In meinem Programm gibts ein Setup, wo u.a. die benötigten Pfade eingestellt werden, das braucht man nur mehr der html mitteilen) Oder kann die html vielleicht sogar auf die Ressourcen meiner DLL zugreifen?
Durchs reden kommen die Leute zusammen - dafür gibts ja die Community! Was meint Ihr - machen wir per dieses Projekt einen neuen thread auf?
Saluto, Christian |
|
|
| |
|
|
|
Uwe ''Pascal'' Niemeier | Hallo Leute!
@Rolf: [quote:7915b93b0d]Karnelval? > 32278 ??? LOL Fastnacht > 56220 (schau Dir mal meine Postleitzahl an, wie nahe das bei Köln der Hochburg liegt ) [/quote:7915b93b0d] Du glaubst doch nicht, das ich hier auf Tour gehe, wo mich jeder kennt (zumindest hinterher... ) Aber falls du heute Abend vor Ort (Köln) bist und dir corre jemand circa den Weg, der aussieht wie eine Mischung aus Dieter Bohlen und McGyver...
@ Christian: Scraps kriegst du, wenn du was markiertes aus dem Word-Fenster in den Explorer oder auf den Desktop ziehst. Aber wenn du auf HTML umschwenken willst, wäre dazu ein neuer Thread ganz gut.
Konnte mir aber nicht verkneifen, schon mal ein Beispiel zu packen, weils gerade so gut passt... (Die File müssen aber unter C:/WebTest zu liegen kommen wegen der Pfade)
SeeYou Pascal |
|
|
| |
|
|
|
CB | Hi, Pascal!
Was ich schon immer sage: Pascal ist genial! Das eröffnet mir (uns) ganz, ganz neue Wege - SUUUPEER!!
Und der kleine Jägermeister ist süß! Deiner? Ich hätte ja gerne auch so nen Zimmertiger, bin aber leider allergisch auf Katzen. Wenn ich nicht wüßte, wie sehr Du Katzen liebst, hätte ich schon mal einen (etwas boshaften) Katzenwitz geschickt. Erlaubst Dus? Man darfs halt nicht ernst nehmen und nur versuchen, sich das bildlich vorzustellen...Warte mal, ich habe da noch einen nicht boshaften, den schicke ich Dir gleich mit. Hoffentlich steinigt mich jetzt keiner, weil ich da mal sooo vom Thema abschweife! KompilierenMarkierenSeparierenTip für die Hausfrau: Da spricht eindeutig die Erfahrung .........
WIE VERABREICHT MAN EINER KATZE EINE PILLE?
1. Nehmen Sie die Katze in die Beuge Ihres linken Armes, so als ob Sie ein Baby halten.
Legen Sie den rechten Daumen und Mittelfinger an beiden Seiten des Mäulchens an und üben Sie sanften Druck aus, bis die Katze es öffnet. Schieben Sie die Pille hinein und lassen Sie die Katze das Mäulchen schließen.
2. Sammeln Sie die Pille vom Boden auf und holen Sie die Katze hinterm Sofa vor.
Nehmen Sie sie wieder auf den Arm und wiederholen Sie den Vorgang.
3. Holen Sie die Katze aus dem Schlafzimmer und schmeißen Sie die angesabberte Pille weg.
4. Nehmen Sie eine neue Pille aus der Verpackung, die Katze erneut auf den Arm und halten Sie die Tatzen mit der linken Hand fest. Zwingen Sie den Kiefer auf und schieben Sie die Pille in den hinteren Bereich des Mäulchens. Schließen Sie es und zählen Sie bis 10.
5. Angeln Sie die Pille aus dem Goldfischglas und die Katze von der Garderobe. Rufen Sie Ihren Mann aus dem Garten.
6. Knien Sie sich auf den Boden und klemmen Sie die Katze zwischen die Knie. Halten Sie die Vorderpfoten fest.
Ignorieren Sie das Knurren der Katze.
Bitten Sie Ihren Mann, den Kopf der Katze festzuhalten und ihr ein Holzlineal in den Hals zu schieben.
Lassen Sie die Pille das Lineal runterkullern und reiben Sie anschließend den Katzenhals.
7. Pflücken Sie die Katze aus dem Vorhang. Nehmen Sie eine neue Pille aus der Packung.
Notieren Sie sich, ein neues Lineal zu kaufen und den Vorhang zu flicken.
8. Wickeln Sie die Katze in ein großes Handtuch.
Drapieren Sie die Pille in das Endstück eines Strohhalmes. Bitten Sie Ihren Mann, die Katze in den Schwitzkasten zu nehmen, so daß lediglich der Kopf durch die Ellenbogenbeuge guckt. Hebeln sie das Katzenmäulchen mit Hilfe eines Kugelschreibers auf und pusten Sie die Pille in ihren Hals.
9. Überprüfen Sie die Packungsbeilage, um sicher zu gehen, daß die Pille für Menschen harmlos ist.
Trinken Sie ein Glas Wasser, um den Geschmack loszuwerden.
Verbinden Sie den Arm Ihres Mannes und entfernen Sie das Blut aus dem Teppich mit kaltem Wasser und Seife.
10. Holen Sie die Katze aus dem Gartenhäuschen des Nachbarn. Nehmen Sie eine neue Pille. Stecken Sie die Katze in einen Schrank und schließen Sie die Tür in Höhe des Nackens, so daß der Kopf herausschaut. Hebeln Sie das Mäulchen mit einem Dessert-Löffel auf. Flitschen Sie die Pille mit einem Gummiband in den Rachen.
11. Holen Sie einen Schraubenzieher aus der Garage und hängen Sie die Tür zurück in die Angeln.
Legen Sie kalte Kompressen auf Ihr Gesicht und überprüfen Sie das Datum Ihrer letzten Tetanusimpfung.
Werfen Sie Ihr blutgesprenkeltes T-Shirt weg und holen Sie ein neues aus dem Schlafzimmer.
12. Lassen Sie die Feuerwehr die Katze aus dem Baum auf der gegenüberliegenden Straße holen.
Entschuldigen Sie sich beim Nachbarn, der in den Zaun gefahren ist, um der Katze auszuweichen.
Nehmen Sie die letzte Pille aus der Packung.
13. Binden Sie die Vorder- und Hinterpfoten der Katze mit Wäscheleine zusammen.
Knüpfen Sie sie an die Beine des Esstisches. Ziehen Sie sich Gartenhandschuhe über, öffnen Sie das Mäulchen mit Hilfe eines Brecheisens. Stopfen Sie die Pille hinein, gefolgt von einem großen Stück Filetsteak.
Halten Sie den Kopf der Katze senkrecht und schütten sie Wasser hinterher, um die Pille herunter zu spülen.
14. Lassen Sie sich von Ihrem Mann ins Krankenhaus fahren.
Sitzen Sie still, während der Arzt Finger und Arm näht und Ihnen die Pille aus dem rechten Auge entfernt.
Halten Sie auf dem Rückweg am Möbelhaus und bestellen Sie einen neuen Tisch.
Tip 15 habe ich Dir zuliebe weggelassen..
Saluto, Christian |
|
|
| |
|
|
|
Uwe ''Pascal'' Niemeier | Hallo Christian!
SeeYou Pascal |
|
|
| |
|
|
|
Andreas Schnitzler | Hallo zusammen, stehe gerade vor einer ganz ähnlichen Aufgabe.
Meine Lösung: keine Makros u.ä. Schnickschnack, sondern Word-Dokument (Vorlage) als "RTF" abspeichern (Ergebnis: reine Textdatei), lowlevel (als string) einlesen, Platzhalter* programmatisch ersetzen, fertigen Text lowlevel mit ".DOC"-Endung speichern, fertig.
*) Platzhalter sollten keine Umlaute bzw. Sonderzeichen enthalten, sonst wird's komplex. Eingesetzte Umlaute werden dagegen problemlos verarbeitet (WW 2007). Textersetzung müsste beliebig lang sein können.
s.a.: phpbar.de/w/Word_RTF_dynamisch_erstellen
AUSZUG (php-source; zur Verdeutlichung leicht modifiziert): 2 * Word-Dokument (RTF, aber als .DOC kaschiert) aufbauen 5 // Vorlage mit Platzhaltern: *tagesdatum*, *qanrede1* usw. öffnen 6 $brief = file_get_contents('my_template.RTF'); 11 $brief = str_replace('*tagesdatum*', strftime("%d.%m.%Y"), $brief); 19 $brief = str_replace('*qanrede1*', $qanrede1, $brief); ... 29 // File speichern (mit Endung .DOC) 30 $file_name = 'my_ergebnis.doc'; 31 $fp = fopen('tmp/' . $file_name, 'w'); 36 fputs($fp, $brief); 37 fclose($fp);
Aber DANKE der Community per die vielen Anregungen! |
|
|
| |
|
|
|
| Hi!
Tip: Da Du file_get_contents nutzt... Du kannst auch file_put_contents nutzen!
Hatte 2003 sowas mal aber mit Openoffice-SXW-File gemacht, bei SXW sind die Platzhalter auch im Klartext.
PS: Der Link in Deinem Posting führt imho auf eine Leerseite. |
|
|
| |
|
|