今回は既存の機能の代わりにマクロを実行する方法を紹介します。
1. Office 2007ファイルを開きます。
2. 標準モジュールに下記コードを貼り付けて上書き保存した後、ファイルを閉じます。
Sub Sample(control As IRibbonControl, ByRef cancelDefault)
MsgBox "Hello."
End Sub
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<commands>
<command idMso="FileSave" onAction="Sample" />
</commands>
</customUI>
※ 上記のように「command」要素の「onAction」属性にプロシージャ名を入れることで、既存の機能の代わりに指定したマクロを実行させることができます。
※ また、下記コードのようにユーザに問い合わせてから処理をさせるようにすることもできます。
'command要素(idMso値はFileOpen)のonAction属性に「myFileOpen」を指定
Sub myFileOpen(control As IRibbonControl, ByRef cancelDefault)
If MsgBox("本当にファイルを開きますか?", vbYesNo) = vbYes Then
cancelDefault = False
End If
End Sub