ブラウザの言語設定を簡単に変更するには?


ダライアス  2003-12-21 20:53:10  No: 110864

私は仕事柄WEBページの英語ページと日本語ページ両方を読むことがあります。
その時にブラウザの言語設定によって英語ページと日本語ページを切り替えてくれるサイトがよくあるのですが(例:microsoft)
毎回言語設定をインターネットオプションで切り替えるのが億劫になってしまいました。
VBで言語設定を変更することが出来ればと思い質問させていただきました。
環境は
OS:win2k sp3
ブラウザ:IE5(あと、タブ型ブラウザも使うがIEを呼び出して使う物なので)


いな  2003-12-21 23:00:18  No: 110865

ほかの言語で記述された Web ページを正しく表示するには

ほとんどの Web ページには、そのページで使用する言語のエンコード (言語と文字セット) の情報が含まれています。

この情報がページに含まれていない場合は、言語の自動エンコード選択機能を有効にすると、通常は適切な言語エンコードが適用されます。

自動選択機能を有効にするには

Internet Explorer で、[表示] メニューの [エンコード] をポイントし、[自動選択] コマンドにチェック マークが付いていることを確認します。チェック マークが付いていない場合は、[自動選択] をクリックします。 
言語サポートのコンポーネントをダウンロードするように指示するメッセージが表示された場合は、[ダウンロード] をクリックします。

自動選択機能を使っても正しい言語で表示できない場合、言語がわかっているときは手動で選択します。

Web ページを表示する言語エンコードを選ぶには

[表示] メニューの [エンコード] をポイントし、[その他] をポイントし、適切な言語をクリックします。 
言語サポートのコンポーネントをダウンロードするように指示するメッセージが表示された場合は、[ダウンロード] をクリックします。

 注

自動選択機能や特定の言語サポート パックがコンピュータにインストールされていない場合は、必要なファイルをダウンロードするように促すメッセージが表示されます。 
言語を追加しても、その言語でページを表示するために必要なフォントがコンピュータにインストールされているとは限りません。 追加すべきフォントが必要な場合にメッセージを表示させるには、[ツール] メニューの [インターネット オプション] をクリックし、[詳細設定] タブをクリックし、[オン デマンドでのインストールを有効にする] チェック ボックスをオンにします。 また、その言語でページを表示するために、多言語サポート パック をダウンロードすることもできます。 
ツール バーに [エンコード] ボタンを追加すると、言語をすばやく切り替えることができます。 

とIEのヘルプには書いてあります。。。。
が、要求はそれをVBでやりたい!と言うことでよろしいですか?
>毎回言語設定をインターネットオプションで切り替えるのが億劫になってしまいました。
では少し、そこまでする意図を感じられないので。


いな  2003-12-21 23:02:21  No: 110866

それとも、VB.NETでやる。ということなのかなぁ〜


ダライアス  2003-12-22 03:09:10  No: 110867

早速のレスありがとうございます。
VBで言語設定を変える必要がある理由を書いてませんでした。
現在はWEBページをブラウザで読んでいるのですが
自動でWEBページを読みに行ってくれるプログラムを作りたいのです。
まだ、全然形になってもいませんが、言語設定を切り替える事が不可能なら
そのプログラムの真価が発揮できないので(VBで言語の切り替えが)可能かどうかをお聞きしました。
いな様よろしくければどうぞご教授ください。


ダライアス  2003-12-22 03:10:41  No: 110868

訂正です。
>いな様よろしくければどうぞご教授ください。
いな様よろしければどうぞご教授ください。


いな  2003-12-22 03:57:44  No: 110869

なるほど、
この場合もクライアント側の、
ブラウザの設定をエンコード自動設定にしておくことで、
ジャンプ先のURLにあるメタタグを解析するはずですので、
基本はOKだと思います。

一度、Microsoft Internet controlsを参照設定してみて

--
Option Explicit

Private WithEvents ie As SHDocVw.InternetExplorer

Private Sub Command1_Click()
    Dim url As String
    url = "http://www.yahoo.co.jp"
    If ie Is Nothing Then
        Set ie = New SHDocVw.InternetExplorer
    End If
    ie.Navigate url
    ie.Visible = True
End Sub

Private Sub Command2_Click()
    Dim url As String
    url = "http://www.yahoo.com"
    If ie Is Nothing Then
        Set ie = New SHDocVw.InternetExplorer
    End If
    ie.Navigate url
    ie.Visible = True
End Sub

Private Sub ie_OnQuit()
    Set ie = Nothing
End Sub
--
ボタン2つをフォームに張り付けて起動してみてください。
言語設定は変わっているはずです。


ダライアス  2003-12-22 05:59:20  No: 110870

いな様レスありがとうございます。

早速上記のコードを実行してみましたが、思うような結果が得られませんでした。
しかも私の説明不足に先ほど気が付きました。すいませんでした。
私が変更したい言語設定は[ツール]→[インターネットオプション]→[全般]→[言語]の[言語の優先順位]を
日本語[ja]←→英語[en]に切り替えたいのです。
確かに[表示]→[エンコード]での言語は変更されていますが、上記の[言語の優先順位]に日本語が入っていると表示されないページがあるのです。(日本人は嫌われてるんですね)
非常にご面倒をお掛けしますがこちらの方はおわかりになりますでしょうか?
一応自分で調べたりもしていますがレジストリは変更されてない。程度しか分かりませんでした。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加