Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!
' WIA initialisieren
Set objDialog = CreateObject("WIA.CommonDialog")
Set objDevice = objDialog.ShowSelectDevice(1, False, False) ' 1 = Scanner
If objDevice Is Nothing Then Exit Sub
Set objItem = objDevice.Items(1)
' Auflösung auf 300 DPI setzen (IDs 6147 und 6148)
objItem.Properties(6147).Value = 300
objItem.Properties(6148).Value = 300
' Scan starten (wiaFormatJPEG = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}")
Set objImageFile = objDialog.ShowTransfer(objItem, "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}", True)
If Not objImageFile Is Nothing Then
' Bestehende Datei löschen, falls vorhanden
If Dir(strZielPfad & strDateiName) <> "" Then Kill strZielPfad & strDateiName
' Datei speichern
objImageFile.SaveFile strZielPfad & strDateiName
' Pfad im aktuellen Formularfeld speichern
Me!DokuPfad = strZielPfad & strDateiName ' "DokuPfad" ist Ihr Textfeld in der Tabelle
MsgBox "Dokument erfolgreich mit 300 DPI gescannt und verknüpft!", vbInformation
End If
Zitatich hab mir aus dem Internet einen Code gezogen um zu Scannen.Warum gibst du die Quelle nicht an? Ich finde es nicht korrekt gegenüber demjenigen, dessen Arbeit einfach ohne Hinweis bzw. Quellenangabe kopiert wird. Wenn man seinen Code verwenden möchte, sollte man schon so viel Respekt gegenüber dem Programmierer zeigen. Außerdem könnte man als Helfer so auch im Original nachsehen, in welchem Kontext der Code gültig ist.
Private Sub cmdScannen_click()
Dim objDialog As Object
Dim objDevice As Object
Dim objItem As Object
Dim objProperty As Object
' WIA Dialog- und Geräteobjekt erstellen
Set objDialog = CreateObject("WIA.CommonDialog")
Set objDevice = objDialog.ShowSelectDevice(wiascannerDeviceType, False, False)
ScannenUndSpeichern "D:\Scan.jpg"
End Sub
Public Function ScannenUndSpeichern(strDateiname As String)
Dim objCommonDialog As WIA.CommonDialog
Dim objImage As WIA.ImageFile
Set objCommonDialog = New WIA.CommonDialog
Set objImage = objCommonDialog.ShowAcquireImage
If Not objImage Is Nothing Then
objImage.SaveFile strDateiname
Set objImage = Nothing
End If
Set objCommonDialog = Nothing
End Function