WordApplication -> InsertFile funktioniert nicht in BDS 2006, aber in BCB 6



  • Hallo,

    ich habe folgenden Code um von einem Programm aus Word zu starten, ein Dokument zu oeffnen und in dieses mehrere Dateien einzufuegen:

    void __fastcall TForm1::Button1Click(TObject *Sender)
    { TWordApplication* wa = new TWordApplication(NULL);
      wa->ConnectKind = ckNewInstance;
      wa->Connect();
      wa->set_Visible(true);
    
      wa->Documents->Add();
    
      TWordDocument* wd = new TWordDocument(NULL);
      wd->ConnectTo(wa->ActiveDocument);
    
      char* fn1 = "C:\\Dok1.doc";
      char* fn2 = "C:\\Dok2.doc";
    
      wa->Selection->InsertFile(ConvertToWideChar(fn1), OleVariant(StringToOleStr("")));
    
      wa->Selection->EndKey(OleVariant(wdStory));
      wa->Selection->InsertBreak(OleVariant(wdPageBreak));
      wa->Selection->InsertFile(ConvertToWideChar(fn2), OleVariant(StringToOleStr("")));
    
      wa->Selection->EndKey(OleVariant(wdStory));
      wa->Selection->InsertBreak(OleVariant(wdPageBreak));
      wa->Selection->InsertFile(ConvertToWideChar(fn2), OleVariant(StringToOleStr("")));
    }
    

    Was auf jeden Fall klappt, ist Word starten und die Seitenumbrueche einfuegen.
    Doch beim Datei Einfuegen gibt's Probleme. Wenn ich das Programm mit dem Builder 6 kompiliere, klappt's. Compiliere ich es mit dem 2006er (gleiche Header und gleiche Library), funktioniert dies auf dem selben System nicht, d.h. die Seiten bleiben einfach leer.
    Das Programm, wo das dann endgueltig eingebaut werden soll, ist jedenfalls ein 2006er-Projekt und es waere schade, wenn es nicht ginge. Notfalls koennte man das ganze ja noch ueber ein zweites Programm laufen lassen, aber es muss doch irgenwie funktionieren...
    Weiss jemand Rat?

    Danke schonmal!


Anmelden zum Antworten