DOBON.NET DOBON.NETプログラミング掲示板過去ログ

VB2005でwordの様なtextbox

分類:[.NET]

こんにちは。
VB2005でwebページの様な画像やテキストが混ざった文書をクリップボードにコピーし、wordやgoogleノードブックのようにそのままのフォーマット?(見た目)でペーストできるようなソフトウェアを作りたいのですが、textbox,richtextboxでは画像が表示されないため、どのようなコントロールを使用したらいいかがわかりません。webBrowserでword文書を開く方法を試したのですが、word2007では別ウインドウになってしまい実現できませんでした。
どなたかご教授ください。よろしくお願いいたします。
  • 題名: Re[1]: VB2005でwordの様なtextbox
  • 著者: 魔界の仮面弁士
  • 日時: 2008/08/15 19:50:57
  • ID: 22718
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
2008/08/15(Fri) 23:16:56 編集(投稿者)

■No22717に返信(usubaさんの記事)
> そのままのフォーマット?(見た目)でペーストできるようなソフトウェア

コピー元のアプリは、自作のものですか?
それとも、Offict 等の一般アプリでしょうか?

独自定義のクリップボード フォーマットを使いたいのであれば、
コピー元は Clipboard.SetDataObject()、
コピー先は Clipboard.GetDataObject() を使って、
任意形式のデータを受け渡す事ができます。

既存のクリップボード フォーマットを使うのであれば、HTML 形式や RTF 形式 などが
「画像等も保持可能なフォーマット」ですので、これらを利用できるかと思います。


> どのようなコントロールを使用したらいいかがわかりません。
それは、使用しているフォーマット次第です。
クリップボード内のデータ形式によって、扱うべきコントロールも異なります。

目的としているフォーマットを確認するため、クリップブック(clipbrd.exe)等で
データ形式を調べてみてください。


たとえば、『ワードパッド』上からコピーしてきたデータであれば、
リッチテキスト形式でコピーされますので、特にコーディングせずとも、
RichTextBox 上で Ctrl + V すれば、画像もテキストも文字書式も転写されます。

あるいは、『Internet Explorer』上からコピーしたデータであれば、
HTML 形式が含まれており、これは DHTMLEdit コントロールや
デザインモードにした WebBrowser などへ貼り付ける事ができます。


以下、WebBrowser コントロールの場合のサンプル。

Public Class Form1
 Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
  RadioButton1.Text = "デザインモード"
  RadioButton2.Text = "プレビューモード"
  WebBrowser1.Navigate("about:blank")
 End Sub

 Private Sub CheckedChanged(ByVal sender As Object, ByVal e As EventArgs) Handles RadioButton1.CheckedChanged, RadioButton2.CheckedChanged
  Dim dom As Object = WebBrowser1.Document.DomDocument
  dom.designMode = IIf(RadioButton1.Checked, "ON", "OFF")
  If dom.GetType().IsCOMObject Then
   System.Runtime.InteropServices.Marshal.ReleaseComObject(dom)
  End If
 End Sub

 Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
  RadioButton1.Checked = True
 End Sub
End Class

DOBON.NET | プログラミング道 | プログラミング掲示板