Numérisation de plusieurs pages avec l'ADF scanner à l'aide de VBA

Je suis en train d'écrire une application Microsoft Access et je veux permettre à l'utilisateur de numériser plusieurs pages dans un seul fichier PDF en format. La conversion en PDF fonctionne très bien une fois que j'ai toutes les pages numérisées. Voici mon code:

Option Compare Database
Option Explicit

Const WIA_FORMAT_JPEG = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}"

Public Function MyScan()
  Dim ComDialog As WIA.CommonDialog
  Dim DevMgr As WIA.DeviceManager
  Dim DevInfo As WIA.DeviceInfo
  Dim dev As WIA.Device
  Dim img As WIA.ImageFile
  Dim i As Integer
  Dim wiaScanner As WIA.Device

  Set ComDialog = New WIA.CommonDialog
  Set wiaScanner = ComDialog.ShowSelectDevice(WiaDeviceType.UnspecifiedDeviceType, False, True)

  Set DevMgr = New WIA.DeviceManager

  For i = 1 To DevMgr.DeviceInfos().Count
    If DevMgr.DeviceInfos(i).DeviceID = wiaScanner.DeviceID Then
      Set DevInfo = DevMgr.DeviceInfos(i)
    End If
  Next i

  Set dev = DevInfo.Connect

  Set img = dev.Items(1).Transfer(WIA_FORMAT_JPEG)

  img.SaveFile "C:\img.jpg"

  Set img = Nothing
  Set dev = Nothing
  Set DevInfo = Nothing
  Set DevMgr = Nothing
  Set ComDialog = Nothing


End Function

Bien sûr, il est important de dire que mon scanner est Avision AV121 avec un chargeur automatique de documents.

Mon problème est que Set img = dev.Items(1).Transfer(WIA_FORMAT_JPEG) numérise TOUTES les pages à la fois (et pas seulement une seule page), mais je ne vois que le premier dans le fichier image. Parce que toutes les pages sont numérisées à la fois, je ne peux pas le faire dans une boucle - une erreur est signalée dans la deuxième itération (en disant que le chargeur est vide, c'est vraiment) et je n'ai encore que la première page numérisée.

Je voudrais dire que cela semble être un problème commun. J'ai lu beaucoup de discussions sur ce problème, mais je n'ai pas trouver quelque chose qui a répondu à ma question.

J'espère trouver de l'aide ici, je suis vraiment frustré.

Merci beaucoup

OriginalL'auteur Yotam | 2013-06-09