Sub mzPrtCommandAdd(ByRef roWord As Object)
Dim loOrgR As CommandBarControl '印刷ボタン
Dim loOrgV As CommandBarControl 'プレビューボタン
Dim loCmd As CommandBar
Dim loCptR As CommandBarControl '印刷ボタン追加用
Dim loCptV As CommandBarControl 'プレビューボタン追加用
Set loOrgR = roWord.CommandBars("Standard").Controls("印刷(&P)")
Set loOrgV = roWord.CommandBars("Standard").Controls("印刷プレビュー(&V)")
'追加したいユーザ設定メニューが存在しなければ作成する
On Error Resume Next
Set loCmd = CommandBars("印刷メニュー")
If Err.Number <> 0 Then
Set loCmd = CommandBars.Add("印刷メニュー", msoBarTop)
Set loCptR = loCmd.Controls.Add(msoControlButton, loOrgR.ID)
Set loCptV = loCmd.Controls.Add(msoControlButton, loOrgV.ID)
End If
loCmd.Visible = True
loCmd.Enabled = True
loCmd.Visible = True
loCptR.Enabled = True
loCptR.Visible = True
loCptV.Enabled = True
loCptV.Visible = True
On Error GoTo 0
End Sub
【Word】VBAから任意のツールバーを設定する
中村 (2011年12月19日 17:26)
システムソリューション事業部 / VBA
以前にWordでツールを作成した際に、不要なメニューは隠して
必要なものだけをチョイスして表示したいという状況がありました。
その際のコードをちらっと公開します。
※だいぶ古いコードですが;;
Sub mzPrtCommandAdd(ByRef roWord As Object) Dim loOrgR As CommandBarControl '印刷ボタン Dim loOrgV As CommandBarControl 'プレビューボタン Dim loCmd As CommandBar Dim loCptR As CommandBarControl '印刷ボタン追加用 Dim loCptV As CommandBarControl 'プレビューボタン追加用 Set loOrgR = roWord.CommandBars("Standard").Controls("印刷(&P)") Set loOrgV = roWord.CommandBars("Standard").Controls("印刷プレビュー(&V)") '追加したいユーザ設定メニューが存在しなければ作成する On Error Resume Next Set loCmd = CommandBars("印刷メニュー") If Err.Number <> 0 Then Set loCmd = CommandBars.Add("印刷メニュー", msoBarTop) Set loCptR = loCmd.Controls.Add(msoControlButton, loOrgR.ID) Set loCptV = loCmd.Controls.Add(msoControlButton, loOrgV.ID) End If loCmd.Visible = True loCmd.Enabled = True loCmd.Visible = True loCptR.Enabled = True loCptR.Visible = True loCptV.Enabled = True loCptV.Visible = True On Error GoTo 0 End Subおそらく、OfficeVBAなら他のアプリケーションでも使えるのではないかな?