Page 745 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼オリジナル・コマンドバー作成法 日高久雄 03/2/10(月) 15:13 ┣Re:オリジナル・コマンドバー作成法 Jaka 03/2/10(月) 16:44 ┃ ┗Re:オリジナル・コマンドバー作成法 日高久雄 03/2/12(水) 9:38 ┃ ┗Re:オリジナル・コマンドバー作成法 Jaka 03/2/12(水) 13:45 ┃ ┗Re:オリジナル・コマンドバー作成法 日高久雄 03/2/13(木) 11:01 ┃ ┗Re:オリジナル・コマンドバー作成法 ぴかる 03/2/13(木) 11:42 ┃ ┗Re:オリジナル・コマンドバー作成法 Jaka 03/2/13(木) 13:19 ┃ ┣忘れ Jaka 03/2/13(木) 13:32 ┃ ┗Re:オリジナル・コマンドバー作成法 日高久雄 03/2/15(土) 12:39 ┣Re:オリジナル・コマンドバー作成法 sokrates 03/2/11(火) 6:13 ┗Re:オリジナル・コマンドバー作成法 ぴかる 03/2/11(火) 9:31 ─────────────────────────────────────── ■題名 : オリジナル・コマンドバー作成法 ■名前 : 日高久雄 <hisao_hidaka@hotmail.com> ■日付 : 03/2/10(月) 15:13 -------------------------------------------------------------------------
作成したプログラムをオリジナルのコマンドバーで作動します(標準メニューバーはそのまま)このファイルを複数のコンピューターで使いたいのですが ツールバーで手動作成すると 別のコンピューターで使用する場合 コマンドバーが 出てきません。ファイルそのものに コマンドバー そして バー上の釦作成を 指示 open時 一回一回 実行させなければいけないのでしょうか。 その場合の 構文を教えてください。 |
こんにちは。 わざわざマクロでツールバーを作らなくても、ファイルに添付させちゃえば言いと思いますけど。1回1回の意味が良く解らなかったけど。 sub Auto_Open() '添付バー表示 If Application.CommandBars("添付バー").Visible = False Then Application.CommandBars("添付バー").Visible = True End If end if sub Auto_Close() '添付バー削除 Application.CommandBars("添付バー").delete end if どうしてもマクロで全部したいなら、近い所で、 [#3575]にも少し書いてあります。 |
▼Jaka さん: お礼のお返事を出したつもりが うまく出せてなかった様で申し訳ありません。 添付方法が解らなかったので ご教示で見事解決したと思っていたら ちょっと 不都合が出てきました。 この様な事を考えています。 例えば file 01というファイルをコマンドバーを使って 年度更新 file 02 にして 保存します。 open時 visible=true close時 visible=false を使うと file 2にコピーした後 file 1を使おうとすると file 1のマクロが file2 の場所に設定されて file1 マクロ実行時 file2 を呼び出します。 呼び出せないと実行できません。 そこで close時 delete を使うと 最初うまく 行っていたのですが 何故か 上と同じ現象が出たり あげく 設定したコマンドバーが 無くなったりしました。(ツール⇒ユーザー設定⇒コマンドバーで探してもきれいに消えています)どうも オリジナル・コマンドバーの使い方がよく解りません。 アドインを使う方法も よく解りませんので 困っています。 使用上の注意を もう少しお教え頂けないでしょうか。 消えたコマンドバーを再製作するのも手間がかかりますので コマンドバーをコピーして残しておく方法も もし有れば教えてください。 >こんにちは。 >わざわざマクロでツールバーを作らなくても、ファイルに添付させちゃえば言いと思いますけど。1回1回の意味が良く解らなかったけど。 > >sub Auto_Open() '添付バー表示 >If Application.CommandBars("添付バー").Visible = False Then > Application.CommandBars("添付バー").Visible = True >End If >end if > >sub Auto_Close() '添付バー削除 > Application.CommandBars("添付バー").delete >end if > > >どうしてもマクロで全部したいなら、近い所で、 >[#3575]にも少し書いてあります。 |
こんにちは。 国語力も貧相なJakaです。 あるブックだけで使うコマンドバーじゃないんですか? 全てのブックで使いたいと言う事でしたら、個人用マクロブックにでもコードを書き込んでおけば、アドインにする必要は無くなります。(マクロで全部する場合。) それと、ユーザー設定にてコマンドバーを作った場合、ファイルに添付保存しないでDeleteしちゃうと何も残りません。 >添付方法が解らなかったので ユーザー設定を開くと添付ボタンがあります。 だらだらと説明しようと思いましたが、内容がトンチンカンな事になってしまいやめました。 全然説明になっていなくて、ごめんなさい。 あるブックだけで使うコマンドバーじゃないんですか? の辺りが?なもので...。 |
▼Jaka さん: 説明が拙くて申し訳ありません。 具体的に申します。 販売管理用のソフトを作成しています。 ユーザー設定コマンドバーでマクロ操作します。 複数のCPで使います。 年度を更新する場合 繰越処理で例えば03年度のファイルが04年度ファイルに書き換えらます。 ユーザー設定コマンドバーは03年度とか04年度の販売管理のファイルのみに表示します。 そこで 販売管理のopen時 commandbars("a").visible=true close 時 commandbars("a").visible=false を使いますと 03年度から04年度ファイルを作った時点で commandbar上のマクロは03年度ファイルを使う際も\04\macroになって 後で03年度ファイルを実行する際 04年度ファイルを呼び出してしまって不都合です。 この不都合を避けるには jakaさんに教えて頂いた close時 commandbars("a").delete を使えば 03年度ファイルのマクロは\03\macroのまま残ります。これで問題ないと思うのですが 余計な心配かもしれませんが なにせ deleteですから commandbarがなくなってしまわないか心配です。例えば 標準モジュール sub test()で commandbars.("a").delete と記述して終わらせば fileを改めて開いたら commandbar("a")はきえていました。workbook.closeのイベントで実行するとユーザー設定のコマンドバーを見ても消えているのに 再度開いたときに復活していますね。或いはユーザー設定でコマンドバーを削除して保存、再度開いても復活していますね。 これは どういう事なんでしょうか。 ユーザー設定コマンドバーは どうすればなくなってしまうのか訳が解りません。 又 万一なくなった場合に 復活させるため コマンドバーだけを 保存しておく方法は有るのでしょうか。初心者の言葉足らずで申し訳ありませんが 再度ご教示ください。 >こんにちは。 >国語力も貧相なJakaです。 >あるブックだけで使うコマンドバーじゃないんですか? >全てのブックで使いたいと言う事でしたら、個人用マクロブックにでもコードを書き込んでおけば、アドインにする必要は無くなります。(マクロで全部する場合。) >それと、ユーザー設定にてコマンドバーを作った場合、ファイルに添付保存しないでDeleteしちゃうと何も残りません。 >>添付方法が解らなかったので >ユーザー設定を開くと添付ボタンがあります。 > >だらだらと説明しようと思いましたが、内容がトンチンカンな事になってしまいやめました。 >全然説明になっていなくて、ごめんなさい。 >あるブックだけで使うコマンドバーじゃないんですか? >の辺りが?なもので...。 |
日高久雄さん、Jakaさん、こんにちは。 >年度を更新する場合 繰越処理で例えば03年度のファイルが04年度ファイルに書き換えらます。 >ユーザー設定コマンドバーは03年度とか04年度の販売管理のファイルのみに表示します。 >そこで 販売管理のopen時 commandbars("a").visible=true >close 時 commandbars("a").visible=false >を使いますと >03年度から04年度ファイルを作った時点で >commandbar上のマクロは03年度ファイルを使う際も\04\macroになって >後で03年度ファイルを実行する際 04年度ファイルを呼び出してしまって不都合です。 編集ファイルとコマンドバーファイルを分けるってのはどうですか?。 ・編集ファイルを開くと同時にコマンドバーファイルも開き、コマンドバーを表示させる。 ・編集ファイルを閉じると同時にコマンドバーファイルも閉じ、コマンドバーを非表示させる。 ご参考になるかは、???ですが・・・。 |
なんて説明したら良いのか....。 口で言うのは簡単だけど...。 ユーザー設定で作ったコマンドバーの個人的な偏見と創造的概要 1. ユーザー設定で作ったコマンドバー情報※は、エクセル内部?に作られ消さない限りエクセル内部に残っています。 ※書くボタンに関連付けられたマクロ名、そのマクロがどこにあるかなど(ブック名等)。 2. コマンドバーの添付について。 ブックに添付されたコマンドバー情報は、ブックのMacで言う所のファイルリソース部分より安全な部分に保存されていると私は思っています。 コマンドバーが添付されたブックを開くとエクセルに同じ名前のコマンドバーがあるかを調べ、なければまずエクセルにコピーされます。また、同名のコマンドバーがすでにあった場合、コピーされません。(たとえ関連付け情報が違うコマンドバーでも同名のコマンドバーがあればコピーされません。) 添付されたコマンドバーを消すには、ユーザー設定の添付削除を使わないとできません。 コマンドバーDeleteは、エクセルにコピーされた物を消しています。 ここいら辺を良く理解しないと、消えたのに復活している、あったのに無くなった、と混乱してしまうと思います。 3.. 別のブックにコピー添付しても、関連付けられたブック名&マクロ名情報は変わりませんから、コピー添付されたコマンドバーがエクセルにコピーされても実行時、関連付けられたブックのマクロを捜し見つかればそのブックを開いてマクロを実行します。なければエラーが返ってきます。 同名ブック&同名マクロ名だった場合他、エクセルにコピーされている情報と違う所にブックを異動させた場合なども含めると説明し切れません。 自分でここここのコマンドバーは、どんな情報を持っているとか整理して見てください。 やっぱり説明って難しいですね。 こう言うことなのでしょうか? JuJuさん、あみだくじで....。 後、お願いします。 |
エクセルにコピーされた、または作られたコマンドバーの関連付情報は、エクセルが勝手にやってくれてると思っています。 |
▼Jaka さん: 有難う御座いました。うっすら解ったような気がしますが 難しいものなのですね。大切な時間を取らせて申し訳ありませんでした。 >なんて説明したら良いのか....。 >口で言うのは簡単だけど...。 > >ユーザー設定で作ったコマンドバーの個人的な偏見と創造的概要 > >1. >ユーザー設定で作ったコマンドバー情報※は、エクセル内部?に作られ消さない限りエクセル内部に残っています。 >※書くボタンに関連付けられたマクロ名、そのマクロがどこにあるかなど(ブック名等)。 > >2. >コマンドバーの添付について。 >ブックに添付されたコマンドバー情報は、ブックのMacで言う所のファイルリソース部分より安全な部分に保存されていると私は思っています。 >コマンドバーが添付されたブックを開くとエクセルに同じ名前のコマンドバーがあるかを調べ、なければまずエクセルにコピーされます。また、同名のコマンドバーがすでにあった場合、コピーされません。(たとえ関連付け情報が違うコマンドバーでも同名のコマンドバーがあればコピーされません。) >添付されたコマンドバーを消すには、ユーザー設定の添付削除を使わないとできません。 >コマンドバーDeleteは、エクセルにコピーされた物を消しています。 >ここいら辺を良く理解しないと、消えたのに復活している、あったのに無くなった、と混乱してしまうと思います。 > >3.. >別のブックにコピー添付しても、関連付けられたブック名&マクロ名情報は変わりませんから、コピー添付されたコマンドバーがエクセルにコピーされても実行時、関連付けられたブックのマクロを捜し見つかればそのブックを開いてマクロを実行します。なければエラーが返ってきます。 > >同名ブック&同名マクロ名だった場合他、エクセルにコピーされている情報と違う所にブックを異動させた場合なども含めると説明し切れません。 >自分でここここのコマンドバーは、どんな情報を持っているとか整理して見てください。 > >やっぱり説明って難しいですね。 >こう言うことなのでしょうか? > >JuJuさん、あみだくじで....。 >後、お願いします。 |
▼日高久雄 さん: >作成したプログラムをオリジナルのコマンドバーで作動します(標準メニューバーはそのまま)このファイルを複数のコンピューターで使いたいのですが >ツールバーで手動作成すると 別のコンピューターで使用する場合 コマンドバーが >出てきません。ファイルそのものに コマンドバー そして バー上の釦作成を >指示 open時 一回一回 実行させなければいけないのでしょうか。 >その場合の 構文を教えてください。 当該プログラムのみのファイルをアドイン形式で保存し、他のコンピュータにアドインとして組み込ませてみてはどうでしょうか? |
日高久雄さん、おはようございます。 >作成したプログラムをオリジナルのコマンドバーで作動します(標準メニューバーはそのまま)このファイルを複数のコンピューターで使いたいのですが >ツールバーで手動作成すると 別のコンピューターで使用する場合 コマンドバーが >出てきません。ファイルそのものに コマンドバー そして バー上の釦作成を >指示 open時 一回一回 実行させなければいけないのでしょうか。 >その場合の 構文を教えてください。 こちらの先生方にコマンドバーの作成方法をご教授頂き、下記ソフトを完成させる事が出来ました。よろしければご参考にしてみて下さい。質問等ございましたら、出来る限りお答え致します。 http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=36;id=FAQ |