none
RichTextBoxの内容をWordに出力する方法について RRS feed

  • 質問

  • RichTextBoxの書式情報も含めて、Wordに出力したいのですが、
    次のように、クリップボードを経由すれば出力可能です。

     

            Dim oWord As Word.Application
            Dim oDoc As Word.Document
            Dim oPara1 As Word.Paragraph

     

            oWord = CreateObject("Word.Application")
            oWord.Visible = True

            oDoc = oWord.Documents.Add
            oPara1 = oDoc.Content.Paragraphs.Add

     

            Clipboard.SetData(DataFormats.Rtf, RichTextBox1.Rtf)
            oPara1.Range.Paste()


    ただ、クリップボードはあまり使いたくないので、
    クリップボードを経由しないでWordに出力する方法について、ご指導頂けないでしょうか?

     

    よろしくお願い致します。

    2008年4月15日 2:53

回答

  • ファイルを経由する方法があります。



            Dim temp As String = Path.GetTempFileName()
            RichTextBox1.SaveFile(temp, RichTextBoxStreamType.RichText)
            Dim word As Word.Application = New Word.ApplicationClass()
            word.Visible = True
            word.Documents.Open(temp)
            '必要なら temp を削除

     


    2008年4月15日 5:26
  • Word に、Rtf というプロパティがないので、あまり期待できないと思います。
    2008年4月21日 8:45

すべての返信

  • ファイルを経由する方法があります。



            Dim temp As String = Path.GetTempFileName()
            RichTextBox1.SaveFile(temp, RichTextBoxStreamType.RichText)
            Dim word As Word.Application = New Word.ApplicationClass()
            word.Visible = True
            word.Documents.Open(temp)
            '必要なら temp を削除

     


    2008年4月15日 5:26
  • なるほど、ファイルにする方法ですか。

    これもいいですね。

     

    理想としては、Range.Text プロパティに変わる方法があれば思っていたのですが…
    これだと、リッチテキストの文字列がベタで表示されてしますからね…

     

            Dim oWord As Word.Application
            Dim oDoc As Word.Document
            Dim oPara1 As Word.Paragraph

            oWord = CreateObject("Word.Application")
            oWord.Visible = True

            oDoc = oWord.Documents.Add
            oPara1 = oDoc.Content.Paragraphs.Add

            oPara1.Range.Text = RichTextBox1.Rtf
            oPara1.Range.InsertParagraphAfter()


    何か方法があれば、ご指導願います。

    2008年4月15日 8:12
  • Word に、Rtf というプロパティがないので、あまり期待できないと思います。
    2008年4月21日 8:45
  • やはりそうですか…

    あきらめて、ファイル経由で行こうと思います。

    ありがとうございました。

    2008年4月24日 9:13