Microsoft Word um Mehrseiten-Scan-Funktion nachrüsten

Microsoft Word besitzt keine eingebaute Scan-Funktion mehr. Diese lässt sich aber über ein Makro nachrüsten. Ein Blog-Leser hat mir nun eine Erweiterung zukommen lassen, über die man Multiseiten-Scans in Word durchführen können soll. Ich trage das Thema daher hier im Blog nach.

Admin-Passwörter schützen mit Windows LAPS. eBook jetzt herunterladen » (Anzeige)

Rückblick auf Scannen in Word

Microsoft verzichtet ja seit Word 2007 darauf, eine Scanfunktion in der Software bereitzustellen. Hier im Blog habe ich daher immer wieder Bastellösungen vorgestellt, um doch aus Word scannen zu können. Letztmalig habe ich im Jahr 2016 hier im Blog in der Artikelreihe Scanfunktion in Word 2013/2016 nachrüsten – Teil 1 beschrieben, wie sich in Microsoft Word 2013 und 2016 eine Scan-Funktion nachrüsten lässt.

Dieser Ansatz sollte auch mit Word 365 und Word 2021 bzw. Word 2024 funktionieren (mangels Word kann ich aber nichts testen). Die Hinweise zur Einbindung des VBA-Scan-Makros sind daher auch für den nachfolgenden Ansatz zu verwenden.

Mehrseiten-Scan in Word nachrüsten

Es wurde immer wieder von Lesern gefragt, ob ein Multiseiten-Scan auch möglich sei (mangels Hardware und wegen fehlendem Word konnte ich dazu nichts schreiben). Ein Blog-Leser hat sich dieser Aufgabe angenommen und in diesem Kommentar angemerkt, dass er das Problem gelöst habe.

Es ist eine sehr "spezielle" Lösung, da er die Konsolen-Schnittstelle seiner NAPS2-Scan-Software per VBA-Makro für Mehrseiten-Scans in Word anspricht. Das VBA-Makro ruft über WshShell.Run die NAPS2.Console.exe mit den  Parametern zum Scan-Profil,  zum Speicherort und zum Speicherformat auf. Anschließend fügt das Makro die gespeicherten Bilder in Word ein und löscht anschließend die Bilddateien.

Ich hatte dann angeboten, die VBA-Quellcode für Interessierte hier im Blog bereitzustellen und der Leser hat mir diesen zur Veröffentlichung überlassen (vielen Dank dafür). Hier ist der VBA-Quellcode, den mir der Leser zukommen ließ.

Sub NAPS2_Feeder()
'
' NAPS2_Feeder ScanMakro
' Made from AI-Template in November 2025 by Ingbert
'
    ' DEFINITION OF VARIABLES
    Dim WshShell As Object
    Dim NAPS2Path As String
    Dim Device As String
    Dim Driver As String
    Dim TempFilePath As String
    Dim TempFile As String
    Dim strFile As String
    Dim objDoc As Document
    Dim Command As String
    Dim ExitCode As Long
    
    ' --- CONFIGURATION START (NEEDS TO BE ADAPTED TO LOCAL REQUIREMENTS ! ) ---

    NAPS2Path = "C:\Program Files\NAPS2\NAPS2.Console.exe"    ' 1. Path to NAPS2.Console.exe
    Device = "brother"                                        ' 2. Name of device - caseinsensitive partial match is OK
    Driver = "wia"                                            ' 3. Device driver (wia or twain)
    TempFilePath = ("C:\TempScans")                           ' 4. Path to folder for temporary image file
    TempFile = "\NAPS2_Scan.jpg"                              ' 5. Name of temporary image file (.jpg or .png)

    ' --- CONFIGURATION END ---
    
    On Error GoTo Errormanagement
    
    ' 1. CHECK IF NAPS2 CONSOLE IS PRESENT

    If Dir(NAPS2Path) = "" Then
        MsgBox "ERROR: NAPS2 Console not found at " & NAPS2Path, vbCritical ' "FEHLER: NAPS2 Konsolenversion nicht gefunden unter: "
        Exit Sub
    End If
    
    ' 2. CLEAN FOLDER FOR TEMPORARY IMAGE FILES

    On Error Resume Next
    Kill (TempFilePath & "\" & "*.jpg")                         ' Change "jpg" if a different image format has been selected at 5. above
    On Error GoTo 0

    ' 3. COMPILE COMMAND FOR SCANNING BY NAPS.console.exe            
                                                                ' Arguments as listed on https://www.naps2.com/doc/command-line
    Command = """" & NAPS2Path & """ --noprofile --driver """ & Driver & """ --device """ & Device & """ --source feeder -o """ & TempFilePath & TempFile & """ --deskew --dpi 300 --pagesize a4"
    
    ' 4. COMPILE WScript.Shell OBJECT

    Set WshShell = CreateObject("WScript.Shell")
    Application.StatusBar = "Starting NAPS2 scan, waiting..."   ' "Starte NAPS2 Scan und warte auf Abschluss..."

    ' 5. RUN COMMAND

    ExitCode = WshShell.Run(Command, 0, True)                   ' 0 = vbHide (hiding window), True = Waite until process is complete (IMPORTANT!)
    Set WshShell = Nothing
    Application.StatusBar = "Scan completed. Pasting file..."   ' "Scan abgeschlossen. Füge Datei in Word ein..."
    
    Set objDoc = ActiveDocument
    
    ' 6. SEARCH FOR FIRST IMAGE FILE (*.jpg)

    strFile = Dir(TempFilePath & "\" & "*.jpg", vbNormal)
    
    ' 7. PASTE ALL FOUND FILES ONE AFTER THE OTHER

    Do While strFile <> ""
        With objDoc.Content
                                                                ' Paste image at current cursor postion (InlineShape = in text line)
            Selection.InlineShapes.AddPicture FileName:=TempFilePath & "\" & strFile, LinkToFile:=False, SaveWithDocument:=True
        End With
        strFile = Dir()                                         ' Search for next file
    Loop
    
    Set objDoc = Nothing
            
    ' 8. DELETE TEMPORARY FILE(S)

    On Error Resume Next
    Kill (TempFilePath & "\" & "*.jpg")                         ' Change "jpg" if a different image format has been selected
    On Error GoTo 0
    Application.StatusBar = "Done: Scan successfully pasted."   ' "Fertig: Scan erfolgreich eingefügt."
  
    ' 9. EXIT WITHOUT ERROR

    Exit Sub

    ' 10. ERROR MANAGEMENT
    
Errormanagement:

    Set WshShell = Nothing
    Application.StatusBar = False
    MsgBox "Unexpected VBA error: " & Err.Description, vbCritical    ' "Ein unerwarteter VBA-Fehler ist aufgetreten: "
    
End Sub

Es ist zu beachten, dass die Verwendung des VBA-Codes auf eigenes Risiko erfolgt. Es wird keine Haftung und kein Support gewährleistet.

Ähnliche Artikel:
Scanfunktion in Word 2013/2016 nachrüsten – Teil 1
Scanfunktion in Word 2013/2016 nachrüsten – Teil 2

Dieser Beitrag wurde unter Office abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

10 Antworten zu Microsoft Word um Mehrseiten-Scan-Funktion nachrüsten

  1. Ste sagt:

    ich benötige es nicht, aber bei kurzem überfliegen ist mir etwas aufgefallen worauf man hinweisen sollte:

    Es werden in dem Temp-Ordner alle *.jpg eingefügt und danach gelöscht. Man sollte also wie in der Vorlage einen nur für den Zweck benutzten Ordner-Pfad nutzen.

  2. aus dem Rhein-Main Gebiet sagt:

    Als erstes Mal vielen Dank an den _unbekannten_ Blogleser, welcher das VBA-Script für die Mehrseiten-Scan-Funktion in Microsoft Word. 👍👋

    Wobei ich mir die Frage stelle: Für was benötigt man sowas? Mir fällt jetzt erstmal kein Szenario ein, wo ich das benötigen bzw. wofür das gut sein soll.
    Aber vielleicht kann mir jemand Anwendungsszenarien nennen. – Vielen Dank schon Mal für die Erklärungen.

    • User007 sagt:

      Bspw., weil man in ein Briefdokument einfach zum Schutz gegen Veränderung von externen nicht in digitaler Form vorliegenden Original-Dokumenten diese eingescannt beifügen möchte.

  3. Gänseblümchen sagt:

    Eine Scan-Lösung ist ja ganz nett, aber VBA-Unterstützung und generell Makros und DDE schaltet man im Rahmen von Office-Härtungsmaßnahmen ja eigentlich besser ab…

    Was spricht eigentlich dagegen, das Scannen dafür spezialisierten Tools wie Irfanview zu überlassen und den fertig bearbeiteten beschnittenen Scan dann per Copy&Paste rüber zu holen? (Eine kommerzielle Irfanview-Lizenz kostet auch nicht die Welt.)

    • User007 sagt:

      Ähm, weil dazu eben wieder ein zusätzliches Tool benötigt benutzt würde.

    • Anonym sagt:

      der Scanner liefert das doch als fertige PDF. Ist besser als Word mit jpg.

    • Martin sagt:

      Der Artikel sagts ja schon, es wird NAPS2 verwendet (= Not another PDF Scanner). Damit lassen sich Scans durchführen, auch mehrere einzelne nacheinander oder mehrere Seiten auf einmal (ADF), OCR mit Tesseract ist an Bord, es können Seiten auch aus bestehenden PDFs oder Bildern zusammengefügt oder Seiten gelöscht werden, Zuschneiden, Farbkorrektur – alles mit drin. Also vielleicht per NAPS die Bilder scannen und vorbereiten und dann "wie üblich" in Word einfügen.

      Der Autor des Makros sammelt vermutlich seine Scans in Word-Dokumenten, so wie andere das als Mehrseiten-PDFs tun. Ist mMn nicht das richtige Format für Scans, aber sei es drum. Immerhin lassen sich aus DOCX (eigentlich nur eine ZIP-Dateien) die Bilddateien im Original herauskopieren. OCR gibts so natürlich nicht…

Schreibe einen Kommentar zu Gänseblümchen Antwort abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Bitte beachtet die Regeln zum Kommentieren im Blog (Erstkommentare und Verlinktes landet in der Moderation, gebe ich alle paar Stunden frei, SEO-Posts/SPAM lösche ich rigoros. Kommentare abseits des Themas bitte unter Diskussion. Kommentare, die gegen die Regeln verstoßen, werden rigoros gelöscht.

Du findest den Blog gut, hast aber Werbung geblockt? Du kannst diesen Blog auch durch eine Spende unterstützen.