投稿日 | : 2005/03/21(Mon) 16:37 |
投稿者 | : ゆりか |
Eメール | : |
URL | : |
タイトル | : Re^4: WebBrowser での Excel 制御について |
何度もお答え、ありがとうございます。
> WebBrowser 上で Excel のメニューバー等が表示されればいいのでしょうか?
> それならできますが。
はい。その方法はわかります。
ずばり、何がしたいかと言えば・・・。
ユーザにある程度の印刷テンプレートを作成させたいと言うのもなんです。
あくまでVBアプリを主とするのですが、
帳票のタイトルや項目、罫線などのデザインをExcelで作成して頂きます。
次に特定のデータベースの項目を選択してどのセルに印刷するかを指定してもらいます。
これで、簡易的な印刷テンプレートの出来上がりです。
あとは、実行ボタンなどでデザインして頂いたExcelシートと印刷位置(セル)、項目を
基に印刷するなりプレビューさせるなりというものです。
今、煮詰まっているのは最初のデザインしたExcelをVBアプリで表示させ
それを基に印刷位置を定義させるということなのです。
Excelを表示させる方法には、最初OLEコントロールを使ってみました。
これだと埋め込み型にするとイメージを取り込めますが、これを保存した後、再びExcelで
表示させる事ができませんでした。
では、リンク型にした場合は・・・。最初の質問にも書きましたが保存ダイアログを消すことが
できませんでした。
そして何よりExcelの列見出し(A,B,Cなど)や行見出し(1,2,3など)が表示できなかったのです。
そこで、いろいろ探したところWebBrowserがあることを知ったのです。
ですが、今度は直接Excelファイルを開くためWebBrowser内で直接書き込めてしまいます。
また、質問通りに別Excelで開くと読み取り専用になってしまいます。
ならばWebBrowserのDocumentを直接表示させればとも考えたのですが、それだと
WebBrowser1.Document.Application.Visible = True
としてもExcelが起動されるだけでファイルが表示されないのです。
花ちゃんさんがおっしゃって頂いた通りVB上では表示のみでいいんです。
が、セルの位置だけは表示させたくてWebBrowserを選択してしまったのです。
今、CDからヘルプを見てみました。読み取り専用で開くようなプロパティやメソッドは
無いみたいです。
一長一短というか・・・難しいですね。別アプリ(Excel)と連動させるというのは。