WİA (Microsoft Windows Image Acquisition Library) İle Tarayıcı (Scanner) Kullanımı?

Katılım
2 Mart 2018
Mesajlar
101
Excel Vers. ve Dili
excel 2016
Altın Üyelik Bitiş Tarihi
31-01-2024
Herkese Kolay Gelsin,
Ben VBA ile bir proje yapmak istiyorum, projemde tarama işlemini bir buton aracılığı ile tarayıcı arayüzünü kullanmadan direk tarama işlemini yaptırmak istiyorum. Bununla ilgili projeme referans olarak WİA (Microsoft Windows Image Acquisition Library) ekleyerek istediğim işlemi yaptırabileceğimi öğrendim ancak internette araştırmalarıma rağmen sağlam bir anlatıma ulaşamadım malesef bu konuda yardımcı olabilirmisiniz?
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,165
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Aşağıdaki kodu deneyin.

Kod:
Sub TestScan1()
    Dim wiaImg As New WIA.ImageFile
    Dim wiaDialog As New WIA.CommonDialog
    Dim wiaScanner As WIA.Device
    Set wiaScanner = wiaDialog.ShowSelectDevice
    With wiaScanner.Items(1)
        .Properties("6146").Value = 4
        .Properties("6147").Value = 100
        .Properties("6148").Value = 100
        .Properties("6149").Value = 0
        .Properties("6150").Value = 0
        .Properties("6151").Value = 830
        .Properties("6152").Value = 1167
        Set wiaImg = .Transfer(wiaFormatJPEG)
    End With
    If Dir(ThisWorkbook.Path & "\MyImage.jpg") <> "" Then
        Kill ThisWorkbook.Path & "\MyImage.jpg"
    End If
    wiaImg.SaveFile (ThisWorkbook.Path & "\MyImage.jpg")
    Set wiaImg = Nothing
    Set wiaScanner = Nothing
End Sub
 
Katılım
2 Mart 2018
Mesajlar
101
Excel Vers. ve Dili
excel 2016
Altın Üyelik Bitiş Tarihi
31-01-2024
Merhaba.

Aşağıdaki kodu deneyin.

Kod:
Sub TestScan1()
    Dim wiaImg As New WIA.ImageFile
    Dim wiaDialog As New WIA.CommonDialog
    Dim wiaScanner As WIA.Device
    Set wiaScanner = wiaDialog.ShowSelectDevice
    With wiaScanner.Items(1)
        .Properties("6146").Value = 4
        .Properties("6147").Value = 100
        .Properties("6148").Value = 100
        .Properties("6149").Value = 0
        .Properties("6150").Value = 0
        .Properties("6151").Value = 830
        .Properties("6152").Value = 1167
        Set wiaImg = .Transfer(wiaFormatJPEG)
    End With
    If Dir(ThisWorkbook.Path & "\MyImage.jpg") <> "" Then
        Kill ThisWorkbook.Path & "\MyImage.jpg"
    End If
    wiaImg.SaveFile (ThisWorkbook.Path & "\MyImage.jpg")
    Set wiaImg = Nothing
    Set wiaScanner = Nothing
End Sub
Teşekkür ederim hocam deniyeceğim
 
Katılım
2 Mart 2018
Mesajlar
101
Excel Vers. ve Dili
excel 2016
Altın Üyelik Bitiş Tarihi
31-01-2024
Merhaba.

Aşağıdaki kodu deneyin.

Kod:
Sub TestScan1()
    Dim wiaImg As New WIA.ImageFile
    Dim wiaDialog As New WIA.CommonDialog
    Dim wiaScanner As WIA.Device
    Set wiaScanner = wiaDialog.ShowSelectDevice
    With wiaScanner.Items(1)
        .Properties("6146").Value = 4
        .Properties("6147").Value = 100
        .Properties("6148").Value = 100
        .Properties("6149").Value = 0
        .Properties("6150").Value = 0
        .Properties("6151").Value = 830
        .Properties("6152").Value = 1167
        Set wiaImg = .Transfer(wiaFormatJPEG)
    End With
    If Dir(ThisWorkbook.Path & "\MyImage.jpg") <> "" Then
        Kill ThisWorkbook.Path & "\MyImage.jpg"
    End If
    wiaImg.SaveFile (ThisWorkbook.Path & "\MyImage.jpg")
    Set wiaImg = Nothing
    Set wiaScanner = Nothing
End Sub
Hocam kod gayet güzel çalışıyordu fakat bir hata vermeye başladı neden veriyor anlayamadım bir türlü. Hata veren kısımı resimde ekliyorum tekrardan yardımcı olabilirmisiniz acaba
30B07809-B7F6-46E1-B190-BDC5479EBE98.jpeg
 
Üst