• ベストアンサー

自作アドインの使い方

Wendy02の回答

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

こんばんは。 アドインは、本格的なものは、なかなか難しいのですが、簡単なものですと、通常、ツールバーに入れてあげるようにします。 >「ふりわけ.xla」ファイルはPCの >どこにおいてあっても大丈夫でしょうか? アドインの基本的なことなのですが……。公開アドインを出している人でも、ここらがいい加減の人もいますが、私などは、配布する場合は、インストーラーを使います。 これは、バージョンによっても変わってきます。 C:\Documents and Settings\[User ID]\Application Data\Microsoft\AddIns\ 必ずしも、以下が正しいわけではありませんが、例えば、フローティングバーを作る場合、このようなものになります。Office 2007 では、以下は、アドインというメニューの中に入ってしまいます。 ただ、私個人は、フローティングバーは好きではありませんが、アドインで、そういう作り方をする人が多いです。どんなスタイルでも、Temporary 属性は、不可欠ですから、忘れないようにしてください。 Office 2007 では、以下のコードは、あまりお勧めできません。 Sub FloatingMenu() Dim myCBCtrl As CommandBar Dim my_Ctrl As CommandBarControl  On Error Resume Next   CommandBars("MyMacro").Delete  On Error GoTo 0    Set myCBCtrl = CommandBars.Add(Name:="MyMacro", _  Position:=msoBarFloating, _  MenuBar:=False, _  Temporary:=True)  Set my_Ctrl = myCBCtrl.Controls.Add(Type:=msoControlButton)  With my_Ctrl   .Caption = "新マクロ1"   .OnAction = "UserMarco"  End With  myCBCtrl.Visible = True End Sub Public Sub UserMarco()  MsgBox Time End Sub

bucch
質問者

お礼

ありがとうございます すみません、私にはハードルが高すぎる無いようです。 理解できなくてすみません。 まずはあらかじめ「ふりわけ.xla」を別ロケの2名にメールで送って、 ツール → アドイン → 「ふりわけ.xla」に「レ」を やってもうこととします。 そして私が二人に「sheet1の全国の名簿」に相当するファイルを 毎月送る時に、ボタン代わりのオートシェイプをsheet1に作って おこうかと考えています。そのつどVBE画面を開いて、コードを こぴぺする手間だけは省きたいのです。 私は素人ゆえ、この方法より難しいことは無理かもしれません。 ひとまず、コレでやってみようと思います。

関連するQ&A

  • Excelから自作アドインを完全に削除したい

     初めてアドイン(xlaファイル)を作ったのですが、いったん組み込んでしまうと、アドインから削除できなくて困っています。  「ツール」→「アドイン」で、チェックボックスを外すと機能は使えなくなるのですが、アドインの一覧から消すことができないのです。  消し方をご教授ください。よろしくお願いします。

  • 自作アドインのFunctionプロシージャの戻り値を取得

    ExcelVBAのコード内で、自作アドインのFunctionプロシージャを呼び出して戻り値を取得したいのですが、方法がわかりません。 例えば、AddinTest.xlaにPublic Function FuncTest()があり、その戻り値が"Test"だとして、他のExcelファイルのマクロ内で、Msgboxで戻り値"Test"を表示するなど。。。 アドイン内のSubプロシージャを呼び出すには、Application.Run macro:="AddinTest.xla!~"と記述すれば呼び出せることはわかったんですが、Functionプロシージャの戻り値を取得することができないのです。 よろしくご教授ください。

  • Excel:アドイン自作の方法は?

    Excelのアドインを自作したいのですが、 どのようするのでしょうか? マクロの作成方法、VBAについてはある程度知識があります。 (何度かマクロを作成したことはあります) アドインは結局VBAで組まれたもの、とネット上で見かけました。 しかし、具体的な作り方分かりません。 特に、「ツール(T)」-「アドイン(I)」で組み込む状態の*.x?a,*.xllファイルの作成方法。 アドインの作成方法について紹介してあるサイト、書籍などがありましたら教えていただけますか? 【補足】 OS:WindowsXP SP2 Excel:Excel2000

  • アドインの組込みとブックが開くタイミングがずれる

    全てのブックで使用するアドインを作成しました(AddIn.xlaとします)。 Excelの起動時にアドインが自動で組み込まれるように、アドインファイルをXLSTARフォルダに入れました。 あるブック(Book.xlsとします)の Workbook_Openイベントで AddIn.xlaに含まれるプロシージャを実行する時に、次のような問題が出ました。 エクスプローラから Book.xls をダブルクリックして開くと、AddIn.xlaに含まれるプロシージャを実行するところでエラーが出ます。 Excelを起動して、メニューバーから Book.xls を開くと、問題ありません。 この症状は、PCによって出るものと出ないものがあります。 エラーの状況から見ると、AddIn,xla が組み込まれるタイミングと Book.xla の Workbook_Openイベントが実行されるタイミングにずれがあるように見えます。 AddIn.xla が組み込まれるまで Book.xls を開かないようにすることは可能でしょうか。

  • アドインファイルの作り方

    マクロを作成して、人に配ろうかと考えています。ツールバーにコマンド追加してマクロを登録しました。ユーザー設定で、ツールバーの添付で保存(xls)して、別にアドインファイル(xla)で保存しました。別のパソコンにアドインすると、Personal.xlsにマクロが見つかりません。って出てきます。自分のパソコンにもどって、アドインし、コマンドを実行すると、元のxlsファイルが自動的に読み込まれて、実行できてしまいます。ユーザー設定を開きマクロの登録を見てみると、元のxlsファイルが関連付けられてしまっています。(因みに、マクロは、Private としています。 どうにか?アドインファイルだけで完結したいのですが、どのようにすればいいのでしょうか?教えてください。宜しくお願い致します。

  • Excel2003でアドインの更新ができない

    お世話になります。 環境は、WindowsXp Sp3 + Excel2003 Sp3 です。 VBAでプログラムを作成し"sss.xla"で保存します。 この"sss.xla"を"C:\Documents and Settings\<USER>\Application Data\Microsoft\AddIns"へ入れます。 Excelを起動しツール→アドインを開くと作成したアドインが表示されているのでチェックします。 また、チェックをはずすとアドインが無効になります。 アドイン(マクロ)の起動には「CTRL+SHIFT+J」を関数(サブルーチン)「sss」へ割り当てています。 ここまでは問題なく動作しています。 "sss.xla"を修正します(たとえば、足し算していたものが間違っていて掛け算に修正する等です)。 この修正した"sss.xla"を上記のフォルダーへ上書きコピーします。 Excelを起動してアドインを動かしてみると修正前のものが動いてしまいます。 (セルに色をつけたりもしていますので明らかに修正前のものが動いています。) インターネットでいろいろ探してみたところ、 「"C:\Program Files\Microsoft Office\OFFICE11\Library"へ"sss.xla"を入れると大丈夫」 との情報があったので試してみましたがだめでした。 アドインを無効にし"・・・\AddIns"から削除して"・・・\Library"へ入れています。 "sss.xla"本体とは別にどこかにキャッシュされたりしているのかとも思い、Cドライブを"sss.xla"で全検索したり、レジストリーを検索したりしましたがそれらしいものは見つかりませんでした。 (ファイルそのものは削除しているので、どこかにキャッシュされているのだろうと思いました。) さらに修正した"sss.xla"を"sss101.xla"としてアドイン登録しても動くのは"sss.xla"が動いてしまいます。 どうすれば修正した"sss.xla"を動かすことができるようになるでしょうか。 よろしくお願いします。

  • Excelのアドイン

    Excelのアドインを作成しています。 特定のファイルにだけ適用したいため、そのファイルのWorkbookのopenイベントでAddin.Installed = Trueにするようにしています。 Addin.Installed = Falseにするタイミングをアドイン側(xlaファイル)のWorkbookのcloseイベントに入れてしまうと Addin.Installed = Falseにした時点で自分自身(xlaのWorkbook_close)を呼び出してしまいます。 if Addin.Installed = Trueを入れていますのでAddin.Installed = Falseが2回実行されるわけではないのですが 再帰的な呼び出しを回避する方法はないでしょうか? 終了時にexcelがエラーを起こして "エラー送信"画面が出てしまって ここら辺があやしいのではと思っています。 環境はWindowsXP Excel2002 SP3 です。

  • エクセルアドインの自動インストール

    エクセルアドインを自動的にインストールする方法 に関して質問があります。 現在、作成したエクセルアドインを以下の手順で登録しています。 (1)エクセルを開く。 (2)メニューから「ツール」→「アドイン」でアドイン画面を開く。 (3)「参照」ボタンを押してアドイン(.xla)を選択する。 この一連の作業をインストーラの実行のように 一発で完了させたいのですが可能でしょうか? インストールシールドなどのツールを使えばできる等の情報でも 構いませんのでご存知の方がいましたら教えてください。 WindowsXP+Excel2003

  • エクセルのアドイン操作

    何もマクロが組み込まれていないエクセルファイルを 開いたときに、自動でアドイン「テストアドイン」をインストール する良い方法はないでしょうか? 現在は、テストアドインのインストールを実行するマクロファイルを XLSTARTフォルダに置いています。

  • アドインファイルの移動

    Excelのアドインファイルを移動する必要が出てきたのでVBAで移動させようとしています。 VBAは、アドインとは別のExcelファイルにコーディングしています。 アドインファイル名は MyAdd.xla とします。 MyAdd.xla を新フォルダに移動させることはできましたが、参照元の変更がうまくできません。 設定するPCの台数が多いので、自動で処理したいのです。 よろしくお願いします。 AddIns("MyAdd").Installed = False AddIns.Add Filename:= "新フォルダパス\MyAdd.xla" AddIns("MyAdd").Installed = True