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
ありがとうございます
すみません、私にはハードルが高すぎる無いようです。
理解できなくてすみません。
まずはあらかじめ「ふりわけ.xla」を別ロケの2名にメールで送って、
ツール → アドイン → 「ふりわけ.xla」に「レ」を
やってもうこととします。
そして私が二人に「sheet1の全国の名簿」に相当するファイルを
毎月送る時に、ボタン代わりのオートシェイプをsheet1に作って
おこうかと考えています。そのつどVBE画面を開いて、コードを
こぴぺする手間だけは省きたいのです。
私は素人ゆえ、この方法より難しいことは無理かもしれません。
ひとまず、コレでやってみようと思います。
No.6
- 回答日時:
こんにちは。
>アドインというのは、簡単にできると思ったら、ちがうんですね。
本館的なアドインは、デベロッパーなどというのは今さら(絶版)なのですが、デベロッパーを扱える人でないと本格的なものは作れないのです。デベロッパーなんて、Cost/Performance が悪すぎますからお勧めできるようなものでもありませんが、一応、この手の部類は、VBAの操作の中では、最難易度に入ります。VB6などの知識も必要とされるからです。そう、おどかしてもしょうがありませんし、掲示板では、そんな難しい話はするつもりはありません。
しかし、アドインは、もう少し研究が必要だと思います。掲示板であまりにも安易に教える方が多すぎるように思います。せめて、アドインの説明書を読んでからにしてほしいものだと思います。ネット内でも、ほとんど見当たりません。私も、昔、掲示板で質問したけれど、良く理解できませんでした。
>「sheet1の全国の名簿」に相当するファイルを毎月送る時に、ボタン代わりのオートシェイプをsheet1に作っておこうかと考えています。そのつどVBE画面を開いて、コードをこぴぺする手間だけは省きたいのです。
もしかしたら、アドインについて誤解されているかもしれません。アドインというものは、一言でいうと、私製マクロのグローバル化を目的とすることなのですね。グローバル化というのは、通常は、マクロを作ると、そのブックのプロジェクト内の標準モジュールで設置されたものしか呼び出せません。しかし、アドイン化することで、run で呼びなさなくても、どこでも呼び出しが可能になることをいいます。
ところが、コマンドボタン等のOnAction に、パス付きのブック名から登録しておくだけで、結局、HDDに存在するものなら、呼び出しは可能なのです。(アドインの場合は、起動時にメモリに呼び出されているから、結局は後か先かの違いだけなのです)
さて、本題なのですが、
「ボタン代わりのオートシェイプをsheet1に作って」という段階まで、アドインで可能なのですしょうか?もし、そのレベルまでなら、私たちが、あれこれ仕様に関することまで言う権利などはないと思うのです。そのレベルというのは、メニューに入れる技術とそう変わらないからです。
#5のコードは、VBAの暗黙のマナーを守ったコードのつもりのものでした。それは、Excel 2000以上の時代に作られたルールのようなものです。それ以前は、そんな意識はなかったようです。有名な「ものさしマクロ」は、それ以前の発想で作られたものです。
http://hp.vector.co.jp/authors/VA016119/sizemm.h …
(以下の仕組みを理解できれば、試さなくても良いです)
アドインを辞めてしまって、ユーザー設定のツールバーを備えたブックを作ればよいです。なぜ、こんなマクロを、現在まで出しているのか理由は分かりませんが、古い作り方としての、参考になります。
一旦、そのブックを開けると、そのツールバーは、相手のXLBファイル(メニューが確保されるファイル)にコピーされます。そうすると、そのツールバーは、必要なときに、ツールバーのユーザー設定にチェックさえ入れれば、呼び出し時間が掛かりますが、そのマクロは呼び出すことが可能です。
しかし、アドインは、レジストリに記録されますから、アドインの記録を消すよりはマシです。アドインを定位置に置いている限りは、存在しないものに関しては、プログラムでチェックされ、ダイアログで削除されます。だから、あまりあちこちには置かないほうがよいのです。
あまり大勢に配るようではありませんから、「ごめんなさい」が聞いてもらえるなら、自分である程度試してみて、見通しが立ったものを使わせてみると良いです。(VBAのコーディングの技術とは違いますから、やってみないと覚えない種類のものです)
できるなら、マクロの組み立ての段階からチェックをしたほうがよいのですが……。
No.4
- 回答日時:
flow1997です。
>オートシェイプで任意の図形1をシート上に描き
『ふりわけ.xla!furiwake』
を登録したところ、無事できました。
>「ふりわけ.xla」ファイルはPCの
どこにおいてあっても大丈夫でしょうか?
>この「ふりわけ.xla」を相手に使ってほしいので、
相手のPC上においてもらいたいのです。
Excelアドインは通常非表示ですから、
ボタン代わりのオートシェイプは別ブックに置いたということですよね?
そうすると、「別ブックから、ふりわけ.xlaのプログラムを呼び出す」という構成ではじめて動作するわけで、ふりわけ.xlaだけでの単独呼び出しはできないということになります。
相手のお宅にお邪魔して、正常動作するようにセッティングするのであれば別ですが、メールなどで送付する場合、正常動作しない可能性が非常に高いと考えます。
アドイン形式で配布するためには、ツールバーやメニューバーなどに登録するためのコードがどうしても必要だと思われます。普通のブックにマクロを組み込んで動かすのとは全く異なります。
この回答への補足
ありがとうございます
------------------------------------------------------------
そうすると、「別ブックから、ふりわけ.xlaのプログラムを呼び出す」という構成ではじめて動作するわけで、ふりわけ.xlaだけでの単独呼び出しはできないということになります。
------------------------------------------------------------
難しいことは私も無理なので、上記のような方法にするのが
精一杯です。「相手」はそれぞれ別のロケーションにいる2名です。
------------------------------------------------------------
相手のお宅にお邪魔して、正常動作するようにセッティングするのであれば別ですが、メールなどで送付する場合、正常動作しない可能性が非常に高いと考えます。
------------------------------------------------------------
まずはあらかじめ「ふりわけ.xla」を2名にメールで送って、
ツール → アドイン → 「ふりわけ.xla」に「レ」を
やってもうこととします。
そして私が二人に「sheet1の全国の名簿」に相当するファイルを
毎月送る時に、ボタン代わりのオートシェイプをsheet1に作って
おこうかと考えています。そのつどVBE画面を開いて、コードを
こぴぺする手間だけは省きたいのです。
私は素人ゆえ、この方法より難しいことは無理かもしれません。
ひとまず、コレでやってみようと思います。
ありがとうございます。
ひとまずこれでやってみます。
不特定多数の方に配布・利用するものでないので
なんとかなってくれるといいなと思います。
---------------------------------------------------
普通のブックにマクロを組み込んで動かすのとは全く異なります。
---------------------------------------------------
アドインというのは、簡単にできると思ったら、ちがうんですね。
私のよううな素人にとって高いハードルです。
No.3
- 回答日時:
(1)シートのボタンに登録する(シートに依存と言うことではではない、どのシートからでも使えるが)
(2)メニューバーに登録する。
(3)プロシージャーとしてアドイン名を使う。
ーーー
(1)のやり方は
http://www.geocities.jp/ttak_ask/office_docu/ef1 …
が一番詳しそう。
しかし複雑。結局ボタンにマクロを登録するようなものと考えて読んでください。
ーー
もし上記WEBの説明で判らずうまく行かないときは
ツールーユーザー設定
「コマンド」タブの「分類」で「マクロ」を選ぶ
右のほうに、ユーザー設定ボタンが現れるから
シートのメニューのヘルプの隣の辺りへD&D
そのボタンの上で右クリック。
マクロの登録で、そのアドイン名を登録。
ありがとうございました。
参考になりました。
ひとつのマクロだけを登録したいときはこれは便利ですね。
_____________________________________________
「コマンド」タブの「分類」で「マクロ」を選ぶ
右のほうに、ユーザー設定ボタンが現れるから
シートのメニューのヘルプの隣の辺りへD&D
そのボタンの上で右クリック。
マクロの登録で、そのアドイン名を登録。
_____________________________________________
No.2
- 回答日時:
>どこを押せば、furiwakeマクロは実行されるのでしょうか?
え~と、どんな場面で処理するか、どんなきっかけで処理するかは
先に考えておくべきことです
ボタンなどはアドインすれば勝手にできるのではなく
自分で設置し、マクロを登録しなければいけません
私のよくやる方法は、メニューバーにボタンを作成したり
右クリックメニューボタンを作成したりしています
他にユーザー定義関数にして、関数として使用しています
ありがとうございました。
相手方に使ってもらいたいアドイン(マクロ)としています。
相手方が年配の方々なので、操作が平易で一目でわかるよう
大きなボタンにしてあげたいので、オートシェイプで任意の
図形をシート上に描いて、そこに登録することにしました。
------------------------------------
私のよくやる方法は、メニューバーにボタンを作成したり
右クリックメニューボタンを作成したりしています
他にユーザー定義関数にして、関数として使用しています
_____________________________________________
No.1
- 回答日時:
メニューバーやツールバーに呼び出すためのボタンを配置し、
そこから呼び出すのが一般的です。
マクロの実行画面から呼び出せなくもないですが、
なにぶん表示されないため、手打ちで入力しないといけません。
例) ふりわけ.xla!furiwake
この回答への補足
みなさまありがとうございます。
オートシェイプで任意の図形1をシート上に描き
『ふりわけ.xla!furiwake』
を登録したところ、無事できました。
また「ふりわけ.xla!」のなかに
「furiwake2」「furiwake3」という「furiwake」とは
働きのそれぞれ異なるマクロをそれぞれModule2,Module3に
作成して、それぞれ図形2、図形3に割り当てたところ
これらもうまくいきました。
またこれらの図形を新たな「sheet1の全国の名簿」に
こぴぺしてもうまくいきました。
「ふりわけ.xla」ファイルはPCの
どこにおいてあっても大丈夫でしょうか?
この「ふりわけ.xla」を相手に使ってほしいので、
相手のPC上においてもらいたいのです。誤って
削除されないよう「ふりわけ.xla!」は読み取り専用に
しておいたほうが、よりよいということになりますでしょうか。
『ふりわけ.xla!furiwake』
↑これ↑が知りたかったんです!
任意の図形をオートシェイプで描き、やってみました。
できました。
ありがとうございました。
「ふりわけ.xla」を使っていただきたい方々が、年配者や
エクセル操作に不慣れであることを想定していましたので
たすかりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAを一度起動するとずっと出て...
-
コピーしたファイルのマクロを...
-
VBA マクロ実行時エラー’1004Ra...
-
アクセスでファイルを開いたと...
-
エクセル終了時の保存確認メッ...
-
マクロを消すマクロは不可能?
-
excelが別プロセスで起動してし...
-
Excel2010 PERSONAL.xlsbの挙動...
-
エクセルマクロが海外PCで開けない
-
別のパソコンでエクセルのマク...
-
EXCELマクロコードを、それを含...
-
エクセル2013vbaで、見えない名...
-
アクセス ファイルの重さの限界
-
秀丸で保存時のフォルダを固定...
-
昨日まで動いていたエクセルの...
-
エクセルファイルを自身のファ...
-
個人用マクロブックにマクロを...
-
外部データを取り込むマクロ
-
エクセル ファイルを閉じるとき...
-
EXCEL マクロ クリップボードク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル終了時の保存確認メッ...
-
昨日まで動いていたエクセルの...
-
コピーしたファイルのマクロを...
-
【マクロ】マクロが割当てされ...
-
VBAを一度起動するとずっと出て...
-
VBA マクロ実行時エラー’1004Ra...
-
別のパソコンでエクセルのマク...
-
アクセスでファイルを開いたと...
-
excelファイルに使われているVB...
-
エクセルマクロ実行中に別ファ...
-
マクロを消すマクロは不可能?
-
外部データを取り込むマクロ
-
エクセルファイルを自身のファ...
-
excelが別プロセスで起動してし...
-
【マクロ】エラーが発生⇒実行時...
-
EXCEL マクロ クリップボードク...
-
Excelが勝手にシート移動してし...
-
Excel2010 PERSONAL.xlsbの挙動...
-
エクセル2013vbaで、見えない名...
-
excelでpersonal.xlsを常に開く...
おすすめ情報