Pablo Neruda 3/12/2010, 12:10
Rapaz também queria essa função para o access 2010, no 97 tenho e funciona uma beleza... O meu problema era para emissão de umas OS que poderiam variar de impressora, algumas rotinas conseguia até mudar a impressora mas não configurar o tamanho do papel dai encontrei essa rotina a qual tenho usado (isso no 2010)
Ela configura e personaliza um menu de atalho, tem funcionado bem...
Dim cmbRightClick As Office.CommandBar
Dim cmbControl As Office.CommandBarControl
' Create the shortcut menu.
Set cmbRightClick = CommandBars.Add("AtalhoRelatorio", msoBarPopup, False, True)
With cmbRightClick
' Add the Print command.
Set cmbControl = .Controls.Add(msoControlButton, 2521, , , True)
' Change the caption displayed for the control.
cmbControl.Caption = "Impressão Rápida"
' Add the Print command.
Set cmbControl = .Controls.Add(msoControlButton, 15948, , , True)
' Change the caption displayed for the control.
cmbControl.Caption = "Selecionar Impressora"
' Add the Page Setup... command.
Set cmbControl = .Controls.Add(msoControlButton, 247, , , True)
' Change the caption displayed for the control.
cmbControl.Caption = "Configurar Página"
' Add the Mail Recipient (as Attachment)... command.
Set cmbControl = .Controls.Add(msoControlButton, 2188, , , True)
' Start a new group.
cmbControl.BeginGroup = True
' Change the caption displayed for the control.
cmbControl.Caption = "Enviar como anexo no e-mail"
' Add the PDF or XPS command.
Set cmbControl = .Controls.Add(msoControlButton, 12499, , , True)
' Change the caption displayed for the control.
cmbControl.Caption = "Salvar como PDF/XPS"
' Add the Close command.
Set cmbControl = .Controls.Add(msoControlButton, 923, , , True)
' Start a new group.
cmbControl.BeginGroup = True
' Change the caption displayed for the control.
cmbControl.Caption = "Fechar Relatório"
End With
Set cmbControl = Nothing
Set cmbRightClick = Nothing