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.
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



MVP: 2013 – 2016




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.
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.
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.
Also niXX anderes, als wenn ich mit diesem Briefdokument zum Scanner / Multifunktionsgerät laufe und dann einscanne und digital abspeichere.
Also für mich ist / hat das Makro dann kein Benefit.
Na ja, kommt wohl halt auf den individualisierten Workflow im individuellen Use-Case an.
Ich verstehe die Intention. Im Endeffekt muß man sowieso zum Scanner / Multifunktionsgerät, um dann das Dokument in Word einzufügen.
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.)
Ähm, weil dazu eben wieder ein zusätzliches Tool benötigt benutzt würde.
der Scanner liefert das doch als fertige PDF. Ist besser als Word mit jpg.
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…