Word öffnen
-
hi
kann mir jemand sagen, wie man eine Word Datei beim Klicken auf einen Button öffnen kann?
Ich bin nach dem Beispiel vorgegangen, doch funktioniert hats nicht
http://support.microsoft.com/default.aspx?scid=kb;EN-US;178749Die Fehler sind:
syntax error : missing ';' before identifier 'app'
error C2501: '_Application' : missing storage-class or type specifiers
: error C2501: 'app' : missing storage-class or type specifiersdanke für eure Hilfe
-
Hallo,
ich habe mir das von dir jetzt nicht angesechen aber ich mache das meist so
ShellExecute(NULL, "open", "name_dar_worddatei", NULL, NULL, SW_SHOWNORMAL);
MFG TaccoGo
-
hi TaccoGo
wie, meinst du das sovoid CAutoProjectDlg::OnRun() { ShellExecute(NULL, "open", "name_dar_worddatei", NULL, NULL, SW_SHOWNORMAL); }
-
Ja, das ist so richtig ! Gibt es denn Fehler oder warum fragst du !?
Gruß
:: NoName ::
-
Fehler gibt`s keinen, es passiert bloß nichts
-
Hmm, hast du auch die File-Extension eines Word Dokumnets angegeben ?
Also:ShellExecute(NULL, "open", "name_dar_worddatei[b][u].doc[/u][/b]", NULL, NULL, SW_SHOWNORMAL);
???
Gruß
:: NoName ::
-
ich muss doch bloß den Namen der Word Datei angeben, oder den ganzen Pfad
allesdings hab ich beide Varianten schon versucht, oder liegt es daran dass ich eine .DOT Datei hab?
-
Ja, den Pfad zur *.doc Datei musst du schon angeben :
ShellExecute(NULL, "open", "C:\\Test.doc", NULL, NULL, SW_SHOWNORMAL);
Und du sagst trotz des Pfades geht es nicht ???
Gruß
:: NoName ::
-
mmh jetzt geht's, wenn ich die Datei gleich ins C Verzeichnis kopier ohne Ordner klappts, ( vielleicht hab ich mich wo verschrieben)
cool, besten dank
-
Huhu Stgt!
Hast du an die Doppel-\ gedacht?
Ich hab das hier grade ausprobiert, funktioniert einwandfrei.
ShellExecute(NULL, "open", "C:\\Programme\\Office\\Vorlagen\\Briefe & Faxe\\Eleganter Brief.dot", NULL, NULL, SW_SHOWNORMAL);
-
das war der Fehler mit den \
okay, danke euch
-
Hallo Stgt,
get es jetzt??
MFG TaccoGo
-
yup,merci
-
hallo
nun habe ich eine Combobox und wähle einen Eintrag aus. Wenn ich nun auf " Bericht erstellen" klicke ( in meinem Menü) soll eine Word Dokument geöffnet werden.
Das Problem ist jetzt, dass ich immer in den Explorer wo meine sourcen drin stehen, gelange, (selbst wenn ich gleich auf "Bericht erstellen" klicke )Woran liegt das denn?
In meiner OnSelchange Funktion steh unter anderem dies
void Dilog::OnSelchangeCOMBOPruefverfahren() { try { ... ... m_strVorlagendatei = ("C:\\Vorlagen\\%s.DOT", bericht);
und das in meiner
void CMainFrame::OnBerichtBerichterstellen() { // Word Datei öffnen ShellExecute(NULL, "open", m_strVorlagendatei, NULL, NULL, SW_SHOWNORMAL); }
-
Hast Du bei Dir die Dateiendung .DOT mit Word verknüpft ?
-
yup, hab ich
-
hallo
ich möchte den Wert einer Variablen in einer Klasse in einer anderen Klasse benutzen. Was muss ich da machen?
-
hat sich erledigt....
-
hallo
kann mir jemand sagen , wie ich das Word Dokument öffnen kann
Im Moment läuft das nur im Hintergrund, also ich sehs nicht.
Ich möchte dass das Word DOkument geöffnet wird , wenn ich auf "Bericht erstellen " klicke.
Was muss ich denn da tun ?Danke schon mal
CLSID clsidWordApplication; HRESULT hr = CLSIDFromProgID(L"Word.Application", &clsidWordApplication); // erfolgreichen Aufruf prüfen: _ASSERT(SUCCEEDED(hr)); if (SUCCEEDED(hr)) { IDispatchPtr spIWord = NULL; // Word - Application erzeugen: hr = CoCreateInstance(clsidWordApplication, NULL, CLSCTX_SERVER, IID_IDispatch, (void **) (IDispatch *) &spIWord); // erfolgreichen Aufruf prüfen: _ASSERT(SUCCEEDED(hr)); if (SUCCEEDED(hr) && (spIWord != NULL)) { CComDispatchDriver spDispWord(spIWord); // Jetzt haben wir Zugriff auf die Dispatch - // Schnittstelle der Word - Application. // Damit können wir uns jetzt das "Documents" - Objekt beschaffen: VARIANT vResult; { DISPID dispidDocuments = 0; hr = spDispWord.GetIDOfName(L"Documents", &dispidDocuments); hr = spDispWord.GetProperty(dispidDocuments, &vResult); } CComDispatchDriver spDocuments(vResult.pdispVal); if (SUCCEEDED(hr) && (spDocuments != NULL)) { // Jetzt haben wir auch Zugriff auf die Documents - Collection. if (false) { // Durch den Aufruf der Add - Methode, // ohne Parameter, erzeugen wir ein neues Dokument: hr = spDocuments.Invoke0(L"Add", &vResult); } else { // Durch den Aufruf der Open - Methode // wird ein bestehendes Dokument geöffnet. // Hier rufen wir nur mit einem einzigen Parameter auf, dem Dateinamen. VARIANT vFilename; vFilename.vt = VT_BSTR; vFilename.bstrVal = SysAllocString(L"C:\\Vorlage\\Test.DOT"); hr = spDocuments.Invoke1(L"Open", &vFilename, &vResult); SysFreeString(vFilename.bstrVal); } // Das aktuelle Dokument - Objekt beschaffen: IDispatchPtr spDokument = NULL; { VARIANT vDocNummer; vDocNummer.vt = VT_I4; vDocNummer.lVal = 1; hr = spDocuments.Invoke1(L"Item", &vDocNummer, &vResult); spDokument = vResult.pdispVal; } CComDispatchDriver spDispDokument(spDokument); // "Speichern unter" mit dem aktuellen // Dokument durchführen, Format = "Document" VARIANT vNeuerName, vSpeichernFormat; vNeuerName.vt = VT_BSTR; vNeuerName.bstrVal = SysAllocString(L"C:\\Vorlage\\Test.DOC"); vSpeichernFormat.vt = VT_I4; vSpeichernFormat.lVal = 0; // wdFormatDocument = 0, // wdFormatText = 2, ... hr = spDispDokument.Invoke2(L"SaveAs", &vNeuerName, &vSpeichernFormat, &vResult); SysFreeString(vNeuerName.bstrVal); // Word-Application wieder zumachen: hr = spDispWord.Invoke0(L"Quit", &vResult); } // Alle Interfaces wieder befreien: spIWord = NULL; } } else printf("Es ist kein Word installiert!\n");
-
muss ich das so machen
??? .SetVisible(TRUE);aber was muss anstatt den ??? hin