[[20140303105111]] 『自作ツールバーに自作アイコンを使う』(あや) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『自作ツールバーに自作アイコンを使う』(あや)

 自作ツールバーを作っており、アイコンを変更したいです

 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.