WebBrowserで開いているドキュメントにアクセスするには?


Red  2005-03-01 04:31:25  No: 88611

VB.NETでWord文書とExcel文書をMDIで同時に開き編集するような
アプリケーションを作成しています。

.NETにはOLEコンテナが無いのでWebBrowserを使用し開くことを知り作成していたのですが、
このWebBrowserで開いている文書のインスタンス(WordならWord.Document等)に
アクセスする方法が見つからず困っています。

NavigateComplete2イベントの情報を含むDWebBrowserEvents2_NavigateComplete2Eventの
pDisp内にあるのかと色々探しましたがMSDNでも見つけられませんでした。

この考え方はそもそも無謀なのでしょうか?


魔界の仮面弁士  2005-03-01 05:31:51  No: 88612

> このWebBrowserで開いている文書のインスタンス(WordならWord.Document等)に
> アクセスする方法が見つからず困っています。

読み込み完了後に、Documentプロパティ経由でアクセスできるかと。


Red  2005-03-01 20:05:18  No: 88613

魔界の仮面弁士様、ありがとうございます。

たしかにDocumentプロパティでアクセスできました。
イベントの方ばかりに目が行って見落としておりました。

一つ新たな疑問なのですが、ドキュメントを開く際、
保存するか開くかの確認ダイアログが表示されるマシンと、
されないマシンがあることに気が付きました。
「この種類のファイルであれば常に警告する」のチェックボタンをはずし
開けばそれ以降はダイアログは出てこなくなりました。

たしかにこの部分はセキュリティにかかわる部分なのはわかりますが、
マシンに依存せずダイアログを表示しないで開く方法はあるのでしょうか?


ライス  2006-03-09 01:42:25  No: 88614

>.NETにはOLEコンテナが無いのでWebBrowserを使用

本当にこれだけしか抜け道がないものなんですか?


  2006-03-09 02:09:58  No: 88615

本当にこれだけしか抜け道がないものなんですか?

ユーザーコントロール等を背景にすれば
抜け道などはいかようにでも作れるでしょう。

ただ、すれぬしが、そうやって作りたい、というだけの話であって。


ななこ  2006-03-09 02:13:37  No: 88616

>マシンに依存せずダイアログを表示しないで開く方法はあるのでしょうか?

あります。デジタル署名や信頼済サイトなどを用い
あらかじめ権限を与えてやればよいのです。

ただ、この手の話は、VBとはちがってくるので、
別の掲示板で切り分けて話されては?


ライス  2006-03-09 05:38:10  No: 88617

>デジタル署名や信頼済サイトなどを用い

「Officeが生成するデジタル署名」を「ツール→オプション→セキュリティ→デジタル署名」で「追加」してみましたがこれではダイアログを表示しないで開けませんでした。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加