none
IE Ver.10~11(64bit)Google地図表示「互換表示 有効」Error RRS feed

  • 質問

  • VBAプログラムで、社員の自宅地図を、Access2010画面にWebBrowser
    機能を使って、google地図を表示しています。

    Internet Explorer Ver.10~11導入で、Windows7の32bitタイプに
    ついては、問題なく表示できす。

    しかし、Windows7の64bitタイプについては、下記のErrorメッセージが
     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    表示されます。
     ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ****************************************************
    『Internet Explorer の互換表示が有効になっているようです。Google
      マップが正常に動作するよう、互換表示を無効にしてください。』
    ****************************************************

    このErrorメッセージは、Access画面には表示されるものの、IE Ver.11
    の画面には、同条件のurlエンコードでgoogle地図を表示しても、現れません。

    IE Ver.11並びに、AccessのVBAには、互換表示に関わる設定や登録は、行って
    おりません。

    当現象は、Windows7の64bitタイプでIE Ver.10~11を使用する場合に限られる
    ものです。IE Ver.9以下の場合は、エラー表示は起きません。

    解決方法をご存じの方に、是非教えて頂きたく。
    よろしくお願いします。

    '**************************************************************
    '      Google地図表示 VBAプログラム
    '**************************************************************
    Private Sub Ctl5() 
      Dim strURL As String, strURL2 As String
       'テキストボックスから住所を取得してリンク先アドレスを組み立て
      If IsNull(Me![住所]) Or Me![住所] = "" Then Exit Sub
         strURL2 = URL_Decode(Me![住所])
         strURL = h ttp://maps.google.co.jp/maps?f=q&hl=ja&q= & strURL2'
        'Webブラウザコントロールにアドレスを設定
         Me!WebBrowser9.Navigate strURL
      End Sub

     '文字コードをJScriptに統一変換する関数
    Private Function URL_Decode(ByVal strOrg As String) As String
      With CreateObject("ScriptControl")
         .Language = "JScript"
        URL_Decode = .CodeObject.decodeURI(strOrg)
      End With
    End Function
    **************************************************************

    2014年4月19日 1:56

回答

  • 佐祐理 様

    有り難うございました。
    レジストリの書き換えで、不明のエラーが解決し、解消いたしました。
    早速の適切な回答に、心より感謝し、お礼申し上げます。

    • 回答としてマーク mm_kobe 2014年4月21日 2:14
    2014年4月20日 22:23

すべての返信

  • ■ ポイント ■

    実は、『Internet Explorer の互換表示が有効・・・』のエラー表示は、
    Windows7の32bitと64bitの両方に現れます。

    但し、Windows7の32bitの場合、IE Ver.10~11の採用で、レジストリに
     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    それを登録してやると、エラー表示は解消します。
     ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    しかし、Windows7の64bitの場合、レジストリにIE Ver.10~11の採用を
    登録しても、変化はありません。

    ここが困っているところです。
    何とか、解決の方法を、教えていただきたく、宜しくお願いいたします。

    2014年4月20日 4:59
  • Windows7の32bitの場合、IE Ver.10~11の採用で、レジストリにそれを登録してやると、エラー表示は解消します。
    具体的にどのようなレジストリ操作を行ったのでしょうか?
    2014年4月20日 9:20
  • HKEY_LOCAL_MACHINE⇒SOFTWARE⇒と順次クリックし、FEATURE_BROWSER_EMULATIONまで進めます。
     《クリック順序》
    HKEY_LOCAL_MACHINE (1)
        ↓
       SOFTWARE (2)
          ↓
           Microsoft (3)
             ↓
             Internet Explorer (4)
                ↓
                Main (5)
                  ↓
                   FeatureControl (6)
                     ↓
                      FEATURE_BROWSER_EMULATION (7)

    そして、「FEATURE_BROWSER_EMULATION」フォルダに下記のレジストリ登録を行います。
     《レジストリ登録》
       名前          種類       データ
    msaccess.exe     REG_DWORD    0x00002710(10000)

    2014年4月20日 13:15
  • いろいろなことを理解していないということはわかりました。質問には何と答えたらいいのやら。

    32bitアプリケーションはRegistry RedirectorによりHKEY_LOCAL_MACHINE\SoftwareへのアクセスはHKEY_LOCAL_MACHINE\Software\Wow6432Nodeへリダイレクトされます。後者に書き込まなければ32bitアプリケーションからは読み出せないということです。

    • 回答の候補に設定 佐祐理 2014年4月21日 2:23
    2014年4月20日 14:07
  • 佐祐理 様

    有り難うございました。
    レジストリの書き換えで、不明のエラーが解決し、解消いたしました。
    早速の適切な回答に、心より感謝し、お礼申し上げます。

    • 回答としてマーク mm_kobe 2014年4月21日 2:14
    2014年4月20日 22:23