Accessで作成したMDBが動けばいいかとRuntimeを導入したが、レポートでの右クリックが出てこない。これがないと業務が、、、、
Webでの先人の情報をコピペさせてもらい無事実現できた。感謝です。
Microsoft Office 14.0 Object Library への参照を設定
モジュール作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
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 |
メインフォームが開いたらこのプロシージャが実行されるように
1 2 3 |
Private Sub Form_Open(Cancel As Integer) CreateReportShortcutMenu End Sub |
実装したいレポートに
1 2 3 4 5 |
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で呼び出すアプリのプロシージャもちょこっと手直し。別の投稿として記す予定。
コメント