- ベストアンサー
マクロ コマンドボタンを押すともう一つコマンドボタン
マクロ初心者です。宜しくお願いします。 コマンドボタンをクリックしたら、指定して開いたファイル上にもうひとつコマンドボタンを追加で表示させることは可能でしょうか? <詳細> ・コマンドボタンを押す ・エクセルのファイルを指定して開く ・指定して開いたファイルの「Sheet1のA1」に新たにコマンドボタンを出現させる。 ・「Sheet1のA1」に現れたコマンドボタンを押すとそのファイルを印刷する。 みたいな事をしたいのですが、可能でしょうか?? 宜しくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 #2/3様たちがおっしゃる >その生成されたコマンドボタンに処理をつけるのが難しいんです。 >コマンドボタンへのマクロ登録は面倒だと思います。 それは、今の時代では、VBAのおきて破りのコードです。マクロ・ウィルスの技術と同じことだから、セキュリティを外さないといけないわけです。マクロでマクロを書くというのは、今は書かないことになっています。(とはいっても、自主規制です、無頓着な人は書くでしょうし、それでここで削除されることはありません) 私は、書かないようにしてきているだけです。 その代償として、 #3さんのオートシェイプに、マクロを付ける方法 '------------------------------------------- 'コマンドボタン(コントロールツール) 'シートモジュール Private Sub CommandButton1_Click() Call ShapeAdd_Macro1 End Sub '------------------------------------------- '標準モジュール '------------------------------------------- Sub ShapeAdd_Macro1() Dim rng As Range 'オートシェイプを置く場所 Set rng = Range("B1:B2") With ActiveSheet.Shapes.AddShape _ (msoShapeRectangle, Left:=rng.Left, _ Top:=rng.Top, _ Width:=rng.Width, _ Height:=rng.Height) .OnAction = "TestMacro" End With End Sub Sub TestMacro() MsgBox "TestMarcoが実行されました。", vbInformation End Sub
その他の回答 (4)
- cistronezk
- ベストアンサー率38% (120/309)
>・コマンドボタンを押す >・エクセルのファイルを指定して開く >・指定して開いたファイルの「Sheet1のA1」に新たにコマンドボタンを出現させる。 >・「Sheet1のA1」に現れたコマンドボタンを押すとそのファイルを印刷する。 すべて標準のボタンで可能なことです。どうしてわざわざ動的にボタンを作成する必要があるのでしょう?とてもイレギュラーなことをしようとしているような気がします。本当に必要な機能とその操作方法の見直しをされては如何でしょう。
- fujillin
- ベストアンサー率61% (1594/2576)
#2様のご回答の通り、コマンドボタンへのマクロ登録は面倒だと思います。 (全く不可能ではなかったように思いますが、面倒なはず。どうしてもやりたい場合は、以下にヒントが…) http://se-oboegaki.blogspot.com/2009/04/vbavba.html それよりは、コマンドボタンの替わりに、四角形などを作成して(ボタンの替わり)、これにマクロを登録する方がはるかに簡単かと思います。 こちらの方法なら、ほとんど「マクロの記録」でできるレベルなので、対象となるブックなどを一般化するだけで、ほぼOKでは? 四角形でも影をつけるなどすれば、見掛けをボタンっぽくしたりすることも可能です。
- sykt1217
- ベストアンサー率34% (277/798)
>指定したシート上に新たにコマンドボタンを出させるのは難しいのですね。遠回りしながらも少し考えて見ます。 いやいや、シート上にコマンドボタンを生成することは可能です。 ただ、その生成されたコマンドボタンに処理をつけるのが難しいんです。
- sykt1217
- ベストアンサー率34% (277/798)
コマンドボタンに「コマンドボタンを生成」という処理は入れられますが(実現可能ですが)、その新たなコマンドボタンに処理を持たせるとなると・・・ちょっと難しいですね。 【コマンドボタン生成】 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1312011963
お礼
指定したシート上に新たにコマンドボタンを出させるのは難しいのですね。遠回りしながらも少し考えて見ます。 ありがとうございました。