Page 562 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼アドインについて… 学生 03/1/17(金) 13:55 ┗Re:アドインについて… 角田 03/1/17(金) 14:23 ─────────────────────────────────────── ■題名 : アドインについて… ■名前 : 学生 ■日付 : 03/1/17(金) 13:55 -------------------------------------------------------------------------
VBAで作ったFormをアドイン化したく,ThisWorkboolのIsAddinをtrueにし拡張しを.xlaにしました.それをExcelのメニューの[ツール]->[アドイン]->[参照]で [アドイン]内に表示させ,チェックをつけることはできたのですが,Formを起動させることができません.ThisWorkBookのコードで Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) UserForm1.Show End Sub としてみたのですが,だめでした,どうやってアドインを起動するのか教えてもらいたいです.そして起動の仕方なのですが,ゆくゆくは右クリックのポップアップメニューにそれを加えたいと考えております. よろしくお願いします. 環境…Win2000NT | Excle2000 |
こんにちは。 VBAからアドインを使う場合は、VBEの[ツール→参照設定]で指定します。 アドインブックの『標準モジュール』に Public Sub DispUserForm() UserForm1.Show End Sub というのを用意して、利用側ブックでは Call DispUserForm() という風にしてフォームを呼び出すパターンになります。 呼び出し時にフォームの設定情報を指定したい場合は、 (1)サブルーチンに引数を定義 (2)アドインの標準モジュールの宣言セクション(モジュールの先頭)に その引数データをUserFormに引き継ぐ為のPublic変数を定義 (3)[DispUserForm]で、引数のデータをPublic変数に代入 (4)UserForm1の[Initialize]イベントで、Public変数の内容にしたがって フォームの設定を変える (5)UserForm1から値を返す場合は、UnLoadする前にPublic変数に戻すデータ を代入 (6)[DispUserForm]で、Showメソッドの次で、Public変数に設定された戻すデータ を引数(ByRef)に代入 (7)利用側ブックで、Call命令の次で、引数から戻されたデータを取り出し 以降の処理に使う。 |