過去ログ

                                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
 ───────────────────────────────────────  ■題名 : Re:アドインについて…  ■名前 : 角田  ■日付 : 03/1/17(金) 14:23  ■Web : http://www.h3.dion.ne.jp/~sakatsu/index.htm  -------------------------------------------------------------------------
   こんにちは。
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命令の次で、引数から戻されたデータを取り出し
  以降の処理に使う。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 562