マクロでのプログラムウィンドウサイズの設定(Microsoft Excel)
Christopherは、マクロ内で、Excelプログラムウィンドウのサイズを設定する必要があります。彼はプログラムウィンドウ内でワークシートのサイズを設定する方法を知っていますが、それは彼が必要としているものではありません。彼は、プログラムウィンドウの全体的なサイズをどのように設定できるのか、さらにユーザーの実際の画面サイズよりも大きく設定しないようにする方法を考えています。
これは、マクロで使用するオブジェクトとプロパティがわかっている場合は、かなり簡単に実行できます。使用するオブジェクトは、Excelアプリケーションを参照するApplicationオブジェクトです。関連するプロパティは次のとおりです。
Top。*アプリケーションウィンドウの上端を配置する画面のピクセル。
左。*アプリケーションウィンドウの左端を配置する画面のピクセル。
幅。*アプリケーションウィンドウの幅(ピクセル単位)。
高さ。*アプリケーションウィンドウの高さ(ピクセル単位)。
これらを念頭に置いて、次の方法でプログラムウィンドウの位置とサイズを設定できます。
Sub SetWindowSize1() Application.WindowState = xlNormal Application.Top = 25 Application.Left = 25 Application.Width = 300 Application.Height = 200 End Sub
このマクロは、プログラムウィンドウの左上隅を画面の上部から25ピクセル、画面の左側から25ピクセルに指定します。次に、プログラムウィンドウを幅300ピクセル、高さ200ピクセルに設定します。また、マクロの最初のWindowStateプロパティの設定にも注意してください。これにより、ウィンドウが「通常」の状態に設定されます。つまり、最小化よりも大きく、最大化よりも小さいサイズにサイズ変更できます。 (Excelプログラムウィンドウで画面全体を表示する場合は、WindowStateプロパティをxlMaximizedに設定し、マクロの残りの設定を忘れてください。)
もちろん、このマクロはExcelプログラムウィンドウをかなり小さく設定します。
おそらく、大きくしたいのですが、ユーザーの画面のサイズより大きくしたくないでしょう。ユーザーの画面のサイズを把握する最も簡単な方法は、Excelアプリケーションウィンドウを最大化してから、[幅]プロパティと[高さ]プロパティを確認することです。次に、画面の左上隅を配置する場所に基づいてこれらの数値を調整し、それに応じて調整できます。
例として、プログラムウィンドウを25、50から開始し、1000 x500にしたいとします。次のようなコードを使用できます。
Sub SetWindowSize2() Dim iMaxWidth As Integer Dim iMaxHeight As Integer Dim iStartX As Integer Dim iStartY As Integer Dim iDesiredWidth As Integer Dim iDesiredHeight As Integer iStartX = 50 ' Distance from left iStartY = 25 ' Distance from top iDesiredWidth = 1000 iDesiredHeight = 500 With Application .WindowState = xlMaximized iMaxWidth = Application.Width iMaxHeight = Application.Height ' Adjust for starting point iMaxWidth = iMaxWidth - iStartX iMaxHeight = iMaxHeight - iStartY If iDesiredWidth > iMaxWidth Then iDesiredWidth = iMaxWidth End If If iDesiredHeight > iMaxHeight Then iDesiredHeight = iMaxHeight End If .WindowState = xlNormal .Top = iStartY .Left = iStartX .Width = iDesiredWidth .Height = iDesiredHeight End With End Sub
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(10938)は、Microsoft Excel 97、2000、2002、および2003に適用されます。
Excel(Excel 2007以降)のリボンインターフェイスに関するこのヒントのバージョンは、次の場所にあります: