msword.h
-
Hi,
zur Zeit versuche ich über mein Programm ein Word-Dokument zu öffnen. Als Hilfe dient mir das MSDN (http://support.microsoft.com:80/support/kb/articles/q178/7/84.asp&NoWebContent=1&NoWebContent=1) und andere Beispiele im Netz, die ähnliche Themen behandeln.
Alle diese Beispiele verwenden eine msxxx.h (in meinem Beispiel msword.h). Doch leider existiert diese Datei bei mir nicht, obwohl ich Microsoft Office mit Word installiert habe.
Ich habe schon mit der Windows-Suche nach dieser und ähnlichen Dateien gesucht, aber ohne Erfolg.
Was mache ich falsch? Oder wo kann ich die Datei finden bzw. beziehen?
Danke für Eure Hilfe!
-
#import "C:\Programme\Gemeinsame Dateien\Microsoft Shared\Office10\mso.dll" #import "d:/microsoft office/office10/msword.olb" rename("ExitWindows", "WordExitWindows")
Versuche doch mal diese einzubinden, natürlich mußt Du Deine Pfade anpassen.
Wenn Du Office installiert hast, kannst Du jetzt auf die Objekte der Office - Schnittstelle zugreifen. Mächtige Schnittstelle übrigens, Du kannst Dir auc Felder anlegen, diese von Deiner Software aus befüllen usw.
Automation ist eine feine Sache, wenn es funzt...
Grüße
-
Hallo BOA,
danke für die rasche Antwort.
Leider bekomme ich fast hundert Fehlermeldungen in den importierten Dateien.
Beispiel:
"msword.tlh(17491): error C2501: 'Word::_Application::VBEPtr' : Fehlende Speicherklasse oder Typspezifizierer"Außerdem erkennt mein Compiler "_Application" nicht.
Beispiel:
"_Application objWord;"
Fehler: "_Application: Unbekannter Beizeichner"Weißt Du rat?
-
Mist, habe ich vergessen zu fragen, welche Office - Version ( 2000 oder XP(2002) )?
Grüße
-
Aloha noch einmal,
Du bekommst nur einhundert Fehler ?
Habe vergessen folgendes muß ebenfalls included werden :
#import "c:/programme/Gemeinsame Dateien/Microsoft shared/vba/vba6/vbe6ext.olb"
Nun aber....
Grüße
-
Hi BOA,
ich habe Office XP, aber leider klappt es immer noch nicht. Aber vielleicht mache ich ja auch was falsch.
In meiner Word2Dlg.cpp habe ich die Imports wie folgt eingebunden:
#include "stdafx.h" #import "C:\Programme\Gemeinsame Dateien\Microsoft Shared\vba\vba6\vbe6ext.olb" #import "C:\Programme\Gemeinsame Dateien\Microsoft Shared\Office10\mso.dll" #import "C:\Programme\Microsoft Office\Office10\msword.olb" rename("ExitWindows", "WordExitWindows") #include "Word2.h" #include "Word2Dlg.h" #include "DlgProxy.h"
Aber was mich am meistens wundert, warum es nicht so funzt, wie es in der MSDN erklärt ist!
-
Guten Morgen,
kriegen wir schon hin zusammen.
Office XP, gut, dann stimmt zumindestens erst einmal die olb, etc.Was spannend ist, wo steht denn was in der MSDN ? Hast Du mal nen Suchbegriff, unter dem ich suchen muß, so mal nebenbei.
Lösche mal alles aus der Funktion, die Du zum öffnen bestimmt hast.
Dann lege Dir mal zwei Membervariablen im WordDlg an :
Word::_ApplicationPtr m_pWord; Word::_DocumentPtr m_pDoc;
In Deiner Funktion ( wahrscheinlich auf Buttonclick )
m_pWord.CreateInstance(__uuidof(Word::Application));
So, nu is die Applikation offen, sofern Office installiert ist.
m_pDoc = m_pWord->Documents->Open(COleVariant("dokument.doc")); m_pWord->Visible = VARIANT_TRUE;
So und nu is auch nen Dokument offen, hoffentlich. m_pDoc zeigt jetzt auf nen offenes Dokument.
m_pDoc->PrintOut();
sollte Drucken.
Wenn Du den Visual Assist besitzt, der Pflicht zum Programmieren ist, dann siehst Du ja alle Funktionen und Variablen, auf die Du bei m_pWord und m_pDoc zugreifen kannst.
Wenn immer noch Fehler kommen, sach mal welche bitte.
Grüße
BOA
-
Guten Morgen!
das Tutorial steht in der MSDN unter folgendem Link:
http://support.microsoft.com:80/support/kb/articles/q178/7/84.aspAber es ist viel umständlicher, als der von Dir beschriebene Weg. Wenn der Import klappen würde, sieht es gar nicht mal so schwer aus. Leider meldet er mir immer noch 48 Fehler. Zur Veranschaulichung habe ich mal einen Screenshot unter folgendem Link ins Netz gestellt:
http://www.marc-schecker.de/VCpp/fehler.gifBis dahin hatte ich nur ein neues Projekt erstellt und die Imports in die Word2Dlg.cpp eingefügt. Als Projekt habe ich eine dialogbasierte MFC-Anwendung einmal mit statisticher und das andere Mal mit dynamischer Verlinkung gewählt.
Gruß,
Marc
-
Hhhmm,
Du arbeitest ja sicherlich mit dem Visual Studio. Das verhaspelt sich manchmal.
Bereinige mal, und kompiliere neu unterErstellen --> Bereinigen
Dann (F7)
Wir haben einen Import später eingefügt, da vergaloppiert sich das Studio manchmal.
Wenn das auch net reicht, noch einmal per Hand, indem Du im Ordner "Debug" alles löschst, und dann F7 noch einmal drückst.
Bei Outlook ist es noch einfacher zu automatisieren. Da kannst Du Visitenkarten bearbeiten, Emails einlesen und editieren, wunderbare Viren entwickeln , die sich über Outlook dann verbreiten.
Nein nur Spaß das mit den Viren.
Erstmal oben probieren.
Grüße
-
Aloha,
wenn Du willst, schicke ich Dir eine Klasse, die ich aus dem Netz habe, in der Wordautomation simpel funzt.
Die habe ich mir für mein Proggi zurechtgebogen. Kann sein, daß ich hier etwas vergessen habe zu erwähnen, so daß es bei Dir net läuft.
Dazu bräuchte ich nur Deine Email-Adresse.
Ich schau ab und zu rein, ich muß noch ein wenig arbeiten.
Grüße
-
Hi BAO,
habe alles noch einmal ausprobiert. Ich habe sogar noch einmal Visual Studio neu installiert. Will einfach nicht laufen. Er macht mir weiterhin die ganzen Fehler.
Kannst Du mir vielleicht einen Auszug aus Deiner Importierung einstellen?
Danke!
-
Aloha,
wie schon erwähnt, ich habe ein Projekt aus den Weiten des Internets gezogen, das Du nur noch anpassen brauchst. Mit dem kannst Du sogar erkennen, ob das Dokument, was aus deinem Proggi geöffnet wurde, wieder geschlossen wurde.
Richtig klasse, brauchst es nur noch anzupassen, aber ich brauch ne Email Adresse.Im Prinzip hast Du schon den Quelltext von mir bekommen, den ich benutze.
Grüße
BOA