C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: RichTextBoxコントロールへのファイル貼り付け


(過去ログ 106 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■63101 / inTopicNo.1)  RichTextBoxコントロールへのファイル貼り付け
  
□投稿者/ 真下 (1回)-(2012/07/16(Mon) 12:19:48)

分類:[.NET 全般] 

RichTextBoxコントロールへのファイル貼り付けについて質問させて下さい。
環境:Win7 VisualStudio2010 Pro VB.NET .Net Framework4.0

開発中のシステムの中に書式付きのテキストを表示、編集する部分をつくる必要があり、RichTextBoxコントロールを使用しています。
そのテキストの中にファイル(xlsファイルなど)を貼り付けたりしたいと考えています。

ファイルエクスプローラーなどで貼り付けたいファイルを「コピー」して、RichTextBox上で「貼り付け」をすると、ファイルは張り付くのですが、
画面上には「アプリケーション」とか「Microsoft Excelワークシート」などと文字表示されてしまいます。
できればファイル名とアイコンでわかりやすく表示したいのですが、可能でしょうか?

よろしくお願いします。



引用返信 編集キー/
■63103 / inTopicNo.2)  Re[1]: RichTextBoxコントロールへのファイル貼り付け
□投稿者/ 魔界の仮面弁士 (1回)-(2012/07/17(Tue) 09:48:59)
No63101 (真下 さん) に返信
> 画面上には「アプリケーション」とか「Microsoft Excelワークシート」などと文字表示されてしまいます。
> できればファイル名とアイコンでわかりやすく表示したいのですが、可能でしょうか?

あまり良い方法は思い浮かびませんが、VB6 等で使われる
「ActiveX 版の RichTextBox コントロール」の場合は、
ファイル名が埋め込まれた形でのリンク貼り付けになるようなので、

  AxRichTextBox1.Text = ""
  AxRichTextBox1.Focus()
  SendKeys.SendWait("^(V)")
  AxRichTextBox1.SelStart = 0
  AxRichTextBox1.SelLength = AxRichTextBox1.Text.Length
  SendKeys.SendWait("^(C)")
  RichTextBox1.Paste()
  AxRichTextBox1.Text = ""

としたところ、当方環境ではファイル名付きで貼り付けられました。
http://www.vb-user.net/junk/replySamples/2012.07.17.09.44/paste.png
(もしかしたら、オブジェクト パッケージャの設定に依存するかも)


ただし、AxRichTextBox が非表示の状態で上記コードを実行すると、
「Microsoft Excelワークシート」の名で貼りついてしまうため、
邪魔な ActiveX 版 RichTextBox の方は、
  AxRichTextBox1.TabStop = False
  AxRichTextBox1.Left = -30000
などとして、画面外に追い出しておくなどの対処が必要かも知れません。

引用返信 編集キー/
■63105 / inTopicNo.3)  Re[2]: RichTextBoxコントロールへのファイル貼り付け
□投稿者/ やじゅ (1回)-(2012/07/17(Tue) 12:39:30)
やじゅ さんの Web サイト
魔界の仮面弁士さんの回答と同じですが、復活の記念カキコってことで。

(vb.net)リッチテキストボックスへのドラッグアンドドロップ
http://questionbox.jp.msn.com/qa951600.html
VB6のRichTextBoxコントロールをVB.NETで使うことによってOLEオブジェクトの埋め込みを行う。


海外のRichTextBoxでOLEオブジェクトを扱っているもの。今回の回答とはマッチしないかも。
The Code Project RichTextBox OleObject で検索してみるとか
本当はUrlを貼り付けたかったのですが、どれかがNGワードにひっかかって投稿出来なかったので。


引用返信 編集キー/
■63107 / inTopicNo.4)  Re[3]: RichTextBoxコントロールへのファイル貼り付け
□投稿者/ 真下 (3回)-(2012/07/17(Tue) 17:29:47)
No63105 (やじゅ さん) に返信
> 魔界の仮面弁士さんの回答と同じですが、復活の記念カキコってことで。
>
> (vb.net)リッチテキストボックスへのドラッグアンドドロップ
> http://questionbox.jp.msn.com/qa951600.html
> VB6のRichTextBoxコントロールをVB.NETで使うことによってOLEオブジェクトの埋め込みを行う。
>
>
> 海外のRichTextBoxでOLEオブジェクトを扱っているもの。今回の回答とはマッチしないかも。
> The Code Project RichTextBox OleObject で検索してみるとか
> 本当はUrlを貼り付けたかったのですが、どれかがNGワードにひっかかって投稿出来なかったので。
>
>

魔界の仮面弁士さん、やじゅさん、早速の回答ありがとうございます。
VB.NET標準のコントロールでは実現困難そうですね。
指導していただいたようにVB6のコントロールを使用すると解決できそうですが、私以外の人がメンテをする際に困ってしまいそうなので、
テキスト中へのファイルの直接の添付はやめ、別枠への登録を考えようとおもいます。

最終的にはDBへの登録を考えているので、そういう意味でもファイルは別持ちにしたほうが良いようだということを別の人にアドバイスもされました。

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




解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -