- ベストアンサー
VBSでIEを起動し、拡大率を変更したい
VBScript初心者です。 IEを起動し、さらに表示倍率を変更したいのですが、 方法がわからずとても困っています。 ウィンドウの大きさではなく、表示倍率です。 ご教授よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>Dim ObjIE As Object >Dim ZoomRate As Variant >の部分でエラーになってしまったので、 VBScriptでは型宣言は、できないです Dim ObjIE Dim ZoomRate ZoomRate = "70%" '拡大率 Set ObjIE = CreateObject("InternetExplorer.application") ObjIE.Visible = True ObjIE.Navigate "http://www.yahoo.co.jp/" Do While ObjIE.Busy = True WScript.sleep(250) Loop ObjIE.Document.Body.runtimeStyle.Zoom = ZoomRate Set ObjIE = Nothing
その他の回答 (2)
- nissii202
- ベストアンサー率33% (1/3)
先の回答者さんの ObjIE.Document.Body.runtimeStyle.Zoom = ZoomRate については、<body> に対して style="zoom:70%" を指定するような操作のため 表示するページによって結果が異なる場合があるかと思われます。 IEの拡大表示機能を利用する場合は上記処理の部分を以下のように変更します。 Const OLECMDID_OPTICAL_ZOOM = 63 Const OLECMDEXECOPT_DODEFAULT = 0 ZoomRate = 70 '整数で拡大率を指定します ObjIE.ExecWB OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DODEFAULT, CLng(ZoomRate) ExecWBで操作できる項目についてはOLECMDID列挙体に定義されているので 以下のページが参考になるかもしれません。 https://msdn.microsoft.com/en-us/library/ms691264.aspx 以上、ご参考になれば幸いです。
お礼
お礼が遅くなってしまい誠に申し訳ございません。 拡大の件、たしかに結果が異なってしまいましたが諦めておりました。 大変助かりました。 ありがとうございました。
どのような方法で IE を制御しているかがわからないと回答 しにくいのですけどね。 InternetExplorer.Application を使用しているのであれば、 こちらが参考になるかと。(EXCEL VBA のコードですが、 VBS にも応用できるでしょう) http://okwave.jp/qa/q5533660.html
補足
ご回答ありがとうございます。 説明不足で申し訳ございません。 InternetExplorer.Applicationで制御しております。 ご教示いただいた過去質問は検索から見つけていたので 試してみたのですが、 起動しようとしても何も起動しなかったので 今回質問させていただきました。 ちなみに Dim ObjIE As Object Dim ZoomRate As Variant の部分でエラーになってしまったので、 Dim ObjIE Set ObjIE = CreateObject("Object") Dim ZoomRate Set ZoomRate = CreateObject("Variant") と書き直して起動しました。 方法が間違っているのでしょうか。 おわかりでしたらご教授いただけますと幸いです。 よろしくお願いいたします。
お礼
ありがとうございます! 2ウィンドウに適用したく、1つはご教授いただいたもので 問題なく起動できました!! 本当にありがとうございました! ただ、もう1つはなぜか、表示スペースも一緒に縮小されてしまい、 ウィンドウの中でこじんまりと表示されてしまいます。 (一緒にスクロールバーが左右出てきます) これはまた別の問題なのでしょうか。 もしご存知でしたらで結構ですので、教えていただけますと幸いです。 表示倍率縮小の件、ご回答本当にありがとうございました。