|
全部の参考リンクを書き込もうかと思いましたが、ぞろぞろ出てきたので全部拾い切れませんでした。。
V3
http://www21.tok2.com/home/vbalab/bbs/c-board.cgi?cmd=ntr;tree=9971;id=Excel
http://www21.tok2.com/home/vbalab/bbs/c-board.cgi?cmd=ntr;tree=11458;id=Excel
他は、ここのV3の方にもツールバー、コマンドバーで検索すれば結構あります。
http://www21.tok2.com/home/vbalab/
V4過去ログの方は適当に拾ってみました。
http://www.vbalab.net/vbaqa/data/excel/log/tree_63.htm
http://www.vbalab.net/vbaqa/data/excel/log/tree_225.htm
http://www.vbalab.net/vbaqa/data/excel/log/tree_265.htm
http://www.vbalab.net/vbaqa/data/excel/log/tree_344.htm
------------------------------------
リンクだけだとなんなので、一応コードも。
「ユーザー設定で作ったツールバーの添付」の方もツールバー位置変更の参考になると思います。
Sub マクロで作るコマンドバー()
Dim オリジナルバー As CommandBar
'同じツールバー名がすでにあるのに作ろうとするとエラーになります。
'また、無いのに削除しようとするとエラーになります。
'他に方法が無いわけでもありませんが、取り合えず最初に削除。
On Error Resume Next
Application.CommandBars("ツールバーの名前").Delete
Set オリジナルバー = Application.CommandBars.Add(Name:="ツールバーの名前", _
temporary:=True) ', Position:=msoBarBottom)
'temporary:=Trueするとエクセル終了時に自動的に削除されます。
'作ったコマンドバーにボタン追加
Set オリジナルボタン1 = CommandBars("ツールバーの名前").Controls.Add(Type:=msoControlButton)
With オリジナルボタン1
'Style アイコンとボタン名の表示
.Style = msoButtonIconAndCaption
.Caption = "マクロ1"
.FaceId = 59
.TooltipText = "マクロ1を実行します。" 'ボタンの説明みたいな物
.OnAction = "メッセージ1" 'ボタンにマクロを割り当てる。
End With
Set オリジナルボタン2 = CommandBars("ツールバーの名前").Controls.Add(Type:=msoControlButton)
With オリジナルボタン2
'アイコンだけ表示
.Style = msoButtonIcon
.Caption = "マクロ1"
.FaceId = 266
.TooltipText = "マクロ2を実行します。"
.OnAction = "メッセージ2"
End With
'コマンドバーを表示
オリジナルバー.Visible = True
Set オリジナルバー = Nothing
End Sub
Sub メッセージ1()
MsgBox "メッセージ1"
End Sub
Sub メッセージ2()
MsgBox "メッセージ2"
End Sub
***********************
他で回答した奴ですが。
Sub デスクトップ右下()
Dim Cb As CommandBar, LP2 As Single, TP2 As Single
On Error Resume Next
Application.CommandBars("TESTBAR").Delete
Set Cb = Application.CommandBars.Add(Name:="TESTBAR", Temporary:=True)
Cb.Controls.Add Type:=msoControlSplitDropdown, ID:=128, Before:=1
Cb.Controls.Add Type:=msoControlButton, ID:=1849, Before:=2
Cb.Controls.Add Type:=msoControlButton, ID:=928, Before:=3
Cb.Controls.Add Type:=msoControlComboBox, ID:=1733, Before:=4
Cb.Visible = True
Cb.Left = 1024 '一応1024×768の解像度と想定していますが、
Cb.Top = 768 'この数字に深い意味はありません。
'要するに使用している解像度より大きればいいみたいなんで適当。
LP2 = Cb.Left - 18
TP2 = Cb.Top - 19
Cb.Left = LP2
Cb.Top = TP2
End Sub
|
|