[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『自作ツールバーに自作アイコンを使う』(あや)
自作ツールバーを作っており、アイコンを変更したいです
http://www.nurs.or.jp/~ppoy/access/excel/xlET009.html を参考にさせてもらい、 自作ツールバーにアイコンをのせるところまでは出来ました
そこから、以下を参考にマクロの登録をしようとしています http://www.nurs.or.jp/~ppoy/access/excel/xlET008.html
参考にさせてもらっているページでは マクロの登録画面から登録となっていますが 自分で作ったマクロは AddinsFile.xlaとして、アドイン化しており
これをどうマクロの登録をしたらよいのか もしくは、VBAの記述の中にどう書き込めばよいのか 教えて下さい
↓記述↓ Private Sub Workbook_Open()
On Error Resume Next
Application.CommandBars("マクロボタン").Delete
Dim myBar As CommandBar, myButton As CommandBarButton Set myBar = Application.CommandBars.Add(Position:=msoBarTop) myBar.Name = "マクロボタン"
'Newウィンドウを開いて上下に整列 Set myButton = myBar.Controls.Add(Type:=msoControlButton)
myButton.OnAction = "Newウィンドウを開いて上下に整列" myButton.Caption = "Newウィンドウを開いて上下に整列" myButton.FaceId = 2562
(現在は、FaceIdでアイコンを表示しています)
< 使用 Excel:Excel2003、使用 OS:WindowsXP >
そのブックで一度設定すれば済む話だとは思いますが、 こういうお話でしょうか。 http://www.happy2-island.com/excelsmile/smile03/capter00713.shtml (Mook) 2014/03/03(月) 11:01
説明不足でしたらすみません
いただいたアドレスを見せてもらいました ありがとうございます
現在、アドインの組み込みは出来ております
組み込んで使っている自作ツールバーのアイコンを 自作のアイコンにしようとしており
自作アイコンの追加方法を調べていて http://www.nurs.or.jp/~ppoy/access/excel/xlET009.html にて、アイコンの追加は出来ました(新規アイコンとして)
次にそのアイコンをクリックすると 指定のVBAが動く設定をしようとしています
参考にさせてもらっている http://www.nurs.or.jp/~ppoy/access/excel/xlET008.html では、マクロの登録画面からの登録となっていますが
マクロ名には何もあがってこないため(VBAの記述だから?) どう指定してやればよいかがわからない
もしくは、VBAにどう記述すればこのアイコンに対応できるのか で立ち止まっています
ややこしい説明すみません
(あや) 2014/03/03(月) 11:23
すみません、少し進みましたので また状況を書き込みに来ます (あや) 2014/03/03(月) 11:33
実行に関しては、このあたりをご参考に。 http://www.happy2-island.com/excelsmile/smile03/capter00712.shtml
上の定義は追加したボタンをクリック時に「Newウィンドウを開いて上下に整列」 を実行するようになっていますから、自ブックの中に
Sub Newウィンドウを開いて上下に整列() Workbooks("アドインファイル名").Application.Run("プロシージャ名") End Sub
を置いておけば、できないでしょうか。
(Mook) 2014/03/03(月) 11:59
Mookさんありがとうございます
Mookさんの教えて頂いている方法と少し違うかもしれませんが 進められたので状況を書かせてもらいます
自作ツールバーに自作アイコンの表示は出来ました そして、そのアイコンをクリックで、 VBAに記述したアクションを呼び出せるようになりました
方法→ユーザー設定画面で、FaceIdで表示させたアイコンをクリックし、 [選択したボタンの編集]ボタンから ボタンイメージの貼付で出来ました (クリップボードに張り付いているアイコンが張り付く))
ここから新たに質問です このエクセルファイルを開きなおすとツールバーは出ますが ボタンが消えてしまいます
Addinsfile.xlaのThisWorkbookのファイルオープンに下記の記述で ツールバーを再設定しなおしているためなのかな?と思います
Private Sub Workbook_Open()
On Error Resume Next
Application.CommandBars("マクロボタン").Delete
Dim myBar As CommandBar, myButton As CommandBarButton Set myBar = Application.CommandBars.Add(Position:=msoBarTop) myBar.Name = "マクロボタン"
'Newウィンドウを開いて上下に整列 Set myButton = myBar.Controls.Add(Type:=msoControlButton)
myButton.OnAction = "Newウィンドウを開いて上下に整列" myButton.Caption = "Newウィンドウを開いて上下に整列" myButton.FaceId = 2562
自作アイコンファイルを どこかに登録しておかなければいけないのかもしれないな、など考えていますが どのように進めたらよいかハテナです
アドバイスいただけると助かります
(あや) 2014/03/03(月) 13:52
1)IsAddinをFalseにしてシートを表示 2)Sheet1に作成したイメージを貼付け 3)IsAddinをTrueに戻す 4)myButton.FaceId = 2562 の代わりに下記コードに修正 Sheets("Sheet1").Shapes("Picture 1").Copy myButton.PasteFace 5)上書き保存
(マナ) 2014/03/03(月) 21:42
マナさんありがとうございます
必要な結果は得られました^^ 的確な回答助かります
ただ、解像度の問題で アイコンがぼんやりしています
AddinsFile.xlaに貼り付けているタイミングでは きれいなアイコンなのです
ツールバーに表示されると、 アイコンの大きさが少し大きくなりぼやけている状態です
試してみようとしていることは AddinsFile.xlaに貼り付けるときに サイズを大きめアイコンにして保存するとどうだろうと 思っています 合間を見て検証してみます
他にもなにか考えられることがありましたらまた教えて下さい (あや) 2014/03/04(火) 09:35
アイコンを 600*600くらいで作ると 少しの劣化で張り付きました
もっと大きくしておけば 完全な色?解像度?が出せるのかもしれません
また何かありましたら教えて下さい (あや) 2014/03/04(火) 12:06
肝心な部分はまったくお役に立てなくてなんですが、 アイコンにそんなに大きなサイズのファイルは不要と思います。
16x16 で作成すれば作成した通りにならないでしょうか。 http://officetanaka.net/excel/vba/tips/tips54.htm (Mook) 2014/03/04(火) 13:30
Mookさんありがとうございます お教えいただき、心強いです
最初、16*16で試していたのですが 画像がぼんやりするんです
頂いたページの http://officetanaka.net/excel/vba/tips/tips54.htm 【ツールバーの名前を設定する】の少し上にある サッカーボールのアイコンが少しぼやけているような こんな感じです 伝わりにくくすみません
FaceIdで番号指定したアイコンはきれいに細かいところまで表示されているので それと横並びにすると、ひどくぼんやり感がしますーдー
600*600ならばきれいに表示され、これしかないのかな?と思っているのですが ツールバーを読み込むのが少々重くなった感じです 当然といえば当然なのでしょう、、
どうしようかなと考えています (あや) 2014/03/04(火) 14:18
なるほど。 アイコンサイズは16x16 なので、実サイズで歪むはずがないと思っていましたが、 そもそもシートに貼り付ける画像を EXCEL が読込んだときに圧縮され、画像が歪ん でしまっているようです。
であれば 16x16 の画像を作成しておいて、直接読込んではどうでしょうか。
myButton.FaceId = 2562 の変わりに、 myButton.Picture = stdole.StdFunctions.LoadPicture("C:\icon16x16.bmp") でお試しください。
(Mook) 2014/03/04(火) 14:55
>EXCELが読み込んだときに圧縮され そうなんですね、、 勉強になります
"C:\icon16x16.bmp"で試してみたところ きれいに表示されます ありがとうございます
ただ、C:\としてまうと、 他の人に配布したaddinsfile.xlaでは表示されなくなるので これまたどうしたものかなとなっております
(あや) 2014/03/04(火) 15:05
横から失礼。 シートに画像を配置するのではなく、Imageコントロールを配置して、 そのImageコントロールに画像を表示させておく。
myButton.Picture=Sheets("Sheet1").Image1.Picture
とする。 (とおりすがり) 2014/03/04(火) 15:13
とおりすがりさんありがとうございます うまいことできそうな感じです
また何かありましたら教えて下さい (あや) 2014/03/04(火) 16:16
みなさんのおかげで希望のかたちにもっていけました ありがとうございました
もうひとつ、これはできるのかな?ということが出てきましたので 質問をさせて下さい
上で質問させてもらった自作ツールバーを2つ作って、 それぞれAddinsFile.xla AddinsFile2.xlaとして 使っています (一般ツールバーと自分ツールバーの2種類)
自分は一般ツールバーと、自分ツールバーどちらも使うので 2種類とも表示させています
そこで、そのツールバーの表示場所が、
AddinsFile.xla の下に AddinsFile2.xla として
2行になって表示されております
これを、
AddinsFile.xla AddinsFile2.xla として、1行に表示することができれば、エクセルセル画面が広く使えていいのになと思っております
ツールバー読み込み後、手動で位置を変えてもファイルを開きなおすと2行になります (ツールバーを作り直しているためか?と考えてます)
http://officetanaka.net/excel/vba/tips/tips66.htm も確認させてもらいましたが、必要な動きではなく、、
窮地に迫ったお話しではないのですが、 何かわかる方いらっしゃったら教えて下さい (あや) 2014/03/10(月) 11:12
>ツールバーを作り直しているためか?と考えてます
Private Sub Workbook_Open() を Private Sub Workbook_AddinInstall() にしてみてはどうでしょうか。
(マナ) 2014/03/10(月) 20:11
言わずもがなかもですが、 Private Sub Workbook_Close() も Private Sub Workbook_AddinUninstall() にすることが必要。 (マナ) 2014/03/10(月) 20:29
参考になるかもしれないよ。 http://www.vbalab.sakura.ne.jp/vbaqa/c-board.cgi?cmd=ntr;tree=42;id=FAQ http://www.vbalab.sakura.ne.jp/vbaqa/c-board.cgi?cmd=one;no=57;id=FAQ http://www.vbalab.sakura.ne.jp/vbaqa/c-board.cgi?cmd=one;no=55;id=FAQ
それと、質問箱はドメインが更新されて、現在見れなくなっているようですが、 ここからなら見れるようです。(たまたま見っけた。) http://www.ka-net.org/blog/?p=2811 (トゥギャーザ)
マナさんありがとうございます 1行になりました^^
トゥギャーザさんありがとうございます 詳しく調べられる時間が今はとれないので とりあえず報告のみで 失礼します、、すみません
確認後また何かありましたら書き込みに来ます (あや) 2014/03/11(火) 14:08
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.