Работа со сканером напрямую из Lotus Notes
Wednesday, 15. February 2006, 13:25:45
Помещаем библиотеку в директорию приложений Lotus (по умолчанию c:\Lotus\Notes)
Создаем агента или кнопку.
Декларируем функции из библиотеки
Dim hDib As Long Dim hPal As Long Dim nPixTypes As Long REM Used by several calls to get handle to current window Dim hWND As Long Declare Function [B]TWAIN_AcquireNative[/B] Lib_ "EZTW32.DLL" (Byval hWndApp%, Byval wPixTypes%) As Integer Declare Function [B]TWAIN_AcquireToClipboard[/B] Lib_ "EZTW32.DLL" (Byval hwndApp%, Byval wPixTypes%) As Integer Declare Function [B]TWAIN_AcquireToFilename[/B] Lib_ "EZTW32.DLL" (Byval hwndApp%, Byval bmpFileName$) As Integer Declare Function TWAIN_SelectImageSource Lib "EZTW32.DLL" (Byval hwndApp%) As Integer Declare Function TWAIN_IsAvailable Lib "EZTW32.DLL" () As Integer Declare Function TWAIN_EasyVersion Lib "EZTW32.DLL" () As Integer Declare Function TWAIN_State Lib "EZTW32.DLL" () As Integer Declare Function TWAIN_WriteNativeToFilename Lib_ "EZTW32.DLL" (Byval hBitmap%, Byval bmpFileName$) As Integer Declare Function TWAIN_DibDepth Lib "EZTW32.DLL" (Byval hdib%) As Integer Declare Function TWAIN_DibWidth Lib "EZTW32.DLL" (Byval hdib%) As Integer Declare Function TWAIN_DibHeight Lib "EZTW32.DLL" (Byval hdib%) As Integer Declare Function TWAIN_DibNumColors Lib "EZTW32.DLL" (Byval hdib%) As Integer
Вариант 1: Сканирование образа в текущий документ
Sub Initialize ' Сканирует документ в буфер обмена и помещает из буфера в поле Body Call TWAIN_AcquireToClipboard(0,0) Dim workspace As New NotesUIWorkspace Dim uidoc As NotesUIDocument Set uidoc = workspace.CurrentDocument Call uidoc.GotoField( "Body" ) Call uidoc.Paste End Sub
Вариант 2: Сканирование образа и отправка по почте с присоедененным файлом
Sub Initialize ' Сканирует документ и отправляет по почте на указанный адрес ' адрес получателя SendTo$="**@****.***.ua" ' имя сканируемого файла FileName$="c:\scandoc.bmp" Dim db As New NotesDatabase( "", "" ) Dim memo As NotesDocument Dim rt As NotesRichTextItem Dim o As NotesEmbeddedObject Call TWAIN_AcquireToFilename(0,FileName$) Call db.OpenMail Set memo= New NotesDocument( db ) memo.Form="Memo" memo.SendTo = SendTo$ memo.Subject = "новый отсканированный документ" Set rt = New NotesRichTextItem( memo, "Body" ) Set o = rt.EmbedObject ( EMBED_ATTACHMENT, "", FileName$) Call memo.Send( False ) End Sub
Библиотека и представленные примеры находятся в архиве.
ScanEZTWLotusNotes.zip 31KbДля использования в своем коде заимпортируйте или скопируйте код из текстовых файлов.








