C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

WebcontrolをExcelで参照設定した場合のIE表示

[トピック内 11 記事 (1 - 11 表示)]  << 0 >>

■95331 / inTopicNo.1)  WebcontrolをExcelで参照設定した場合のIE表示
  
□投稿者/ 大谷刑部 (85回)-(2020/07/16(Thu) 16:39:03)

分類:[Microsoft Office 全般] 

Webconrolを.NetのWinformで使用した場合、レジストリにビルドするexeのファイルで該当のIEのバージョンを指定すればIE7互換表示ならずに表示できますが、
ExcelのUserformで同じことをした場合、同様に標準表示にすることは可能ですか?
ExcelVBAの場合、コンパイルされたexeを作成するわけではないので、設定方法がわかりません。
Yahooのトップページは現状

=========================================================================================
Yahoo! JAPANトップページの機能を正しくご利用いただくには、下記の環境が必要です。
パソコンでご利用のお客様
Windows:Internet Explorer 11.0以上 / Chrome 最新版 / Firefox 最新版 / Microsoft Edge macOS:Safari 9.0以上
※Internet Explorer 11.0以上をご利用の場合は、
「Internet Explorerの互換表示について」を参考に、互換表示の無効化をお試しください。

タブレットでご利用のお客様
iOS 9以降、または、Android4.0以降のOSに標準搭載されたブラウザー
※日本国内版として発売されている端末でご利用ください。
=========================================================================================

の様に表示されるので、互換表示になっていると推定されます。

.Net4.5でビルドしたExeではレジストリを登録したら、上記の表示は消えました。

どなたかご存知の方ご教示お願いします。
引用返信 編集キー/
■95332 / inTopicNo.2)  Re[1]: WebcontrolをExcelで参照設定した場合のIE表示
□投稿者/ ??????? (1回)-(2020/07/16(Thu) 17:05:07)
2020/07/16(Thu) 17:05:37 編集(投稿者)

No95331 (大谷刑部 さん) に返信
> Webconrolを.NetのWinformで使用した場合、レジストリにビルドするexeのファイルで該当のIEのバージョンを指定すればIE7互換表示ならずに表示できますが、
> ExcelのUserformで同じことをした場合、同様に標準表示にすることは可能ですか?
> ExcelVBAの場合、コンパイルされたexeを作成するわけではないので、設定方法がわかりません。
> Yahooのトップページは現状
>
> =========================================================================================
> Yahoo! JAPANトップページの機能を正しくご利用いただくには、下記の環境が必要です。
> パソコンでご利用のお客様
> Windows:Internet Explorer 11.0以上 / Chrome 最新版 / Firefox 最新版 / Microsoft Edge macOS:Safari 9.0以上
> ※Internet Explorer 11.0以上をご利用の場合は、
> 「Internet Explorerの互換表示について」を参考に、互換表示の無効化をお試しください。
>
> タブレットでご利用のお客様
> iOS 9以降、または、Android4.0以降のOSに標準搭載されたブラウザー
> ※日本国内版として発売されている端末でご利用ください。

> =========================================================================================
>
> の様に表示されるので、互換表示になっていると推定されます。
>
> .Net4.5でビルドしたExeではレジストリを登録したら、上記の表示は消えました。
>
> どなたかご存知の方ご教示お願いします。

ExcelでつかうWebConrolのバージョンをIE7互換以上にしたいという事?

引用返信 編集キー/
■95333 / inTopicNo.3)  Re[2]: WebcontrolをExcelで参照設定した場合のIE表示
□投稿者/ くまくま (19回)-(2020/07/16(Thu) 17:21:50)
No95332 (??????? さん) に返信
> 2020/07/16(Thu) 17:05:37 編集(投稿者)
>
> ■No95331 (大谷刑部 さん) に返信
>>Webconrolを.NetのWinformで使用した場合、レジストリにビルドするexeのファイルで該当のIEのバージョンを指定すればIE7互換表示ならずに表示できますが、
>>ExcelのUserformで同じことをした場合、同様に標準表示にすることは可能ですか?
>>ExcelVBAの場合、コンパイルされたexeを作成するわけではないので、設定方法がわかりません。
>>Yahooのトップページは現状
>>
>>=========================================================================================
>>Yahoo! JAPANトップページの機能を正しくご利用いただくには、下記の環境が必要です。
>>パソコンでご利用のお客様
>>Windows:Internet Explorer 11.0以上 / Chrome 最新版 / Firefox 最新版 / Microsoft Edge macOS:Safari 9.0以上
>>※Internet Explorer 11.0以上をご利用の場合は、
>>「Internet Explorerの互換表示について」を参考に、互換表示の無効化をお試しください。
>>
>>タブレットでご利用のお客様
>>iOS 9以降、または、Android4.0以降のOSに標準搭載されたブラウザー
>>※日本国内版として発売されている端末でご利用ください。
>
>>=========================================================================================
>>
>>の様に表示されるので、互換表示になっていると推定されます。
>>
>>.Net4.5でビルドしたExeではレジストリを登録したら、上記の表示は消えました。
>>
>>どなたかご存知の方ご教示お願いします。
>
> ExcelでつかうWebConrolのバージョンをIE7互換以上にしたいという事?
>
AccessとExcelだとコントロールがちがうんだけど
Accessの場合
http://blogwizhook.blog.fc2.com/blog-entry-160.html

引用返信 編集キー/
■95334 / inTopicNo.4)  Re[3]: WebcontrolをExcelで参照設定した場合のIE表示
□投稿者/ 大谷刑部 (86回)-(2020/07/16(Thu) 17:47:55)
No95333 (くまくま さん) に返信
> AccessとExcelだとコントロールがちがうんだけど
> Accessの場合
> http://blogwizhook.blog.fc2.com/blog-entry-160.html
>

ありがとうございます。
試してみました。結果としては互換表示のままです。
Accessの場合と違って、Excel.exeで管理してるわけじゃないみたいですね。

どちらかというと無理やり標準表示させたいというよりは、ダメならダメで
仕様上だめって結論がほしい感じです。
究極論としては、IEオブジェクト直接参照にすれば少なくともIE11表示にはなるので。
今のところ、Edgeでの表示は実装を見送ってる感じです。
理由はIEの場合よりかなりロジックが複雑になるので。
引用返信 編集キー/
■95335 / inTopicNo.5)  Re[4]: WebcontrolをExcelで参照設定した場合のIE表示
□投稿者/ くまくま (20回)-(2020/07/16(Thu) 18:04:00)
No95334 (大谷刑部 さん) に返信
> ■No95333 (くまくま さん) に返信
>>AccessとExcelだとコントロールがちがうんだけど
>>Accessの場合
>>http://blogwizhook.blog.fc2.com/blog-entry-160.html
>>
>
> ありがとうございます。
> 試してみました。結果としては互換表示のままです。
> Accessの場合と違って、Excel.exeで管理してるわけじゃないみたいですね。
>
> どちらかというと無理やり標準表示させたいというよりは、ダメならダメで
> 仕様上だめって結論がほしい感じです。
> 究極論としては、IEオブジェクト直接参照にすれば少なくともIE11表示にはなるので。
> 今のところ、Edgeでの表示は実装を見送ってる感じです。
> 理由はIEの場合よりかなりロジックが複雑になるので。
AccessとExcelでは同じWebコントロールとしているんですが物がちがうんですよね...
変更できなく残念です。

どこかのサーバにあるHPを表示するのではなく、HTML自体を流し込んで表示するなら方法もあるんですが...
前にも書いたのですがExcelからのIEオブジェクト操作は癖があるので注意してください。
(Set objIE = Nothing が必要とか...)
引用返信 編集キー/
■95336 / inTopicNo.6)  Re[5]: WebcontrolをExcelで参照設定した場合のIE表示
□投稿者/ くまくま (21回)-(2020/07/16(Thu) 18:17:14)
ごめんなさい大事なところ返事していませんでした。

>どちらかというと無理やり標準表示させたいというよりは、ダメならダメで
>仕様上だめって結論がほしい感じです。

他PCに配布するならレジストリの値を変更するのはオススメできません。
それは他PCでWebコントロールを使っている場合それまで影響を受けてしまいます。
(配布するソフトに関連するレジストリなら大丈夫です)
またOS,Officeのバージョンの影響も考えなければなりません。

Excelの場合でもWebコントロールのdllを見つけレジストリで登録するか
Webコントロール自体を書き直せば変更できるかもしれません。

ただ上記理由から「仕様上だめ」と判断してもよいのでは?
引用返信 編集キー/
■95337 / inTopicNo.7)  Re[6]: WebcontrolをExcelで参照設定した場合のIE表示
□投稿者/ くまくま (22回)-(2020/07/16(Thu) 19:22:53)
今回の質問よくあるのでまとめておきます。
Web画面で他サーバにあるHPを見る場合
1.ブラウザを開いて表示させる
・長所
通常のブラウザ表示なので開いたブラウザで正しく表示されれば問題はない
・短所
各ブラウザ毎に使用できる・できない・限定的だったりする
ソースが複雑化する。

2.Webコントローラで表示する
・長所
ソースが簡単
(特定のHPしか見ない場合、そのHP自体IE7互換表示で問題ない場合。
またはWebコントローラにVBAでHTMLを流し込み表示させる場合)
・短所
他サーバにあるHPを見る場合、IE7互換表示しかできない。


1.を選んだ場合
a.IE11を使う
・長所
必ずといっていいほどPC内にインストールされている
バージョンもほぼ安定している。
その為ソースサンプルが多い(癖はあるが)
・短所
IE11表示ができないHPがけっこうある。
(HTML5に対応しきれていない。)
バージョンアップがないのでセキュリティ上穴があるかもしれない。

b.Chromeを使う
・長所
HP表示に対応していないことがほぼない。
ヘッドレス(非表示)に対応
・短所
直接的なコントロールはVBAだけではできないので他ソフトをインストールする必要がある
(SeleniumBasic,ChromeDriver等)
またChromeのバージョンが上がるとドライバの更新が必要な場合がある。

c.Firefoxを使う
・長所
けっこうHP表示に対応している。(Chromeほどではない)
・短所
現在外部からのコントロール機能をセキュリティの関係上廃止ししてしまい
古いFirefoxを使わなければならない
またChromeと同じく他ソフトをインストールする必要がある

d.Edghを使う
・長所
最近Win7でもインストールされるようになったのでOSカバー範囲は高い
別ソフトを使わずにコントロールできる
・短所
Chromeベースに変更になったので旧Edghのソースがそのまま使えるか未確定
HP表示の対応していないHPがけっこうある。
まだバージョン的に安定していない。(仕様が変わる可能性がある)

ユーザにそのような要求をされた場合

今後様々なHPを閲覧させる仕組みを作るならChromeで
(SeleniumBasic,ChromeDriver等再インストールは必要になるがChromeのバージョンが上がった時の動作確認リスクは少ない)
範囲は限定的でIE11でも問題ないようならIE11
(企業でセキュリティ問題などがあるとIE11は厳しい)

と私は答えています。

引用返信 編集キー/
■95339 / inTopicNo.8)  Re[7]: WebcontrolをExcelで参照設定した場合のIE表示
□投稿者/ Hongliang (1062回)-(2020/07/17(Fri) 09:34:48)
Windows 10 1909
Microsoft Office 2016
の環境では、レジストリエディタでFEATURE_BROWSER_EMULATIONキーにEXCEL.exe=11001を設定することで
Yahooのトップページの警告を抑制できました。
// ただ、.NET/C#で同様のことをやると特に出ないスクリプトエラーが、Excelユーザーフォームだと大量に出ました。SilentプロパティをTrueにすればダイアログの抑制はできますが。
注意点としては、プロセスで最初にWebBrowserを表示するときに1回だけレジストリを参照するらしく、そのプロセスで2回目以降にレジストリを変更してWebBrowserを表示させても、そのレジストリ変更は効果がないことですね。
引用返信 編集キー/
■95341 / inTopicNo.9)  Re[8]: WebcontrolをExcelで参照設定した場合のIE表示
□投稿者/ 大谷刑部 (87回)-(2020/07/17(Fri) 09:55:47)
No95339 (Hongliang さん) に返信
> Windows 10 1909
> Microsoft Office 2016
> の環境では、レジストリエディタでFEATURE_BROWSER_EMULATIONキーにEXCEL.exe=11001を設定することで
> Yahooのトップページの警告を抑制できました。
ありがとうございます。
できました。IEのバージョンを11000にしていたのができない原因だったみたいです。
ちなみに、Officeは2010 Pro Plus(OSは7)です。
.NetビルドのExeの場合は11000でできてました。

> // ただ、.NET/C#で同様のことをやると特に出ないスクリプトエラーが、Excelユーザーフォームだと大量に出ました。SilentプロパティをTrueにすればダイアログの抑制はできますが。
こちらはあらかじめしてました。

> 注意点としては、プロセスで最初にWebBrowserを表示するときに1回だけレジストリを参照するらしく、そのプロセスで2回目以降にレジストリを変更してWebBrowserを表示させても、そのレジストリ変更は効果がないことですね。
今回に関しては、Activateイベントでフォーム起動と同時に表示させてあとはIEの仕様任せの想定なのでおそらく2回目がないので問題ありませんが、
もうちょっと複雑な機能にする場合は気を付けた方がいいのでしょうね。
解決済み
引用返信 編集キー/
■95343 / inTopicNo.10)  Re[6]: WebcontrolをExcelで参照設定した場合のIE表示
□投稿者/ 大谷刑部 (88回)-(2020/07/17(Fri) 10:08:40)
No95336 (くまくま さん) に返信
> ごめんなさい大事なところ返事していませんでした。
>
> >どちらかというと無理やり標準表示させたいというよりは、ダメならダメで
> >仕様上だめって結論がほしい感じです。
>
> 他PCに配布するならレジストリの値を変更するのはオススメできません。
> それは他PCでWebコントロールを使っている場合それまで影響を受けてしまいます。
> (配布するソフトに関連するレジストリなら大丈夫です)
> またOS,Officeのバージョンの影響も考えなければなりません。
ユーザー相手ならもちろんそうなりますが、社内の交通費精算の補助機能(Yahoo路線に直リンク)なので、
「もし問題があったら報告して」程度でいいのかなと。
社員の半分以上はプロですし。

> Excelの場合でもWebコントロールのdllを見つけレジストリで登録するか
> Webコントロール自体を書き直せば変更できるかもしれません。
これは私の勘違いで、IEのバージョン値のミスでした。

> ただ上記理由から「仕様上だめ」と判断してもよいのでは?
仕様上というより、環境の問題での方が多いですね。結論としては。
客先常駐者の使用端末はOSの権限の問題でレジストリ登録・編集がそもそもだめな環境も多いですし。
今回のYahoo路線はIE7仕様でも動くことは確認してますが、挙動がIE任せなので、
使う人がtopページに移動してしまうと、例の警告表示が出てしまうので何か対策をと考えました。







解決済み
引用返信 編集キー/
■95345 / inTopicNo.11)  Re[7]: WebcontrolをExcelで参照設定した場合のIE表示
□投稿者/ 大谷刑部 (89回)-(2020/07/17(Fri) 10:26:06)
No95337 (くまくま さん) に返信
> 今回の質問よくあるのでまとめておきます。
> Web画面で他サーバにあるHPを見る場合
> 1.ブラウザを開いて表示させる
> ・長所
> 通常のブラウザ表示なので開いたブラウザで正しく表示されれば問題はない
> ・短所
> 各ブラウザ毎に使用できる・できない・限定的だったりする
> ソースが複雑化する。
>
> 2.Webコントローラで表示する
> ・長所
> ソースが簡単
> (特定のHPしか見ない場合、そのHP自体IE7互換表示で問題ない場合。
> またはWebコントローラにVBAでHTMLを流し込み表示させる場合)
> ・短所
> 他サーバにあるHPを見る場合、IE7互換表示しかできない。
今回は2で表示できなかったら、エラーハンドリングとして、フォームをアンロードして、確認メッセージ表示→1
にしてます。
理由は、自分自身がある客先に常駐したときに、
「インターネット接続にユーザー認証が必要」という環境に出くわしたので、
2でブロックされて、1で表示してIE上でユーザー認証入力
→一回入力したら次回以降は2で表示可能

という状態にはできたので、そうしてます。

> 1.を選んだ場合
> a.IE11を使う
> ・長所
> 必ずといっていいほどPC内にインストールされている
> バージョンもほぼ安定している。
> その為ソースサンプルが多い(癖はあるが)
現時点ではその通りですね。
でも、7でもEdgeが入れられるようになったことからしてもMSがいつIEを切り捨ててしまうかわからないというリスクはあります。

> ・短所
> IE11表示ができないHPがけっこうある。
> (HTML5に対応しきれていない。)
> バージョンアップがないのでセキュリティ上穴があるかもしれない。
最近増えてきましたね。

> b.Chromeを使う
> ・長所
> HP表示に対応していないことがほぼない。
> ヘッドレス(非表示)に対応
> ・短所
> 直接的なコントロールはVBAだけではできないので他ソフトをインストールする必要がある
> (SeleniumBasic,ChromeDriver等)
> またChromeのバージョンが上がるとドライバの更新が必要な場合がある。
これは、客先常駐者のことを考えるとほぼアウトですね。
残念ながら社員全員に自社端末を貸与できるほど予算がありません。
弱小企業なので。

> c.Firefoxを使う
> ・長所
> けっこうHP表示に対応している。(Chromeほどではない)
> ・短所
> 現在外部からのコントロール機能をセキュリティの関係上廃止ししてしまい
> 古いFirefoxを使わなければならない
> またChromeと同じく他ソフトをインストールする必要がある
こっちはないですね。ブラウザーのシェア的に。


> d.Edghを使う
> ・長所
> 最近Win7でもインストールされるようになったのでOSカバー範囲は高い
> 別ソフトを使わずにコントロールできる
> ・短所
> Chromeベースに変更になったので旧Edghのソースがそのまま使えるか未確定
> HP表示の対応していないHPがけっこうある。
> まだバージョン的に安定していない。(仕様が変わる可能性がある)
これは検討中ですが、ちょっと調べた限りではIEよりソースが複雑になりそうなので見送ってます。
自分自身が作れても、他の人がメンテできなければ意味ないので。


> ユーザにそのような要求をされた場合
>
> 今後様々なHPを閲覧させる仕組みを作るならChromeで
> (SeleniumBasic,ChromeDriver等再インストールは必要になるがChromeのバージョンが上がった時の動作確認リスクは少ない)
> 範囲は限定的でIE11でも問題ないようならIE11
> (企業でセキュリティ問題などがあるとIE11は厳しい)
>
> と私は答えています。
なるほど。今後の参考とさせていただきます。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ