質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Internet Explorer

Internet Explorer(IE;MSIE)はマイクロソフトが開発したウェブブラウザです。Microsoft Windowsに組み込まれています。

Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

2回答

4743閲覧

VBAによるIE立ち上げ時のJavaScript無効化設定について

marseille

総合スコア25

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Internet Explorer

Internet Explorer(IE;MSIE)はマイクロソフトが開発したウェブブラウザです。Microsoft Windowsに組み込まれています。

Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2017/03/15 07:07

・実現したいこと
1.エクセルのVBAを起動するとブラウザ(IE)を立ち上がる
2.JavaScriptを無効化する
3.指定されたサイトに接続する
4.特定の処理を行う
5.JavaScriptを有効化する

(注)
ユーザーがブラウザを直接操作し、JavaScriptを無効化するのではなく
VBAが無効化する

・困っていること
実現したいことにおける2及び5が実現できない

・実行環境
Windows7 Enterprise SP1
Microsoft Office Professional Plus 2010
Excel 2010

VBAではInternetexplorer.Applicationのオブジェクトを作成し、IEを起動していますが、JavaScriptの無効化及び有効化を実現するコードがわかりません。

実現する方法はそもそも存在するのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

Google先生に伺いました。

"インターネットオプション コマンド変更" で検索
インターネットオプションの設定をコマンド等で行うには?

と、言うことで、どうやらレジストリを変更することで、出来るらしいです。

JavaScriptの有効/無効の設定方法は?

インターネットオプションでJavaScriptの有効/無効は、
スクリプト > アクティブスクリプト を変更することで可能。

レジストリキーは、どこ?

さらに "インターネットオプション アクティブスクリプト レジストリ" で検索
上級ユーザー向けの Internet Explorer セキュリティ ゾーン関連のレジストリ エントリ

これにより、

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\<ZoneNumber>

の中に各設定があり、

値 設定 ------------------------------ 0 マイ コンピューター 1 イントラネット 2 信頼済みサイト 3 インターネット 4 制限付きサイト

<ZoneNumber> は 3 が該当。

1400 スクリプトの実行:アクティブ スクリプト

との事で、regedit.exeで、該当箇所を見ると、インターネットオプションを手動で変更すると、
値が変わることが確認できます。

regedit.exe

VBAでの設定方法

ふたたびGoogle先生にお伺い。"vba レジストリ 設定" で検索。

T'sWare Access Tips #283 ~任意のレジストリキーにアクセスするには?~

これによるとWIN32APIを使用して、書き換えが可能なようです。

※ここには記載がないですが、たぶん管理者モードでVBAを実行する必要がありそうです。

実際のソースコードが添付できませんが、参考までに。

投稿2017/03/16 05:30

sugar_yas

総合スコア135

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

イントラネットでなくインターネット上のサイトに接続するのであれば、
該当のサイトを「インターネット オプション」セキュリティの制限付きサイトにでも登録すれば、
VBA側でコントロールせずとも
JavaScriptの実行などは止められそうな気がします。

投稿2017/03/15 07:30

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

marseille

2017/03/15 07:37

コメントありがとうございます。 「実現したいこと」の注項目に記載しましたとおり、ブラウザを直接操作し無効化する手段は解決方法としては除外しております。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問