1

Word文書をコピーしてC ++の新しいWord文書に貼り付けるルーチンを作成しました(Borland Builder 5)

tbSearch->Text = "{axis1[d]} ";
Variant vk_this_doc_select = wrdDoc1.OleFunction( "Select" );                // wir selektieren dessen Inhalt des geöffneten Dokuments
wordSelection = zuladendesDokument.OlePropertyGet("Selection");              // tun es in den ZwischenSpeicher der Applikation
wordSelection.OleFunction( "Copy" );                                        // und kopieren es
Variant vk_converted_document_select =  wrdDoc.OleFunction( "Select" );    // wir machen die Selektion im alten Dokument
Variant vk_converted_document_selection =   wrdApp.OlePropertyGet( "Selection" );
Variant  wordSelectionFind = vk_converted_document_selection.OlePropertyGet( "Find" );   // setzen den Zeiger
wordSelectionFind.OleFunction( "Execute", tbSearch->Text, false, false, false, false, false, true, 1, false, wordSelection, 2, false, false, false, false );

このルーチンはうまく機能しますが、挿入ルーチンではワード文書のグラフィック部分が破壊されます。

Word文書も挿入しようとしました

k_converted_document_selection.OleFunction( "PasteSpecial"), 0, false, 0, false, 0);

ここではフォーマットは問題ありませんが、貼り付けたドキュメントの位置が間違っています (ドキュメントの先頭で毎回.

だから私は2つの質問があります:

  • フォーマットを保存するには?
  • 貼り付けたWord文書を正しい位置に設定するには?

しばらくして (そして 2 ~ 10 個の神経細胞fgを失いました)、自分で答えを得たので、この問題に対処して次の結果を投稿します (下手な英語で申し訳ありません)。どなたでもご利用いただけますと幸いです。...

           tbSearch->Text = "{axis3[d]}" ;

            Variant vk_this_doc_select = wrdDoc1.OleFunction( "Select" );// select the contain of the document to be insert

            wordSelection = zuladendesDokument.OlePropertyGet("Selection"); // select

            wordSelection.OleFunction( "Copy" ); // copy

            Variant vk_converted_document_select =  wrdDoc.OleFunction( "Select" ); // select the first document 

            Variant vk_converted_document_selection =   wrdApp.OlePropertyGet( "Selection" );

           Variant  wordSelectionFind = vk_converted_document_selection.OlePropertyGet( "Find" );   

                                                                                      // now the trick with is the solution: find the position you want, but do nothing ("")
           wordSelectionFind.OleFunction( "Execute", tbSearch->Text, false, false, false, false, false, true, 1, false, "", 1, true, true, true, true );

           vk_converted_document_selection.OleFunction( "PasteSpecial", 0, false, 0, false, 0); // now the pointer in the document is found, means PasteSpecial will insert the document at the right place
4

0 に答える 0