- - PR -
VB.NETのwindowsformにEXCELのシートを埋め込む方法
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-10-11 17:08
いつもお世話になってます。
今 VB.NET 2003 にて開発を行っています。 実現したいこと @VBのフォーム画面の中にエクセルのシートを埋め込んで表示したい。 A @が可能であるならばそのフォームに埋め込まれたエクセルの内容 を編集して上書きしたい。(もしできるのであれば文字レベルだけ でなくオートシェープなども貼り付けたり編集したい。) 上記が可能かどうかわかる方がおられましたらお教え下さい。 ※ちなみにWEBでブラウザ上に埋め込む方法は調べていてみつかった のですがwinformについてはみつかりませんでした。 宜しくお願いします。 | ||||
|
投稿日時: 2006-10-11 17:57
ここまで来ると、VB6 で 埋め込み OLE (OLE オートメーションではない) を 使用した方が良いのではないでしょうか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-10-12 09:38
じゃんぬねっとさん解答ありがとうございます。
確かにVB6.0のOLEの機能だとフォームに埋め込むこと ができる事とオートシェープなどのオブジェクトもあつ かえることは確認できました。 ここでひとつしつもんなんですがOLE上で編集したエクセル の内容を保存することは可能でしょうか?? OLEをダブルクリックすることで編集可能となるのですが 上に出てくるメニューバーの中に編集〜ヘルプまでは出て くるのですが ファイルがなく保存関連の操作が出来ません。 保存する方法がわかりましたら宜しくお願いします。 こちらも引き続き調査してみます。 | ||||
|
投稿日時: 2006-10-12 10:23
OLE オブジェクトの SaveToFile メソッドで保存はできますが、 このメソッドでは、バイナリとして保存しますから Excel アプリケーションからは読み込み不可になります。 表示に関しては、Form に埋め込みという形で結構だと思いますが、 編集するのであれば、OLE オートメーションを素直に使うか、 埋め込み OLE を 「リンク」 として作成して、Excel アプリケーションに委譲するのが正攻法だと思います。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-10-12 10:41
.NET で OLE コントロールに似た動作を実現する方法について
http://msdn.microsoft.com/library/ja/jpdnvs05/htm/2005/migrate/OLE.asp http://blogs.wankuma.com/naka/archive/2005/07/06/17522.aspx | ||||
|
投稿日時: 2006-10-12 11:42
じゃんぬねっとさん todoさん
お返事ありがとうございます。 じゃんぬねっとさんへ やはり編集はOLEオートメーションでExcelを 開いて処理するのが普通みたいですね。 VB6.0でするのならばこの方法でやろうと思い ます。 ありがとうございました。 todoさんへ マイクロソフトのホームペーからサンプルをもって きて実行してみて思ったのですが、既存のオートシェープ などに対しての編集やコピーは出来るのですが新規に 作成したい場合にツールバーみたいなものをだすことは できないのでしょうか?? こちらでも今から調査してみます。 解答ありがとうございました。 |
1