2011年4月28日木曜日

フォームから別のフォームを開く

下記二つのフォーム、「Dialog1」、「Dialog2」を用意する :
  
  
  
今回は、「Dialog1」フォームの「Dialog2を開く」ボタンをクリックすると「Dialog2」
フォームが開くようにしたい。それを実現する為の手順は下記の通りである :
  
1. 二つのフォーム「Dialog1」、「Dialog2」を作成する。作成手順は「フォーム
   の新規作成」の項を参照。
  
2. 「Dialog2」フォームを開くコードを作成する。「フォームを開く」の項と同様
   だが、念のため下記にコードを記す :
  
Sub ExampleOpenDialog2()
       Dim objDialog2 As Object
       '
       'フォームをメモリに読み込む
       DialogLibraries.LoadLibrary("Standard")
       objDialog2 = CreateUnoDialog(DialogLibraries.Standard.Dialog2)
       '
       'フォーム「Dialog2」を表示する
       objDialog2.execute()
End Sub
  
3. 「Dialog1」フォームのデザイン画面を開き、「Dialog2を開く」ボタンを選択し
   た後右クリックし、「プロパティ」を選択する
    
4. 「「プロパティー」ウィンドウが開いたら「イベント」タブを選択し、「実行時」
   の部分の「...」ボタンをクリックする。
  
5. 「アクションの割り当て」ウィンドウの「実行時」イベントの行が選択されて
   いることを確認し、「マクロ」ボタンをクリックする。
  
6. 「マクロセレクター」ウィンドウの「マクロ名」一覧より、2. で作成した
   「ExampleOpenDialog2」を選択し「OK」ボタンをクリックする。
  
7. 再び「アクションの割り当て」ウィンドウに戻り、選択したマクロが「割り
   当てられたアクション」列に表示されていることを確認し、「OK」ボタン
   をクリックする。
  
以上の手順により、「Dialog1」フォームの「Dialog2を開く」ボタンをクリック
する (=「クリック」イベントが発生する) とDialog2が開くようになる。

Calcの場合、Excel のように各イベント毎にプロシージャを書くのではなく、
あらかじめ作成してあるマクロをあとからイベントに関連付ける (割り当て
る)。これが、Excel と大きく異なる点である。

0 件のコメント:

コメントを投稿