ワード文章のリッチテキストボックスへのコピー方法を教えてください

このQ&Aのポイント
  • VB.NETまたはVB6を使用して、ワード文書の内容をリッチテキストボックスにコピーしたい場合、文章を全選択できずにコピーできないというエラーが発生します。
  • これを回避するために、ワード文書で文章を選択する代わりに、直接コピーして貼り付ける方法を使用することができます。
  • 以下の例では、VB.NETを使用していますが、同様の方法がVB6でも使用できます。ワードドキュメントを開いた後、ドキュメント全体をコピーしてリッチテキストボックスに貼り付けます。
回答を見る
  • ベストアンサー

ワードの全文章をリッチテキストボックスにコピーしたい(VB.NETもしくはVB6でもOK)

ワードの全文章内容をリッチテキストボックスに できれば下線、太字等の属性を含めてコピーしたいと考えています。 しかし、ワードの文章をクリップボードに コピーすることができません。 というのは、ワードの文章を全選択することができないからです。 dcApp=New Microsoft.Office.Interop.Word.Application() dcDoc = dcApp.Documents.Open("c:test.doc") ??? dcDoc.Select() dcDoc.Copy() ←(1) RichTextBox1.Paste() 上の例(VB.NETです)では、 (1)の部分において、 「文章が選択されていないのでコピーできない」というエラーがでます。 上のdcDoc.Select()では動作しなかったのですが、 この部分に変わる内容をご教示ください。 以上、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • piyo2000
  • ベストアンサー率49% (144/293)
回答No.1

>この部分に変わる内容をご教示ください。 まず、Wordを起動して「マクロの記録」を実行し 文章全体を選択して(Ctrl+Aとか、shift+endキーを押す)Ctrl+Cでコピーして、「記録終了」を押し、VBEditorで標準モジュールを開きマクロを見てみてください。 おそらく、Selectionオブジェクトに対して Selection.Endkey ~(パラメータは忘れました) Selection.Copy などのコードが入っているはずです。 SelectionオブジェクトはApplicationオブジェクトのSelectionプロパティから取るので、dcDoc.Activateとした後 dcApp.Selection.Endkey ~ dcApp.Selection.Copy とすればOKです。 VBAに詰まった時は「マクロの記録」を有効に使いましょう(^^;

nobunorinobu
質問者

お礼

回答ありがとうございました。 お礼が遅れました。すみません。 なるほど、、、。VBEditerを使うのですね。 勉強になります。 でも、やってみたのですが 私が良く使うVB.NETとVBAとはちと違うようで、 どうもうまくいかない、、。 色々試してみたのですが、 結局VBAで作ったほうが早いんじゃないか?? なんて思い始めてVBAにも手を出しています。 ご教示ありがとうございました。

関連するQ&A

  • リッチテキストボックス内のフォント変更

    VB.NETプログラミングしています。 基礎的なことだと思うのですが、 調べてもわかりませんのでご教示ください。 RichTextBoxを使ってテキストエディタを作っています。 このリッチテキストボックス内でキーダウンイベントを発生させ、 選択されている文字のフォント変更(例えばボールド体やイタリック体、下線付加)したいのですができません。 ワードのような機能を付加したいだけなのですが、うまくいきません。 つまり、 If e.Control = True Then  With RichTextBox1   Select Case e.KeyCode     Case Keys.B   (選択されている文字をボールド体にして、    ボールド体の部分は非ボールド体にする) End Select End With EndIf の中の 「選択されている文字をボールド体にして、ボールド体の部分は非ボールド体にする」という処理ができません。 ご存知の方、ご教示ください。

  • ワード2000でのテキストコピー

    あるワード章の一部をコピーし、別のワード文章に貼り付けるとフォントや大きさもコピー元の通り貼り付けられますので、これをイチイチ訂正して作業しており大変煩雑です。 エクセルですと「形式を選択して貼り付け」から必要な部分だけをコピペでき助かっています。 フォントや大きさは反映させずテキスト部分だけを貼り付ける方法がありましたら教えてください。

  • Word2007で、テキストボックスのコピー

    Word2007で、テキストボックスに一人一行で60名の氏名を並べています。ほぼA4縦置きにして 左側に上から下まで続いています。ここまで希望通りになっています。 次に、このテキストボックスを別のファイルにコピーすると、文字サイズと行間が大きくなり、10名分が表示範囲から外れてしまいます。 コピーの要領は 二つのWord2007ファイルを読み込み、一方は最小化し、もう一方を表示させて、表示―整列から 二つを同時表示し、コピーするテキストボックスをクリックし、「ここにコピー」し、それをもう一方へドラッグしております。 A4に収まっていたのが収まらなくなりました。ここで、コピーの場合はコピー元かコピー先に合わすのを選択できましたが、このテキストボックスではこの選択ができません。やり方が悪いのでしょうか?よろしくお願いします。

  • Wordの文章比較ソフト

    Vectorで落とせる次のようなフリーソフトはありますか。 Wordの文章の中身を比べて、同じものないしは似通ったものがあれば教えてくれるソフト。 例えば A.doc B.doc C.doc というWord文書があった場合、 A.docとB.docは内容が完全に同じ C.docはB.docの「あえいうえおあお」という部分が「かけきくけこかこ」となっているだけであとは全部同じ このとき、AとBは同じ内容だけどファイル名が違うだけ みたいなことを教えてくれるソフトです

  • Word文章中に別のWord文章を参照

    Word文章中に別ファイルのWord文書を参照という形で挿入したいのですが、ネットなどで調べたのですが、方法が見つかりませんでした。 例えば、A.doc(Word文章A)の2ページにB.doc(Word文章B)を参照という形で文章を挿入したいと考えています。そして、B.docの内容を変更した時、A.docにもその変更が反映されるようにしたいと考えています。 現在、オブジェクトで挿入という方法を試したのですが、その方法では1ページ目まで表示されるだけで、2ページ目からは表示されない状態でした。 以前も同様の質問があったのですが、参照で表示という回答は得られていなかったようなので、質問させて頂きました。 WordはWord2000を使用しております。 宜しくお願い致します。

  • ワードの文章入力時の、書式変更で困っています。

    ワード2002を使用している、初心者です。 文章を入力した後に (例 おはようございます・こんにちは) の「おはようございます」部分をツールバーで、太字・青色・下線に変更しました。 その後に、別の行で、新しい文章を入力した際に、、太字・青色・下線の設定がそのまま残ってしまいます。毎回、新規文字入力の際は、メニューバーのボタンを再度押して、設定を元に戻して入力しています。 質問ですが、部分的に書式を変更した後、その書式が新しい文章を入力する際に反映されず、通常の状態で(元の書式で)入力できる方法を教えてください。 宜しくお願い致します。

  • Wordで、選択していない部分の文章も太字や中央揃えに…

    こんにちは。 私は自宅のパソコンで Microsoft Office Word 2003を使用しています。 以前から、Wordで文章をつくっているときに不便な点があります。 文章の一部分を選択して、太字にしようとしたり、その行だけを中央揃えにしようとしたりすると、文章全体が太字になったり、中央揃えになったりします。 全体がそのように変更されてしまった場合は、メニューバーの「編集」から「元に戻す」をクリック、もしくは「『Ctrlキー』+『Z』」ボタンでやり直すと、もとに選択した部分のみ太字や中央揃えになります。 選択した部分以外のスタイルが自動的に変わってしまうことが、作業中にかなりわずらわしく感じています。 このパソコンを使い始めたころは、このようなことは起こらなかったように思うのですが…。書式設定やオプションの中のチェックが最初の頃と変更してしまっているのかもしれません。 アドバイス、よろしくお願い致します。

  • Webサイトの文章をWordに貼り付けについて

    ブラウザはInternet Explorer9、Wordは2010です。 Webサイトの文章をコピー後、Wordに貼り付けましたが、 よく見ると、Wordに貼り付けた文字列に下線があります。 この下線を消したり、文字色を変えたりしたいのですが、 Wordのメニュー「ページレイアウト」からできません。 そこで、ファイルメニューのオプションを使えばできますか。 また、その時はオプションの何処を選べばいいか、教えて下さい。

  • pdfファイルの文章をコピーしたい

    pdfファイルの文章の、内容で部分的に文章をコピーしたいのですが、まったくできません。 文章のコピー貼り付けができれば非常に効率がいいのですが、どなたか文章の一部等を ワードみたいに普通にコピーをして貼り付けする方法やツールをしってる方いたら教えてください。 大変困っています。m(__)m

  • テキストボックスにコピーするマクロ

    エクセルのA1にある文字列の先頭から2番目の文字を、テキストボックスにコピーするマクロのことですが。 Sub copy()  Cells(2, 1) = "=MID(A1,2,1)"  Selection.copy  Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _  SkipBlanks:=False, Transpose:=False  ActiveSheet.Shapes("Text Box 4").Select  Selection.Characters.Text = Cells(2, 1) End Sub 上記のもので成功しますが疑問に思うことがあります。 Cells(2, 1) = "=MID(A1,2,1)" の次の行に Cells(2, 1).Select を置くと、実行後に A2 には関数が残らず数値しか存在しなくなります。どうしてでしょう? (コピー → 形式を選択して貼り付け を手作業でやる時は関数は残るのに) また、上記よりも簡潔なマクロがあれば教えて下さい。