Access Bericht drucken - aus Excel

Frage: Wie kann ich einen Access - Bericht aus Excel drucken? Dazu legen wir in Access ein Modul an und kopieren folgenden Code rein:
Option Compare Database
Option Explicit
Sub Print_Bericht()
    DoCmd.OpenReport "Test"
End Sub
Dieser Code druckt den Bericht. Mein Bericht heißt Test - muss also gegebenenfalls anpasst werden. Dann folgender Code in Excel:
Option Explicit
' Pfad- und Dateiname anpassen
Const strFile As String = "C:\Temp\Testdatenbank.mdb"
Dim blnTMP As Boolean
Public Sub Test()
    Dim objApp As Object
    On Error GoTo Fin
    Set objApp = OffApp("ACCESS", False)
    If Not objApp Is Nothing Then
        With objApp
            If Dir(strFile) <> "" Then
                .OpenCurrentDatabase strFile
                ' "Print_Bericht" gegebenenfalls anpassen
                .Run "Print_Bericht"
            Else
                MsgBox "Datenbank " & strFile & "nicht vorhanden!"
            End If
        End With
    Else
        MsgBox "Applikation nicht installiert!"
    End If
Fin:
    If Not objApp Is Nothing Then
        If blnTMP = True Then
            objApp.Quit
            blnTMP = False
        End If
    End If
    Set objApp = Nothing
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & " " & Err.Description
End Sub
Private Function OffApp(ByVal strApp As String, _
    Optional blnVisible As Boolean = True) As Object
    Dim objApp As Object
    On Error Resume Next
    Set objApp = GetObject(, strApp & ".Application")
    Select Case Err.Number
        Case 429
            Err.Clear
            Set objApp = CreateObject(strApp & ".Application")
            blnTMP = True
            If blnVisible = True Then
                On Error Resume Next
                objApp.Visible = True
                Err.Clear
            End If
    End Select
    On Error GoTo 0
    Set OffApp = objApp
    Set objApp = Nothing
End Function

Beliebte Posts aus diesem Blog

Formeln - auch Array - per VBA eintragen...

Alle Dateien eines Ordners - Optional mit Unterordner

Excel -> Word in Textmarken (Bookmarks)...