VB.NETでWord文書とExcel文書をMDIで同時に開き編集するような
アプリケーションを作成しています。
.NETにはOLEコンテナが無いのでWebBrowserを使用し開くことを知り作成していたのですが、
このWebBrowserで開いている文書のインスタンス(WordならWord.Document等)に
アクセスする方法が見つからず困っています。
NavigateComplete2イベントの情報を含むDWebBrowserEvents2_NavigateComplete2Eventの
pDisp内にあるのかと色々探しましたがMSDNでも見つけられませんでした。
この考え方はそもそも無謀なのでしょうか?
> このWebBrowserで開いている文書のインスタンス(WordならWord.Document等)に
> アクセスする方法が見つからず困っています。
読み込み完了後に、Documentプロパティ経由でアクセスできるかと。
魔界の仮面弁士様、ありがとうございます。
たしかにDocumentプロパティでアクセスできました。
イベントの方ばかりに目が行って見落としておりました。
一つ新たな疑問なのですが、ドキュメントを開く際、
保存するか開くかの確認ダイアログが表示されるマシンと、
されないマシンがあることに気が付きました。
「この種類のファイルであれば常に警告する」のチェックボタンをはずし
開けばそれ以降はダイアログは出てこなくなりました。
たしかにこの部分はセキュリティにかかわる部分なのはわかりますが、
マシンに依存せずダイアログを表示しないで開く方法はあるのでしょうか?
>.NETにはOLEコンテナが無いのでWebBrowserを使用
本当にこれだけしか抜け道がないものなんですか?
本当にこれだけしか抜け道がないものなんですか?
ユーザーコントロール等を背景にすれば
抜け道などはいかようにでも作れるでしょう。
ただ、すれぬしが、そうやって作りたい、というだけの話であって。
>マシンに依存せずダイアログを表示しないで開く方法はあるのでしょうか?
あります。デジタル署名や信頼済サイトなどを用い
あらかじめ権限を与えてやればよいのです。
ただ、この手の話は、VBとはちがってくるので、
別の掲示板で切り分けて話されては?
>デジタル署名や信頼済サイトなどを用い
「Officeが生成するデジタル署名」を「ツール→オプション→セキュリティ→デジタル署名」で「追加」してみましたがこれではダイアログを表示しないで開けませんでした。
ツイート | ![]() |