• ベストアンサー

VBAでIEを開いて最大化したい。

VBAでIEを開くことはできたのですがいつも同じサイズでブラウザが開きます。 Set ObjIE = CreateObject("InternetExplorer.application") ObjIE.Visible = True ObjIE.Navigate "https://www" 多分この後くらいに最大化するコードを書くと思うのですが 教えてください。 (ActiveWindow.WindowState = xlMaximizedのような?) よろしくお願いします。

noname#150264
noname#150264

質問者が選んだベストアンサー

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

APIでどうでしょうか。 Private Declare Function FindWindow Lib "USER32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function ShowWindow Lib "USER32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long Private Const SW_SHOWNORMAL = 1 '元の大きさ Private Const SW_SHOWMINIMIZED = 2 '最小化 Private Const SW_SHOWMAXIMIZED = 3 '最大化 Sub IEShowMaxiMized() Dim ieHwnd As Long '//IEのウィンドウハンドル取得 ieHwnd = FindWindow("IEFrame", vbNullString) '//最大化 Call ShowWindow(ieHwnd, SW_SHOWMAXIMIZED) End Sub ウィンドウの最大化 http://catiauser.net/phpBB/post-7341.html ウィンドウの操作 http://www.happy2-island.com/vbs/cafe02/capter00703.shtml

noname#150264
質問者

お礼

おお!なんだかよくわからないのですができました!ご回答ありがとうございます。

その他の回答 (2)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

締め切り処理をされないのは、まだ問題があるのですか? 遠慮なく捕捉で質問してください。 もう一例挙げておきます。 Excelの最大化サイズをIEに適用します。 ポイント値をピクセル値に換算する必要があります。 Dim appWidth Dim appHeight With Application .WindowState = xlMaximized appWidth = .Width appHeight = .Height .WindowState = xlNormal End With '処理 With ObjIE .Width = appWidth * 96 / 72 .Height = appHeight * 96 / 72 End With

noname#150264
質問者

お礼

お返事遅くなってすいません。 ご回答ありがとうございます。参考にします!

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

WSHでキー操作を送信する例 IEオブジェクト(ウィンドウ最大化など)について http://www.happy2-island.com/bbs/bbs.cgi?mode=past&no=722

noname#150264
質問者

お礼

ありがとうございます。参考にします。

関連するQ&A

  • VBAでIE操作をするサンプル

    VBAでIE操作をするサンプルをネットでいくつか見ているのですが Sub Sample1() Dim objShell As Object Dim objIE As New InternetExplorer Set objShell = CreateObject("Shell.Application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" Set objIE = Nothing Set objShell = Nothing End Sub Sub Sample2() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" Set objIE = Nothing End Sub ではどちらを使った方がいいのでしょうか? 圧倒的にSample2の方がネットでは多いのですが Sample1のやり方もあることを知りました。 Sample1の方法でブラウザを開くメリットはあるのでしょうか?

  • vbaでIEを閉じるだけの処理

    オフィス2003を使用しています。 「IEを開いて閉じる」は Sub TEST() Set ObjIE = CreateObject("InternetExplorer.application") ObjIE.Visible = True '見えるようにする '文字列で指定したURLに飛ぶ ObjIE.navigate "http://www.yahoo.co.jp/index.html" '表示終了まで待つ Do While ObjIE.Busy = True DoEvents Loop ObjIE.Quit End Sub と言うことがわかったのですが 開くのは他の作業をしたときに行うので 「閉じる」だけをvbaで行いたいのですがどうすればいいのかわかりません。 Sub TEST2() Set ObjIE = CreateObject("InternetExplorer.application") ObjIE.Visible = True '見えるようにする ObjIE.Quit End Sub だと また新たなIEが起動してしまい「現在起動しているIEを閉じる」と言うことができません。 アドバイスをお願い致します。

  • IEではなくファイアフォックスを指定することは

    VBAでブラウザを開く場合、 IEではなくファイアフォックスを指定することは可能ですか? 既定のブラウザはIEにしています。 Sub test1() Dim objIE As Object Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "http://www.ocn.ne.jp/" objIE.Visible = True Set objIE = Nothing End Sub の Set objIE = CreateObject("InternetExplorer.Application") の部分を Set objIE = CreateObject("firefox.exe") に変えてみたら、 【ActiveX コンポーネントはオブジェクトを作成できません。(Error 429)】 になりました。

  • 複数のタブを開きたい IE

    IE9を使っています。 画像のようにタブを二つ開くにはどうすればいいでしょうか? Sub test() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" Set objIE = Nothing End Sub だと一つのタブしか開けません。 Sub test() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" objIE.Navigate "http://www.yahoo.co.jp/" Set objIE = Nothing End Sub にしても Sub test() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" objIE.Navigate2 "http://www.yahoo.co.jp/" Set objIE = Nothing End Sub にしても1つのタブしか開けないです。 ご回答よろしくお願いします。

  • ie 64bit 32bit どちらが開いてる?

    Sub Sample() Dim objIE As InternetExplorer Set ObjIE = CreateObject("InternetExplorer.application") ObjIE.Visible = True ObjIE.Navigate "http://www.yahoo.co.jp/" Set ObjIE = Nothing End Sub で、vbaからieを開いた場合、64bit 32bitのどちらで開かれるのでしょうか? 私の環境はwin7、IE9です。

  • vbaでIEの操作

    こんばんは。やりたいことができないので教えてください。 vbaで指定のurlを開きたいです。 エクセル2003とIE8です。 Sub test001() Dim ObjIE As Object Set ObjIE = CreateObject("InternetExplorer.application") ObjIE.Visible = True ObjIE.navigate "http://jp.msn.com/" Do While ObjIE.Busy = True '表示させるまで待つ DoEvents Loop End Sub これでIEを立ち上げてURLを開けるのですが これでは新しいウインドウで開いてしまいます。 現在IEを立ち上げていて、上記のコードを実行すると 新たなタブで開きたいですが解決策はありますか? ObjIE.Visible = True が原因かと思い、これを抜かしてみましたが そうすると何も起こりません。 VBAで既に開いているIEの新しいタブでURLを開く方法をご教授ください!よろしくお願いします。

  • インターネットで調べてVBSで下のようなものを作ってみました。

    インターネットで調べてVBSで下のようなものを作ってみました。 やりたいことは、IEを起動して複数のサイトを複数のタブで表示 したいのですが、サイトの種類分IEも起動してしまいます。 考えているようなことはできないのでしょうか。 ========ここから下です======== Option Explicit Dim objIE Dim objShell 'Shell.Application Set objShell = CreateObject("Shell.Application") Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True 'IEウィンドウを表示 objIE.Navigate2 "http://www.okwave.jp/" Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True 'IEウィンドウを表示 objIE.Navigate2 "http://www.google.co.jp/" Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True 'IEウィンドウを表示 objIE.Navigate2 "http://www.yahoo.co.jp/" ======================= よろしくお願いいたします。

  • VBAでyahooをログアウトしたい

    VBAでyahooにログインすることはできたのですが、 VBAでログアウトしたいです。 Sub yahoo() Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" ログアウトするコード ・ ・ ・ End Sub   まではわかりました。自分なりには頑張りました。 IE9を使ってるのですが そもそもソースの見方がわかりません。 ご教授よろしくお願いします。

  • VBAからIEの操作

    グーグルをIEで開いてVBA(語句)を検索して見終わったら IEを閉じる作業をしたいのですが、検索窓にVBA(語句)を 入力するところでエラーとなります。初心者ですが、なんとか 勉強したいのでよろしくお願いいたします。 Sub ie_test_Navigate() Dim objIE As Object Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.google.co.jp/" IE.document.all.q.Value = "VBA" IE.document.all.btnG.Click If MsgBox("IEを閉じますか?", vbYesNo, "終了確認") = vbYes Then objIE.Quit End If Set objIE = Nothing End Sub

  • VBAでIE操作ができない エラーになる

    vista+オフィス2007です。 エクセルで --------------------------------------------------------- Sub ie_test() Dim objIE As Object Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True objIE.Navigate "http://www.google.co.jp/" End Sub --------------------------------------------------------- を実行したいのですができません。 Set objIE = CreateObject("InternetExplorer.Application") の部分で、しばらく固まり、その後 「実行時エラー'-2147467259(80004005)': オートメーションエラーです。 エラーを特定できません」 と表示されてしまいます。 前にvista+オフィス2003の時は 上記のコードで問題なく動作しました。 2007でも動く方法を教えてください。ご回答よろしくお願いします。

専門家に質問してみよう