COM: Word automation



  • Hi,

    ich habe ein kleines Tutorial gefunden in dem gezeigt wird, wie man
    Word von einer eigenen Anwendung heraus steuern kann.

    Genau da möchte ich tiefer in das Thema einsteigen. Mir ist z.B. noch
    nicht klar, woher man weiß, welche Objekte es alle gibt.

    Zwei Beispiele:

    DISPID dispidDocuments = 0;
    				hr = spDispWord.GetIDOfName(L"Documents", &dispidDocuments);
    				hr = spDispWord.GetProperty(dispidDocuments, &vResult);
    

    GetIDOfName mit Documents oder das öffnen eines Dokumentes mit Invoke und Open:

    hr = spDocuments.Invoke1(L"Open", &vFilename, &vResult);
    

    Gibt es dazu eine Referenz, die auf Word abzielt? Oder gibt es dazu vielleicht
    sogar Bücher (englisch oder deutsch)?

    Das Tutorial ist von hier: http://www.a-m-i.de/tips/office/officeautomation.php



  • Ich sollte noch dazu sagen, dass ich die Buchtipps im Tutorial gesehen habe,
    diese Bücher aber von 1998 sind. Sind sie dennoch empfehlenswert für eine
    Anfängerin?

    Ich fange mit einer MFC Anwendung an und mir würde theoretisch schon ein
    Wrapper für die ganzen Funktionen reichen, um Suchen+Ersetzen, Drucken,
    Schriftarten angeben sowie Speichern und Laden von Dokumenten steuern zu können.

    Momentan ist das mit dem Tutorial so, dass meine Schriftarten und die ganze
    Formatierung weg ist, wenn ich mit Suchen + Ersetzen etwas verändere und
    in einer neuen datei abspeicher.



  • Und noch eine Frage hinterher 🙄

    ich versuche das angegebene Dokument zu drucken, erhalte aber nur
    die Anzeige "Bitte warten, bis Word alle ausstehenden Druckaufträge abgeschlossen hat".
    Merkwürdig auch, dass das eigentliche zu druckende Dokument nicht im
    Hintergrund in Word zu sehen (geöffnet) ist?!

    Nur der Drucktext steht dann dort stundenlang 😃

    Hier mal mein Code dazu, der in eine Druckfunktion ausgelagert ist:

    hr = xspDispWord.Invoke0(L"PrintOut", &vResult);
    
    		if (SUCCEEDED(hr))
    		{
    			MessageBox("alles ok!");//hier lande ich auch...
    		}
    

    Speichern, öffnen, editieren usw. funktioniert alles wunderbar...

    Kann es evtl. noch an Sicherheitseinstellunegn liegen?
    Komisch ist auch, dass im Druckauftrag zwar etwas ankommt, aber unter
    Seiten "N/V" zu lesen ist. Auch die Größe wird nicht angezeigt.

    Komisch.... 😕


Log in to reply