Zugriff auf Word mit interop(gelöst)
-
Hallo zusammen,
ich versuche gerade testweise aus einer c++ Anwendung auf Word zuzugreifen.
Leider beziehen sich alle Hinweise, die ich in der MSDN gefunden habe auf VB oder C#.
Ich habe jetzt einen Testcode, der aber abbricht, weil die Funktion Open mehrere Argumente braucht, leider finde ich nirgends eine Anleitung, welche Argumente noch übergeben werden sollen. Kann mir da jemand einen Hinweis oder einen Link geben?
Beste Grüße
Solick
Word::Application^ word1; Word::Document^ doc1; word1 = gcnew Word::Application(); word1->Visible = true; doc1 = word1->Documents->Open("test.doc");
-
So, mittlerweile bin ich etwas weiter. Das Öffnen geht nun:
System::Object^ oMissing = System::Reflection::Missing::Value; Word::ApplicationClass^ word1 = gcnew Word::ApplicationClass(); word1->Visible = true; Word::Documents^ docs = word1->Documents; System::Object^ datname = gcnew System::Object; datname = "C:\\test\\test.doc"; try { Word::_Document^ doc1 = docs->Open(datname, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing); } catch(Exception^ e) { MessageBox::Show("Konnte nicht geöffnet werden","Fehler"); }
Interessant wäre nun das reinschreiben etc... ist etwas mühsam sich das so zusammen zu klauben. Für einen Link oder Hinweis wo ich das etwas gesammelter nachlesen könnte wäre ich sehr dankbar.
Lg Solick
-
So habs nun hinbekommen. Für alle, die sich die Frage auch mal stellen werden:
System::Object^ oMissing = System::Reflection::Missing::Value; Word::ApplicationClass^ word1 = gcnew Word::ApplicationClass(); word1->Visible = false; Word::Documents^ docs = word1->Documents; System::Object^ datname = gcnew System::Object; datname = "C:\\test\\test.doc"; try { Word::_Document^ doc1 = docs->Open(datname, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing); DateTime^ date1; date1 = System::DateTime::UtcNow::get(); doc1->Content->InsertAfter(date1 + " --> " + textBox1->Text->ToString() + "\n"); doc1->Save(); doc1->Close(oMissing,oMissing,oMissing); } catch(Exception^ e) { MessageBox::Show("Konnte nicht geöffnet werden","Fehler"); } word1->Quit(oMissing,oMissing,oMissing); }
Grüße Solick
-
Danke für die Lösung.
Das sieht man heute viel zu selten.Gruß, Doug_HH
-
ja finde ich auch. Daher hab ich mir gedacht, ich poste mal die Lösung. Trotzdem finde ich es komisch, dass es keine richtige Beschreibung von MS dazu gibt. Oder ich hab sie nicht gefunden. Bin für Hinweise, wo es strukturierte Funktionsreferenzen zu den Interop Assemblies gibt, imemr noch dankbar
Lg Solick
-
Lang ists her, aber liegt der PIA nicht ne Doku bei ?
-
Hallo Knuddelbare,
leider nein, nur die dlls sonst nichts. Daher ja meine leichte Verzweiflung, weil ich Online auch nichts gefunden habe, auch kein Buch oder so...
Grüße Solick