Access2013Runtime右クリックメニュー

Accessで作成したMDBが動けばいいかとRuntimeを導入したが、レポートでの右クリックが出てこない。これがないと業務が、、、、

Webでの先人の情報をコピペさせてもらい無事実現できた。感謝です。

Microsoft Office 14.0 Object Library への参照を設定
モジュール作成

Public Sub CreateReportShortcutMenu()

Dim cmbRightClick As Office.CommandBar
Dim cmbControl As Office.CommandBarControl

Set cmbRightClick = CommandBars.Add("cmdReportRightClick", msoBarPopup, False, True)

With cmbRightClick

'印刷
Set cmbControl = .Controls.Add(msoControlButton, 2521, , , True)
cmbControl.Caption = "即印刷"

'印刷
Set cmbControl = .Controls.Add(msoControlButton, 15948, , , True)
cmbControl.Caption = "印刷"

'ページ設定
Set cmbControl = .Controls.Add(msoControlButton, 247, , , True)
cmbControl.Caption = "ページ設定"

'メールで送る
Set cmbControl = .Controls.Add(msoControlButton, 2188, , , True)
'新しいグループ開始
cmbControl.BeginGroup = True
cmbControl.Caption = "メールで送る"

'PDFまたはXPS
Set cmbControl = .Controls.Add(msoControlButton, 12499, , , True)
cmbControl.Caption = "PDFまたはXPSとして出力"

'閉じる
Set cmbControl = .Controls.Add(msoControlButton, 923, , , True)
'新しいグループ開始
cmbControl.BeginGroup = True
cmbControl.Caption = "閉じる"

End With

メインフォームが開いたらこのプロシージャが実行されるように

Private Sub Form_Open(Cancel As Integer)
CreateReportShortcutMenu
End Sub

実装したいレポートに

Private Sub Report_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = acRightButton Then
Application.CommandBars("Form Datasheet Cell").Showpopup
End If
End Sub

これにて右クリックめでたく出現した。

他にもランタイム故のセキュリティ・Shellで呼び出すアプリのプロシージャもちょこっと手直し。別の投稿として記す予定。

コメント