9

Google検索は、これで私をたくさんの行き止まりに導きます.
私は VBA で Excel アドインを開発しています。その一部には、WebBrowser コントロールを使用してフォーム内に (既知の) Web ページを表示し、その DOM コンポーネントにアクセスすることが含まれます。

残念ながら、これはユーザーの Internet Explorer のバージョンに左右されます。
実際の Web ページについては、Chrome Frame サポートを使用して、IE ユーザーがブラウザーのバージョンを気にせずに意図した方法でページを表示できるようにすることができますが、WebBrowser コントロールはブラウザー プラグインを認識しません。

WebKit.NET と GeckoFX を調べました。それらはある程度機能しますが、何かが完全に欠けていない限り、Javascript または CSS エンジンがまったく含まれていないようです。または (GeckoFX の場合)、古いエンジンを使用しています。それはそれらを役に立たなくします。

WebBrowser コントロールのように機能する VBA フォームに埋め込むことができる ActiveX コントロールはありますか? 、まだ Javascript と CSS を正しくサポートしていますか?

ありがとうございました!

(コメントに基づいて一部編集)

再度編集:以下の 1 つの回答から、古いバージョンの GeckoFX を見ていることがわかりましたが、最新バージョンは有望に見えます。しかし、関連する新しい質問があります。VBA に GeckoFX を含めるにはどうすればよいですか? Windows では、COM オブジェクトとして登録できません。どういうわけかソースから自分でビルドする必要がありますか? または何?

4

3 に答える 3

5

Gecokfx は 33.0 までの Firefox をサポートします

https://bitbucket.org/geckofx/geckofx/wiki/Version_lists

Javascript と CSS の両方をサポートしています。

于 2011-11-08T12:11:55.017 に答える
0

古い VBA で動作させたい場合は、ActiveX ラッパーのブラウザーが必要です。

Mozilla ActiveX Control は法案に適合しますが、それは死んでいるようです。(現在は Chromeless の Mozilla Prism に存在していましたが、バイナリ ダウンロードはありません。XULRunner ソースから自分でビルドできるようですが、それはおそらく簡単ではありません。)

GeckoFX を ActiveX コントロールとして構築するのはそれほど難しくないかもしれません。

于 2011-11-08T20:55:51.113 に答える
-1

GeckoFX または Chrome Frame を使用している場合、ユーザーの Firefox または Chrome のバージョンに翻弄されます。ユーザーのベースライン バージョンを指定する以外に、この問題を解決する方法はありません。

これができない場合は、VBA コードの違いを回避することをお勧めします。

言い換えれば、IE WebBrowser コントロールを使用します。これは、何らかのバージョンでインストールされることが保証されているためです。また、IE の最小バージョンを指定し (全員が持つべき IE6 をお勧めします)、バージョンを検出して違いに対処し、 VBA との違いを回避します。

于 2011-11-11T10:28:31.823 に答える