IEウィンドウとExcelウィンドウを横並びに設定

<< エクセルVBAで複数のIEウィンドウを横並び(縦並び)に設定する :前の記事

前回は、2つのIEウィンドウを横並びにする方法について解説しました。横並びにするのにディスプレイサイズを取得して2分割で表示させましたが、今回はIEウィンドウとExcelウィンドウを横に並べる方法について解説していきます。

前回と同じ内容であればそのまま利用して横並びにできると思われる方も多いかと思いますが、前回の方法ではIEウィンドウとExcelウィンドウをきれいに並べることはできません。その理由としては、IEウィンドウとExcelウィンドウでは値を取得するプロパティの単位が異なるからです。ここでは、サイズの単位を統一する方法も併せて解説しています。

目次

スポンサー リンク

IEウィンドウとExcelウィンドウを横に並べる処理の流れ

以下が今回の処理の流れになります。

  • ①変数宣言
  • ②Excelウィンドウを最大化で表示
  • ③Excelウィンドウの幅・高さの値を取得
  • ④Excelウィンドウを標準サイズで表示
  • ⑤Excelウィンドウの位置・サイズを設定
  • ⑥Excelウィンドウの取得したサイズ単位をポイントからピクセルへ変換
  • ⑦ieViewサブルーチンの引数に位置・サイズを指定して本サイトをIEで起動

利用するプロパティ・VBA関数・サブルーチンについて

今回利用するプロパティVBA関数サブルーチンは以下になります。

  • Applicationプロパティとは
  • WindowStateプロパティとは
  • Topプロパティとは
  • Leftプロパティとは
  • Widthプロパティとは
  • Heightプロパティとは
  • Int関数とは
  • CLng関数とは
  • ieViewサブルーチンとは
  • ieCheckサブルーチンとは

Applicationプロパティとは

Applicationプロパティは、指定されたオブジェクトを返すプロパティです。対象となるオブジェクトが指定されていない場合は、Excelアプリーション(Applicationオブジェクト)を返します。

Application.プロパティ
Application.メソッド

WindowStateプロパティとは

ApplicationオブジェクトのWindowStateプロパティExcelウィンドウの表示サイズ(標準・最大化・最小化)を設定します。

Application.WindowState = xlMaximized/xlNormal/xlMinimized

プロパティ値説明
xlMaximized最大化表示
xlNormal通常表示
xlMinimized最小化表示

今回利用する以下の「Topプロパティ」「Leftプロパティ」「Widthプロパティ」「Heightプロパティ」は、ApplicationオブジェクトInternetExplorerオブジェクト取得する値が異なります。同じプロパティでもオブジェクトの種類によって処理が異なることを覚えておきましょう。

Topプロパティとは

ApplicationオブジェクトTopプロパティは、ディスプレイ画面の上端からExcelウィンドウの上端までの距離の値を取得または設定をすることができます。基準はディスプレイ画面の左上からになります。また、単位はポイント(1ポイント=1/72dpi)になります。

Application.Top = 倍精度浮動小数点型(Double)
変数 = Application.Top

InternetExplorerオブジェクトTopプロパティは、ディスプレイ画面の上端からIEウィンドウの上端までの距離の値を取得または設定をすることができます。基準はディスプレイ画面の左上からになります。また、単位はピクセル(1ピクセル=1/96dpi)になります。

objIE.Top = 倍精度浮動小数点型(Double)
変数 = objIE.Top

Leftプロパティとは

ApplicationオブジェクトLeftプロパティは、ディスプレイ画面の左端かExcelウィンドウの左端までの距離の値を取得または設定をすることができます。基準はディスプレイ画面の左上からになります。また、単位はポイント(1ポイント=1/72dpi)になります。

Application.Left = 倍精度浮動小数点型(Double)
変数 = Application.Left

InternetExplorerオブジェクトLeftプロパティは、ディスプレイ画面の左端かIEウィンドウの左端までの距離の値を取得または設定をすることができます。基準はディスプレイ画面の左上からになります。また、単位はピクセル(1ピクセル=1/96dpi)になります。

objIE.Left = 倍精度浮動小数点型(Double)
変数 = objIE.Left

Widthプロパティとは

ApplicationオブジェクトWidthプロパティは、Excelウィンドウの幅の値を取得または設定をすることができます。また、単位はポイント(1ポイント=1/72dpi)になります。

Application.Width = 倍精度浮動小数点型(Double)
変数 = Application.Width

InternetExplorerオブジェクトWidthプロパティは、IEウィンドウの幅の値を取得または設定をすることができます。また、単位はピクセル(1ピクセル=1/96dpi)になります。

objIE.Width = 倍精度浮動小数点型(Double)
変数 = objIE.Width

Heightプロパティとは

ApplicationオブジェクトHeightプロパティは、Excelウィンドウの高さの値を取得または設定をすることができます。また、単位はポイント(1ポイント=1/72dpi)になります。

Application.Height = 倍精度浮動小数点型(Double)
変数 = Application.Height

InternetExplorerオブジェクトHeightプロパティは、IEウィンドウの高さの値を取得または設定をすることができます。また、単位はピクセル(1ピクセル=1/96dpi)になります。

objIE.Height = 倍精度浮動小数点型(Double)
変数 = objIE.Height

Int関数とは

Int関数は、指定した数値または計算式の整数部分を返します。尚、小数部分がある場合は小数点以下を切り捨てた整数値を返します。

変数 = Int(数値または計算式)

CLng関数とは

CLng関数は、指定した数値または計算式を長整数型(Long)に変換します。

変数 = CLng(数値または計算式)

ieViewサブルーチンとは

ieViewサブルーチンは指定したURLをInternetExplorerで起動させ、Webページが完全に読み込まれるまで待機処理をするマクロです。

ieView("IEオブジェクト","表示させたいURLの文字列","IE表示・非表示の値[省略可]","Y位置の値[省略可]","X位置の値[省略可]","幅の値[省略可]","高さの値[省略可]")

ieCheckサブルーチンとは

ieCheckサブルーチン指定したInternetExplorerオブジェクトのWebページが完全に読み込まれるまで待機処理をするマクロです。

ieCheck("IEオブジェクト")

IEウィンドウとExcelウィンドウを横に並べるサンプルコード

IEウィンドウとExcelウィンドウを横に並べるマクロです。

Sub sample()

  Dim objIE As InternetExplorer
  Dim maxWidth As Integer, maxHeight As Integer, halfWidth As Integer
  Dim ieWidth As Integer, ieHeight As Integer
  
  'Excelウィンドウの位置・サイズ設定
  With Application
  
    'Excelウィンドウサイズ取得
    .WindowState = xlMaximized  '最大化
     maxWidth = .Width   'Excelウィンドウの幅(単位:ポイント)
     maxHeight = .Height  'Excelウィンドウの高さ(単位:ポイント)
        
    'Excelウィンドウサイズ設定
    .WindowState = xlNormal '通常
        
    '2分割した幅(単位:ポイント)
     halfWidth = Int(maxWidth / 2)

    'エクセルの位置・サイズ設定
    .Top = 0
    .Left = 0
    .Width = halfWidth
    .Height = maxHeight

  End With
    
  'ポイント→ピクセルに変換
  '単位:ポイント(1ポイント=1/72dpi)
  '単位:ピクセル(1ピクセル=1/96dpi)
  ieWidth = Int(CLng(halfWidth) * 96 / 72)   '単位:ピクセル
  ieHeight = Int(CLng(maxHeight) * 96 / 72)   '単位:ピクセル
   
  '位置・サイズを指定して本サイトをIE(InternetExplorer)で起動
  Call ieView(objIE, "http://www.vba-ie.net/", True, 0, ieWidth, ieWidth, ieHeight)

End Sub

実行結果

ExcelウィンドウとIEウィンドウが横並びで表示されます。

IEとエクセルを横に並べる

解説

Sub sample()

  Dim objIE As InternetExplorer
  Dim maxWidth As Integer, maxHeight As Integer, halfWidth As Integer
  Dim ieWidth As Integer, ieHeight As Integer

こちらはSubステートメント引数の設定がないsampleプロシージャになります。 まずは、変数宣言でメモリ領域を割り当てるDimステートメントを利用してオブジェクト変数objIEInternetExplorer型を、それ以外の変数には整数型(Integer)変数宣言しています。

  'Excelウィンドウの位置・サイズ設定
  With Application

    'Excelウィンドウサイズ取得
    .WindowState = xlMaximized  '最大化

こちらでは、1つのオブジェクトに対して処理をまとめるWithステートメントのオブジェクト名に「Application」を設定しています。こちらは指定したオブジェクトを返すApplicationプロパティを利用してApplicationオブジェクトを取得しています。Applicationプロパティに対象となるオブジェクトが指定されていない場合は、Excelアプリーション(Applicationオブジェクト)を返しますので、Withステートメント内の処理はExcelウィンドウの操作になります。

また、ApplicationプロパティとApplicationオブジェクトの違いが分からない方は「初心者向けExcel VBA入門」を学習するとこちらの内容がよく理解できますので確認しましょう。

続いてWithステートメント内の処理では、ApplicationオブジェクトのWindowStateプロパティ組み込み定数の「xlMaximized」が設定されています。「xlMaximized」はExcelウィンドウの最大化を表しますので、こちらを設定するとExcelウィンドウサイズが最大化されます。

     maxWidth = .Width   'Excelウィンドウの幅(単位:ポイント)
     maxHeight = .Height  'Excelウィンドウの高さ(単位:ポイント)

Excelウィンドウを最大化した状態がディスプレイのサイズになりますので、この状態でExcelウィンドウの幅と高さを取得します。この取得した値がディスプレイの幅と高さとなります。尚、変数maxWidthにはApplicationオブジェクトのWidthプロパティを利用してExcelウィンドウの幅を、変数maxHeightにはApplicationオブジェクトのHeightプロパティを利用してExcelウィンドウの高さ代入演算子で代入しています。こちらの単位はポイントになりますが、この単位が重要となってきますので覚えておきましょう。

    'Excelウィンドウサイズ設定
    .WindowState = xlNormal '通常

こちらでは再度、ApplicationオブジェクトのWindowStateプロパティを利用して、Excelウィンドウのサイズを標準に戻しています。標準に戻す理由については、前回も説明しましたが、Excelウィンドウを最大化した状態からはExcelウィンドウの位置やサイズを設定することができないためです。Excelウィンドウの位置やサイズを設定する場合は、位置やサイズを変更できる標準の状態に戻す必要があります。

    '2分割した幅(単位:ポイント)
    halfWidth = Int(maxWidth / 2)

こちらは変数halfWidthExcelウィンドウ最大幅の1/2の値を代入しています。今回はExcelウィンドウとIEウィンドウを横並びにするため、Excelウィンドウ最大幅の1/2がそれぞれのウィンドウの幅になります。

右辺の処理はExcelウィンドウ最大幅の値が格納されている変数maxWidthの値を、算術演算子を利用して2で割っています。こちらでは、Int関数を利用して整数値で取得してから変数halfWidthに代入しています。尚、変数halfWidthの値の単位は「ポイント」になります。

こちらも前回説明しましたが、変数halfWidth整数型(Integer)のため、「maxWidth / 2」が小数点を含む値であっても四捨五入されて丸められますが、Int関数の場合は小数点を切り捨てますので、場合によっては得られる値が異なります。

今回は、数値の結果を求めているわけではないのでどちらでも構いませんが、数値を結果として求める場合は理解したうえでVBA関数を利用するようにしましょう。今回Int関数を利用した理由は切り捨てられた値の方が確実にディスプレイ内に収まるであろう程度の話で利用しています。

    'エクセルの位置・サイズ設定
    .Top = 0
    .Left = 0
    .Width = halfWidth
    .Height = maxHeight

  End With

次に、Applicationオブジェクトの「Topプロパティ」「Leftプロパティ」「Widthプロパティ」「Heightプロパティ」に値を設定しています。Excelウィンドウの幅に先ほど取得した変数halfWidthの値を、Excelウィンドウの高さに最大化状態で取得したmaxHeightの値を設定しています。これによりディスプレイを2分割にした左側一面にExcelウィンドウが表示されます。

何度も言いますが、設定されている値の単位は「ポイント」になります。

  'ポイント→ピクセルに変換
  '単位:ポイント(1ポイント=1/72dpi)
  '単位:ピクセル(1ピクセル=1/96dpi)
  ieWidth = Int(CLng(halfWidth) * 96 / 72)   '単位:ピクセル
  ieHeight = Int(CLng(maxHeight) * 96 / 72)   '単位:ピクセル

こちらは、今回の肝となる処理になります。ここまでApplicationオブジェクトのプロパティで取得した値を基準に設定してきましたが、冒頭から説明しているようにExcelウィンドウで利用されている値の単位は「ポイント」になります。それに対して、これから設定するIEウィンドウで利用される値の単位は「ピクセル」になります。

このようにウィンドウによって設定する値の単位が異なるため同じ単位になるように変換する必要があります。今回は、先に取得した「ポイント」の値をIEウィンドウで利用される「ピクセル」へ変換します。

ポイントからピクセルに変換する場合は「96/72」を掛けることで変換できますので、変数halfWidth,maxHeightに「96/72」を掛けピクセルに変換しています。

ピクセルに変換した値はInt関数を利用して整数値を変数ieWidth,ieHeightに代入していますが、その前に整数型(Integer)に変換するCLng関数を利用して変数halfWidth,maxHeight整数型(Integer)から長整数型(Long)へ変換しています。

こちらの処理は、オーバーフローによる実行時エラーを回避するためのものです。オーバーフローはデータ型に格納できる範囲を超えたときに発生するエラーになります。代入演算子で値を代入する場合は右辺の計算式から値を確定して代入するのですが、こちらの計算式の途中にオーバーフローが発生します。

以下はウォッチウィンドウを利用してデータ型と値を確認していますので、こちらで説明していきます。

エクセルVBAのオーバーフローの検証 

変数は今回と同じ変数名としています。変数halfWidthの値を「800」に設置して処理をするとウォッチウィンドウで「halfWidth*96」の値が「オーバーフローしました。」となっています。変数halfWidthの値は「800」ですので、本来であれば800×96で「76800」になりますが、データ型を見ると整数型(Integer)になっています。整数型(Integer)の範囲は「-32,768~32,767」で「76800」はその範囲を超えているためオーバーフローしたということになります。

なぜ整数型(Integer)で設定されたかというと「halfWidth」と「96」のデータ型は共に整数型(Integer)に設定されています。つまりこちらの計算式は「整数型(Integer)×整数型(Integer)」の計算式だったので整数型(Integer)として認識されでいたことになります。

次に、CLng関数を利用した「CLng(halfWidth) * 96」を見ると「値が76800の長整数型(Long)で正常に処理されています。こちらの計算式は「長整数型(Long)×整数型(Integer)」で許容範囲の大きい長整数型(Long)で処理されたことになります。

このように1つ1つの値が許容範囲内であったとしても計算中の値が許容範囲を超えてしまうとオーバーフローになってしまいます。今回は、CLng関数を利用してオーバーフローを回避しましたが、許容範囲を超えなければよいので「halfWidth / 72 * 96」で対応することも可能です。

halfWidth * 96 / 72」と「halfWidth / 72 * 96」はどちらも計算すると同じ結果ですが、処理としては「halfWidth / 72 * 96」の方が正常に処理されます。理由としては、先に「halfWidth / 72」の除算処理をすることで、整数型(Integer)の許容範囲を超えないようにしているからです。ただ、計算の経過を考えて計算式を作成するよりはVBA関数を利用して処理した方が簡単に済みます。

計算式に限らず、変数や引数についても間違った値を代入するとエラーが発生しますので、常にデータ型を意識して処理するようにしましょう。

    '位置・サイズを指定して本サイトをIE(InternetExplorer)で起動
    Call ieView(objIE, "http://www.vba-ie.net/", , 0, ieWidth, ieWidth, ieHeight)

End Sub

こちらはCallステートメントを利用してieViewサブルーチンを呼び出しています。第一引数にはオブジェクト変数の「objIE」を、第二引数には表示させるURLの「http://www.vba-ie.net/」を、第三引数は省略して設定しています。

次に第四~第七引数にはIEウィンドウの位置とサイズの値が設定されています。IEウィンドウの位置はディスプレイを2分割にした右側に配置されますので、変数halfWidthの値をピクセルに変換した「変数ieWidth」を設定しています。IEウィンドウのサイズ設定も同様にピクセルに変換した「変数ieWidth,ieHeight」を設定し、右側にIEウィンドウを表示させます。これで、ExcelウィンドウとIEウィンドウを横並びにすることができました。

最後は、Endステートメントを利用してプロシージャを終了させます。こちらの処理は個人的にEC-CUBEやWordPressなど管理画面を自動操作する場合によく利用するので、こちらもサブルーチン化させてみたいと思います。

IEウィンドウとExcelウィンドウを横に並べるサブルーチン「iePosition」の解説

こちらは、IEウィンドウとExcelウィンドウを横に並べるサブルーチンになります。

Sub iePosition(objIE As InternetExplorer, _
               winWidth As Integer, _
               layout As String)

  Dim maxWidth As Integer, maxHeight As Integer

  With Application    '単位:ポイント(1ポイント=1/72dpi)

   'Excelウィンドウサイズ取得
    .WindowState = xlMaximized  '最大化
    maxWidth = .Width
    maxHeight = .Height
        
    'Excelウィンドウサイズ設定
    .WindowState = xlNormal '通常
    
    '位置・サイズ指定
    .Top = 0

    If layout = "左" Then
      .Left = 0
    ElseIf layout = "右" Then
      .Left = maxWidth - winWidth
    End If

    .Width = winWidth
    .Height = maxHeight
    
  End With
    
  With objIE  '単位:ピクセル(1ピクセル=1/96dpi)

    'IEウィンドウサイズ設定
    .Top = 0

    If layout = "左" Then
      .Left = Int(CLng(winWidth) * 96 / 72)
    ElseIf layout = "右" Then
      .Left = 0
    End If
        
    .Width = Int(CLng(maxWidth - winWidth) * 96 / 72)
    .Height = Int(CLng(maxHeight) * 96 / 72)
        
  End With

End Sub

それでは、VBAコードを1つずつ説明していきます。

Sub iePosition(objIE As InternetExplorer, _
               winWidth As Integer, _
               layout As String)

こちらはSubステートメントに引数を3つ設定しているiePositionサブルーチンになります。こちらの構文と引数の内容は以下になります。尚、引数はすべて参照渡しで渡されます。

iePosition("IEオブジェクト","Excelウィンドウの幅サイズ","Excelウィンドウ配置位置の文字列")
構文iePosition(objIE,winWidth,layout)
引数名データ型内容値の事例初期値省略
objIEInternetExplorerInternetExplorerオブジェクトを指定します。objIE,objIE2×
winWidthIntegerExcelウィンドウの幅サイズを指定します。400,800×
layoutStringExcelウィンドウ配置位置を「左」「右」の文字列で指定します。「左」を設定した場合、左側にExcelウィンドウが配置されます。"右","左"×

引数objIEは必須項目で、指定したURLを表示させるInternetExplorerオブジェクトを指定します。InternetExplorerオブジェクトを引数に設定することで、複数のオブジェクトを処理することができます。次の引数winWidthも必須項目で、Excelウィンドウの幅サイズを設定します。そして、引数layoutも必須項目で、Excelウィンドウ配置位置を「左」「右」の文字列で指定します。「左」を設定した場合、左側にExcelウィンドウが配置されます。

  Dim maxWidth As Integer, maxHeight As Integer

まずは、Dimステートメントを利用して変数maxWidth,maxHeight整数型(Integer)を変数宣言しています。

  With Application    '単位:ポイント(1ポイント=1/72dpi)

   'Excelウィンドウサイズ取得
    .WindowState = xlMaximized  '最大化
    maxWidth = .Width
    maxHeight = .Height
        
    'Excelウィンドウサイズ設定
    .WindowState = xlNormal '通常

こちらでは、Withステートメントのオブジェクト名に「Application」を設定しています。こちらはApplicationプロパティを利用してApplicationオブジェクトを取得しています。対象となるオブジェクトが指定されない場合は、Excelアプリーション(Applicationオブジェクト)を返しますので、Withステートメント内の処理はExcelウィンドウの操作になります。

ApplicationオブジェクトのWindowStateプロパティに「xlMaximized」が設定されています。「xlMaximized」はExcelウィンドウの最大化を表しますので、こちらを設定するとExcelウィンドウサイズが最大化されます。

Excelウィンドウの最大化状態からExcelウィンドウの幅と高さを取得したら変数maxWidthExcelウィンドウの幅を、変数maxHeightExcelウィンドウの高さを代入します。尚、単位はポイントになります。

そしてApplicationオブジェクトのWindowStateプロパティを利用して、Excelウィンドウのサイズを標準に戻します。これにより、Excelウィンドウの位置やサイズを変更することができます。

    '位置・サイズ指定
    .Top = 0

    If layout = "左" Then
      .Left = 0
    ElseIf layout = "右" Then
      .Left = maxWidth - winWidth
    End If

    .Width = winWidth
    .Height = maxHeight
    
  End With

こちらでは、Excelウィンドウの位置とサイズを設定しています。Applicationオブジェクトの「Topプロパティ」「Leftプロパティ」「Widthプロパティ」「Heightプロパティ」の値にそれぞれ設定していますが、Leftプロパティについては、条件分岐ができるIf~Then~Elseステートメントを利用して引数layoutが「左」の場合は左側の0の位置に配置し、「右」の場合はディスプレイ幅の変数maxWidthからExcelウィンドウ幅の引数winWidthを引いた値の位置に配置されます。

Excelウィンドウのサイズについては、引数winWidthの値をExcelウィンドウの幅にディスプレイ高さの変数maxHeightの値をExcelウィンドウの高さに設定しています。こちらの値の単位はすべて「ポイント」になります。

  With objIE  '単位:ピクセル(1ピクセル=1/96dpi)

    'IEウィンドウサイズ設定
    .Top = 0


    If layout = "左" Then
      .Left = Int(CLng(winWidth) * 96 / 72)

    ElseIf layout = "右" Then
      .Left = 0

    End If
        
    .Width = Int(CLng(maxWidth - winWidth) * 96 / 72)

    .Height = Int(CLng(maxHeight) * 96 / 72)

        
  End With

End Sub

こちらでは、Withステートメントのオブジェクト名に「objIE」を設定しています。こちらはInternetExplorerオブジェクトになりますので、こちらではIEウィンドウの操作処理になります。

Withステートメント内では、IEウィンドウの位置とサイズを設定しています。InternetExplorerオブジェクトの「Topプロパティ」「Leftプロパティ」「Widthプロパティ」「Heightプロパティ」の値にそれぞれ設定していますが、こちらもLeftプロパティについては、If~Then~Elseステートメントを利用して引数layoutが「左」の場合はExcelウィンドウ幅の引数winWidthをピクセル変換した位置に配置し、「右」の場合は左側の0の位置に配置されます。

IEウィンドウのサイズについては、変数maxWidthから引数winWidthを引いた値をピクセル変換してIEウィンドウの幅に、ディスプレイ高さの変数maxHeightの値をピクセル変換してIEウィンドウの高さに設定しています。こちらの値の単位はすべて「ピクセル」になります。

これで、自由に左右どちらでもサイズを変更して並べて表示させることができるようになりました。それでは、実際にiePositionサブルーチンを利用したサンプルコードを見ていきましょう。

「iePosition」を利用してIEウィンドウ→Excelウィンドウの順に横に並べるサンプルコード

Sub sample()

  '本サイトをIE(InternetExplorer)で起動
  Call ieView(objIE, "http://www.vba-ie.net/")

 Call iePosition(objIE, 500, "右")

End Sub

実行結果

IEとエクセルの位置・サイズを設定1

解説

Sub sample()

  '本サイトをIE(InternetExplorer)で起動
  Call ieView(objIE, "http://www.vba-ie.net/")

まず、Callステートメントを利用してieViewサブルーチンを呼び出しています。第一引数にはオブジェクト変数の「objIE」を第二引数には表示させるURLの「http://www.vba-ie.net/」を設定しています。これにより本サイトがInternetExplorerで表示されます。

 Call iePosition(objIE, 500, "右")

End Sub

次に、こちらもCallステートメントを利用してiePositionサブルーチンを呼び出しています。第一引数にはオブジェクト変数の「objIE」を、第二引数にはExcelウィンドウの幅「500」を、第三引数にはExcelウィンドウの配置位置の「」を設定しています。これにより幅500ポイントのExcelウィンドウを右側にIEウィンドウを左側に並べて表示します。

「iePosition」を利用してExcelウィンドウ→IEウィンドウの順に横に並べるサンプルコード

Sub sample2()

  '本サイトを起動
  Call ieView(objIE, "http://www.vba-ie.net/")

 Call iePosition(objIE, 800, "左")

End Sub

実行結果

IEとエクセルの位置・サイズを設定2

解説

こちらはiePositionサブルーチンの第一引数にオブジェクト変数の「objIE」を、第二引数にはExcelウィンドウの幅の「800」を、第三引数にはExcelウィンドウの配置位置の「」を設定しています。これにより幅800ポイントのExcelウィンドウを左側にIEウィンドウを右側に並べて表示します。

まとめ

今回は、単位を中心にIEウィンドウとExcelウィンドウを並べる方法について解説しました。何気なく利用している値がどのような単位で表示されているのかを確認することは非常に大切なことですので、しっかり押さえておきましょう。

次回は複数のIEウィンドウを横並び(縦並び)に設定で紹介したFullScreenプロパティを利用してIEウィンドウを全画面表示(フルスクリーン)にする方法についての解説します。

次の記事: エクセルVBAでIEウィンドウを全画面表示(フルスクリーン)にする >>

Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

  • このエントリーをはてなブックマークに追加
VBAのIE制御についてのQ&A掲示板

↑エクセルVBAのIE(InternetExplorer)操作で分からない事があればこちらの掲示板よりご質問ください^^

ExcelのVBA初心者入門

↑こちらはExcelのVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

VBAでIE(InternetExplorer)制御の準備

【ダウンロード】IE操作に便利なツール

こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。

スポンサー リンク

IEオブジェクトのメソッド・プロパティ

こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。

IE操作に利用されているVBA関数

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。

スポンサー リンク

IE操作に利用されているステートメント

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。

IE(InternetExplorer)制御のVBAコード

こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。