戻る    次へ

EXCELテーブルとVBA2htmlのアイコン画像VBA Griffin編

【5】ユーザフォームを最小化する、最大化する、元のサイズに戻す

折角、ユーザフォームに最大化最小化ボタンを付けたので、最小化、最大化、元のサイズに戻すを プロシージャを作成して制御してみました。
'以下を標準モジュールに記述する
Option Explicit

'■ユーザフォーム最小化
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
 (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
 
Const SW_SHOWNORMAL = 1
Const SW_SHOWMINIMIZED = 2
Const SW_SHOWMAXIMIZED = 3
Const SC_MOVE = &HF010&

Sub window_show(a_uf As String, a_mod As String)
'a_uf:フォームのキャプション名</font><br>
'a_mod:最小化はmin,最大化はmax,元のサイズに戻すはnor</font><br>
On Error GoTo ErrProc
  Dim hwnd As Long
  Dim w_mod As Long
  
  hwnd = FindWindow("ThunderDFrame", a_uf)  'ユーザーフォームのハンドルを取得する(captinを指定)
  Select Case a_mod
    Case "nor"
      w_mod = SW_SHOWNORMAL
    Case "min"
      w_mod = SW_SHOWMINIMIZED
    Case "max"
      w_mod = SW_SHOWMAXIMIZED
    Case Else
  End Select
  
  ShowWindow hwnd, w_mod     'ユーザーフォーム状態変更

  Exit Sub
ErrProc:
  MsgBox "Error番号:" & Err.Number & vbNewLine & _
      "window_show" & Err.Source & vbNewLine & _
      "Error内容:" & Err.Description, 16, "管理者連絡"
End Sub


'以下を対象とするユーザフォームに記述する
window_show(Me.Caption, "min")     '最小化する

  戻る    次へ

掲載情報

2009.1.20にフリーソフトであるGriffinEXCELテーブルとVBA2htmlが紹介された本が発売されました。この本のP99にHTML関連として紹介されています。