- PR -

C# WEBページ保存

1
投稿者投稿内容
nono
会議室デビュー日: 2007/12/10
投稿数: 7
投稿日時: 2007-12-10 17:07
C#でWebBrowserコントロールで、Internet Explorer の [ファイル] メニューの [名前を付けて保存] メニュー オプションのような機能を実装しようとしているのですが、以下のようなコードですとエラーがでます。

AxWebBrowser3.ExecWB( ShDocVw.OLECMDID_SAVEAS, ShDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT);ですと
'ShDocVw' は現在のコンテキスト内に存在しません。
とエラーがでてしまったのですが。。。

ちなみにブラウザは、​http://www.microsoft.com/japan/msdn/academic/Articles/fun/02/​
を参考に作成しました。

どなたかご存知の方いれば教えてください。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-12-10 18:22
コンパイル エラーですよね。
http://msdn2.microsoft.com/ja-jp/library/t8zbaa6f(vs.80).aspx

ShDocVw までの名前空間を確認してください。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
nono
会議室デビュー日: 2007/12/10
投稿数: 7
投稿日時: 2007-12-10 18:33
using ShDocVw;
と記述しているのですが、今度は、型または名前空間名 'ShDocVw' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。
と出てしまいました。
hei
ベテラン
会議室デビュー日: 2006/09/07
投稿数: 78
投稿日時: 2007-12-10 23:15
こちらが参考になりますでしょうか?

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=40765&forum=7

追記:

WEBページ保存には、YASさんに教えていただいたCDO.Messageを使ってmhtで保存するのがベストだと思います。
ただ、私には日本語ドメインのページをこの方法でキャプチャする方法はわかりませんでした。


以下参考まで

ShDocVw名前空間を使用するには、
COMのMicrosoft Internet Controlsの参照を追加する必要があります。
.NET2.0からはWebBrowserコントロールが用意されており、通常はこっちを使用するほうが簡単です。
しかし、このWebBrowserはかなり厄介です。
以前は問題なかったのですが、いつからか複数のインスタンスを同時に使用するとおかしな挙動をするようになりました。
どうもIE7に相当するものではなく、IE7のタブに相当するものを生成しているっぽいのですが・・・



[ メッセージ編集済み 編集者: hei 編集日時 2007-12-10 23:53 ]
nono
会議室デビュー日: 2007/12/10
投稿数: 7
投稿日時: 2007-12-11 14:39
解決しました。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)