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


Red  2005-02-28 19:31:25  No: 88611  IP: [192.*.*.*]

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

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

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

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

編集 削除
魔界の仮面弁士  2005-02-28 20:31:51  No: 88612  IP: [192.*.*.*]

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

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

編集 削除
Red  2005-03-01 11:05:18  No: 88613  IP: [192.*.*.*]

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

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


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

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

編集 削除
ライス  2006-03-08 16:42:25  No: 88614  IP: [192.*.*.*]

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

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

編集 削除
 2006-03-08 17:09:58  No: 88615  IP: [192.*.*.*]

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

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

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

編集 削除
ななこ  2006-03-08 17:13:37  No: 88616  IP: [192.*.*.*]

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

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

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

編集 削除
ライス  2006-03-08 20:38:10  No: 88617  IP: [192.*.*.*]

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

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

編集 削除