| |
|
|
Sample Macro 画面制御 [応用型] |
 |
|
|
|
1) ウィンドウの大きさを設定する |
 |
 |
'=========================================================================================
Private Sub Excelアプリケーションウィンドウを画面の下半分に表示する()
With Application
.WindowState = xlMaximized '※1 ウィンドウの状態
幅 = .Width 'アプリケーションウィンドウの幅
高さ = .Height / 2 'アプリケーションウィンドウの高さの半分
.WindowState = xlNormal
.Left = 0 '画面左端からの距離
.Top = 高さ '画面上端からの距離
.Width = 幅 'ウィンドウの高さ
.Height = 高さ 'ウィンドウの幅
End With
End Sub
'=========================================================================================
Private Sub アクティブウィンドウの大きさを変更できないようにする()
With ActiveWindow
.WindowState = xlNormal
.Top = 1 'ウィンドウ上端から使用可能領域上端までの距離
.Left = 1 'クライアント領域左端からウィンドウ左端までの距離
.Height = 480 '(480は例)
.Width = 640 '(640は例)
.EnableResize = False '※2 サイズ変更を不可能に
End With
' ActiveWindow.EnableResize = True '※2 サイズ変更を可能に
End Sub
'-----------------------------------------------------------------------------------------
Private Sub アクティブウィンドウを可能な限り大きく表示する()
With ActiveWindow
.WindowState = xlNormal
.Top = 1
.Left = 1
.Height = Application.UsableHeight
.Width = Application.UsableWidth
End With
' ActiveWindow.WindowState = xlMaximized '最大化
End Sub
'=========================================================================================
<コメント>
※1 xlMaximized:最大化、xlMinimized:最小化、xlNormal:フロート表示
※2 False:変更不可能、True:変更可能
|
2) CommandBarsコレクションを取得する |
 |
 |
'=========================================================================================
Sub CommandBarsコレクションを取得する()
Worksheets("Sheet1").Activate
Cells.Clear
Cells(1, 1) = "インデックス番号"
Cells(1, 2) = "名前"
Cells(1, 3) = "ローカル名"
Cells(1, 4) = "表示状態"
行 = 2
For Each cbar In CommandBars 'コレクションの各要素に対して反復処理する
Cells(行, 1) = cbar.Index 'メニューバーとツールバーのインデックス番号
Cells(行, 2) = cbar.Name '名前
Cells(行, 3) = cbar.NameLocal 'ローカル名
Cells(行, 4) = cbar.Visible '表示されているかどうか
行 = 行 + 1
Next '繰り返す
Columns("A:D").EntireColumn.AutoFit
Range("A1").Select
End Sub
'=========================================================================================
|
3) 標準ツールバーのコントロールのラベルとIDを取得 |
 |
 |
'=========================================================================================
Sub 標準ツールバーのコントロールのラベルとIDを取得する()
Worksheets("Sheet2").Activate
i = 1
For Each 各コントロール In CommandBars("Standard").Controls '※1
Cells(i, 1) = 各コントロール.Caption 'ラベル
Cells(i, 2) = CStr(各コントロール.ID) 'ID
i = i + 1
Next
End Sub
'=========================================================================================
<コメント>
※1 書式設定ツールバーなら "Formatting"
|
4) 書式設定ツールバーからフォント名を取得する |
 |
 |
'=========================================================================================
Sub 書式設定ツールバーのフォントコントロールのリストからフォント名を取得する()
Worksheets("Sheet3").Activate
With Application.CommandBars("Formatting") '書式設定ツールバー
.Reset 'リセットする
With .Controls(1) 'フォント(&F)コントロール
For 行 = 1 To .ListCount
Cells(行, 1) = .List(行) 'フォント名
Next
End With
End With
End Sub
'=========================================================================================
|