sironekotoroの日記

Perl で楽をしたい

Excel VBAスタンダード 公式テキスト 9章 UserForm

9-1 UserFormとは

  • VBAで自由に設計できるダイアログボックス
  • 設計、コーディング、表示という3つの作業を行う

設計

  • 挿入 -> ユーザーフォーム

コーディング

  • 個々の部品、ボタンごとにプロシージャを記述する

表示

  • いつものF5キーで表示
  • UserForm1.show vbModelessとすると、UserFormを表示している状態でもセルの操作が可能になる
  • 引数を付けないか、明示的にvbModalとするとUserForm表示時にワークシートやセルの操作が出来なくなる

9-2 よく使うコントロール

  • ラベル
    • 文字列を表示するためのコントロール
    • Label.Caption = 変数とする事で、ラベルの中身を変える事が出来る
  • コマンドボタン
    • ユーザーがクリックする事で何らかの動作を実行させるボタン
    • プロパティウィンドウのCaptionの文字列をかえると、ボタンの表面の文字がかわる
  • テキストボックス
    • プロパティウィンドウのMultilinetrueにする事で複数行の入力が可能になる
  • リストボックス
    • AddItemメソッドでリストボックスにデータを追加する
    • 選択したデータはListBoxコントロールのTextプロパティで取得
    • 何番目のデータが選択されているかはListIndexで取得
  • コンボボックス
    • リストボックスとだいたい同じ
  • チェックボックス
    • TrueFalseで返す
    • 数が多くなってきたら、Controlsコレクションでコードの簡素化が可能
  • オプションボタン
  • イメージ
    • 画像を表示するコントロール
    • PictureSizeModeプロパティで拡大縮小、縦横比の調整を行う

9-3 UserFormのイベント

  • Initializeイベント
    • UserFormの表示前に実行される
  • QueryCloseイベント
    • UserFormを閉じようとしたときに発生する
    • ウィンドウ右上の「閉じるボタン」や、Unloadボタンで閉じたときの挙動を設定できる