Jeder, der schon einmal eine Datenbank geschrieben hat, die auf accde bzw. mit einer Runtime laufen soll hat sicherlich festgestellt, dass die Export-Funktionen nicht angezeigt werden im Standard-Menüband.

 

Mit etwas Programmierung kann man das Manko umgehen:

 

1. muss man in der USysRibbons einen Eintrag für Drucken erstellen. Die RibbonXml lautet wie folgt

Show/Hidden vb code

View source
  1. <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
  2.   <ribbon startFromScratch="true">
  3.     <tabs>
  4.      <tab id="MyReport" label="Bericht Drucken/exportieren">
  5.  
  6.  
  7.         <group idMso="GroupPrintPreviewPrintAccess" />
  8.         <group idMso="GroupPageLayoutAccess" />
  9.         <group idMso="GroupZoom" />
  10.  
  11.  
  12.  
  13.         <group id="ListCommands" label="Drucken">
  14.            <button idMso="FilePrintQuick" keytip="q" size="large"/>
  15.            <button idMso="PrintDialogAccess"
  16.                    label="Print Dialog"
  17.                    keytip="d" size="large"/>
  18.         </group>
  19.      
  20.         <group id="ExportCmds" keytip="e" label="Daten exportieren">
  21.            <button idMso="PublishToPdfOrEdoc" keytip="p" size="large"/>
  22.  
  23.           <button id="ExportExcel" label="Excel"
  24.                    imageMso="ExportExcel" size="large"
  25.                    onAction="=MyExport('XLS')"/>
  26.  
  27.  
  28.            <button id="ExportWord" label="Word"   
  29.                    imageMso="ExportWord" size="large"
  30.                    onAction="=MyExport('RTF')"/>
  31.  
  32.  
  33.            <button id="ExportTextFile" label="Text"  
  34.                    imageMso="ExportTextFile" size="large"
  35.                    onAction="=MyExport('TXT')"/>
  36.  
  37.  
  38.            <button id="ExportHtml" label="HTML Dokument"  
  39.                    imageMso="ExportHtmlDocument" size="large"
  40.                    onAction="=MyExport('HTML')"/>
  41.  
  42.  
  43.            <button id="CreateEmail" label="als E-Mail senden (PDF)"
  44.                     imageMso="FileSendAsAttachment"
  45.                     enabled="true" size="large"
  46.                     onAction= "=MySend()"/>
  47.         </group>
  48.  
  49.  
  50.  
  51.         <group idMso="GroupZoom"></group>
  52.    
  53.         <group id="Exit" keytip="x" label="Schließen">
  54.            <button idMso="PrintPreviewClose" keytip="c" size="large"/>
  55.         </group>
  56.  
  57.  
  58.        </tab>
  59.     </tabs>
  60.   </ribbon>
  61. </customUI>

2. Ein Modul erstellen mit folgendem Code:

Show/Hidden vb code

View source
  1. Public Function MySend()
  2.    DoCmd.SendObject acSendReport, Screen.ActiveReport.Name, acFormatPDF
  3. End Function
  4.  
  5.  
  6.  
  7. Public Function MyExport(strFormat As String)
  8.  
  9.  
  10.    Dim strFileType         As String
  11.    Dim strFileFilter       As String
  12.    Dim strFileName         As String
  13.    
  14.    Select Case strFormat
  15.       Case "RTF"       ' word
  16.          strFileType = acFormatRTF
  17.          strFileFilter = "*.rtf"
  18.       Case "XLS"       ' excel
  19.          strFileType = acFormatXLS
  20.          strFileFilter = "*.XLS"
  21.       Case "TXT"     ' text
  22.          strFileType = acFormatTXT
  23.          strFileFilter = "*.txt"
  24.       Case "HTML"
  25.          strFileType = acFormatHTML
  26.          strFileFilter = "*.html"
  27.       Case "PDF"
  28.          strFileType = acFormatPDF
  29.          strFileFilter = "*.pdf"
  30.       Case Else
  31.          Exit Function
  32.    End Select
  33.    
  34.    strFileName = SaveFileName(strFileType, strFileType, strFileFilter)
  35.    
  36.    If strFileName <> "" Then
  37.       DoCmd.OutputTo acOutputReport, Screen.ActiveReport.Name, strFileType, strFileName
  38.       Application.FollowHyperlink strFileName
  39.    End If
  40. End Function
  41.  
  42.  
  43. Public Function SaveFileName(strTitle As String, _
  44.                              strFilterText As String, _
  45.                              strFilter As String) As String
  46.    
  47.    Dim f As Office.FileDialog
  48.    Dim strF     As String
  49.    Dim strExt   As String
  50.    
  51.    Set f = Application.FileDialog(msoFileDialogSaveAs)
  52.    
  53.    f.Title = strTitle
  54.    'f.Filters.Add strFilterText, strFilter ' not supported with save as
  55.    
  56.    If f.Show = True Then
  57.       strF = f.SelectedItems(1)
  58.       strExt = Split(strFilter, "*")(1)
  59.       If InStr(strF, strExt) = 0 Then
  60.          ' user did not type extension
  61.          strF = strF & strExt
  62.       End If
  63.       SaveFileName = strF
  64.    End If
  65. End Function

3. Den RibbonName im gewünschten Bericht auswählen.

 

Nun müsste beim öffnen ein Menüband angezeigt werden aus dem man Drucken und Exportieren kann...