Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.94/69: Рейтинг темы: голосов - 69, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 02.08.2009
Сообщений: 74
1

Сканирование

03.09.2011, 23:40. Показов 12734. Ответов 5
Метки нет (Все метки)

Доброго времени суток,
помогите плиз.... появилась задачка прикреплять файл со сканнера в виде аттача. Покопал инет и нашел примеры кнопок здесь http://sysadmins.ru/topic145041.html
С сохранением в папку все работает, а вот в существующее поле "Attach"(RichText) прикрепляться не хочет(

Sub Click(Source As Button)
пишем картинки на диск c:\temp
имена в список AttachPictureName
количество в поле AttachPictureNum
Dim uiws As New NotesUIWorkSpace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim db As NotesDatabase
Dim agent As NotesAgent
Dim item As NotesItem
Dim click As Variant

Dim resulta As Integer
Dim FileName As String
Dim FilePath As String
Dim numPicture As String
Dim FileImportFormat As String
Dim JPEGquality As Integer
Dim devPixelType As Long
Dim rt As NotesRichTextItem
Dim obj As NotesEmbeddedObject
Set uidoc = uiws.currentdocument
Set doc = uidoc.Document
Set rt = doc.GetFirstItem ("Attach")
If TWAIN_IsAvailable <>1 Then
Messagebox("Драйвер TWAIN не установлен на вашем компьютере!")
Exit Sub
End If

TWAIN_FreeNative (hDib)

If TWAIN_OpenDefaultSource() <> 0 Then
Call TWAIN_SetHideUI(1)
Call TWAIN_SetCurrentUnyts(TWUN_INCHES)
Call TWAIN_SetCurrentPixelType(TWPT_GRAY)
Call TWAIN_SetCurrentResolution(150)
Call TWAIN_SetIndicators(1)
Call TWAIN_SetCompression(1)
Call TWAIN_SetImageLayout(0,0,200,200)

hDib = TWAIN_AcquireNative(hwnd,devPixelType)

If hDib <> 0 Then
Else
Msgbox "Изображение не получилось! Ошибка."
Exit Sub
End If
End If
If hDib <> 0 Then

numPicture = doc.GetItemValue("AttachPictureNum")(0)
If numPicture<>"" Then
numPicture=Cstr(Cint(numPicture)+1)
Else
numPicture="1"
End If
FilePath = "c:\temp\"
FileName = FilePath+"image-"+numPicture+".jpg"
Print FileName
FileImportFormat = "JPEG Image"
Call TWAIN_SetSaveFormat(4)
Call TWAIN_SetJpegQuality(50)
If TWAIN_WriteNativeToFilename(hDib, FileName) <> 0 Then
Msgbox "Изображение не записано в файл!"
Else
Set item = doc.ReplaceItemValue("AttachPictureName",FileName)
Call doc.ReplaceItemValue("AttachPictureNum",numPicture)
Set obj= rt.EmbedObject(EMBED_ATTACHMENT,"",FileName)
End If
TWAIN_FreeNative (hDib)
End If
End Sub

На строке "Set obj= rt.EmbedObject(EMBED_ATTACHMENT,"",FileName)" вылетает "Object variable not set" никак не могу понять где я не определил объект.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.09.2011, 23:40
Ответы с готовыми решениями:

Сканирование
Ткните плиз в какую сторону копать. Нужно сканировать бумажные документы и &quot;складывать&quot; их в...

Сканирование
Добрый день! Нужна помошь по сканированию. какие есть варианты сканирования в разные форматы? если...

Сканирование и Pdf
Извините что поднимаю старую тему но есть вопрос Извините что поднимаю немного старую тему....

Опять же про сканирование
Доброго времени! Задача такая.Надо заставить лотус по нажатию на баттон отсканить документ,...

5
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
04.09.2011, 10:15 2
Воспользуйтесь отладчиком, там, скорее всего, в документе нет рт-поля Attach. Мб, надо сохранить документ перед добавлением вложений или создать новое рт-поле
0
0 / 0 / 0
Регистрация: 02.08.2009
Сообщений: 74
04.09.2011, 13:29 3
Если документ сохранен, то работает без ошибок))))
Правда аттача нет....(((((
0
0 / 0 / 0
Регистрация: 02.08.2009
Сообщений: 74
04.09.2011, 14:37 4
К ответу подобрался уже близко)))
Sub Click(Source As Button)
пишем картинки на диск c:\temp
имена в список AttachPictureName
количество в поле AttachPictureNum
Dim uiws As New NotesUIWorkSpace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim db As NotesDatabase
Dim agent As NotesAgent
Dim item As NotesItem
Dim click As Variant

Dim resulta As Integer
Dim FileName As String
Dim FilePath As String
Dim numPicture As String
Dim FileImportFormat As String
Dim JPEGquality As Integer
Dim devPixelType As Long
Set uidoc = uiws.currentdocument
Set doc = uidoc.Document
If TWAIN_IsAvailable <>1 Then
Messagebox("Драйвер TWAIN не установлен на вашем компьютере!")
Exit Sub
End If

TWAIN_FreeNative (hDib)

If TWAIN_OpenDefaultSource() <> 0 Then
Call TWAIN_SetHideUI(1)
Call TWAIN_SetCurrentUnyts(TWUN_INCHES)
Call TWAIN_SetCurrentPixelType(TWPT_GRAY)
Call TWAIN_SetCurrentResolution(150)
Call TWAIN_SetIndicators(1)
Call TWAIN_SetCompression(1)
Call TWAIN_SetImageLayout(0,0,200,200)

hDib = TWAIN_AcquireNative(hwnd,devPixelType)

If hDib <> 0 Then
Else
Msgbox "Изображение не получилось! Ошибка."
Exit Sub
End If
End If
If hDib <> 0 Then

numPicture = doc.GetItemValue("AttachPictureNum")(0)
If numPicture<>"" Then
numPicture=Cstr(Cint(numPicture)+1)
Else
numPicture="1"
End If
FilePath = "c:\temp\"
FileName = FilePath+"image-"+numPicture+".jpg"
Print FileName
FileImportFormat = "JPEG Image"
Call TWAIN_SetSaveFormat(4)
Call TWAIN_SetJpegQuality(50)
If TWAIN_WriteNativeToFilename(hDib, FileName) <> 0 Then
Msgbox "Изображение не записано в файл!"
Else
Set item = doc.ReplaceItemValue("AttachPictureName",FileName)
Call doc.ReplaceItemValue("AttachPictureNum",numPicture)
Call uidoc.GotoField("Attach") переводим курсор на поле
Call uidoc.Import("JPEG Image", FileName) вставляем изображение
Kill FileName прибиваем файл
End If
TWAIN_FreeNative (hDib)
End If
End Sub
Вставляется целая картинка(((( может какой-нибудь метод для аттача есь?
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
04.09.2011, 15:20 5
Sub Click(Source As Button)
пишем картинки на диск c:\temp
имена в список AttachPictureName
количество в поле AttachPictureNum
Dim uiws As New NotesUIWorkSpace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim db As NotesDatabase
Dim agent As NotesAgent
Dim item As NotesItem
Dim click As Variant

Dim resulta As Integer
Dim FileName As String
Dim FilePath As String
Dim numPicture As String
Dim FileImportFormat As String
Dim JPEGquality As Integer
Dim devPixelType As Long
Dim rt As NotesRichTextItem
Dim obj As NotesEmbeddedObject

Set uidoc = uiws.currentdocument
Call uidoc.Refresh(True)
Set doc = uidoc.Document
Set rt = doc.GetFirstItem ("Attach")
If TWAIN_IsAvailable <>1 Then
Messagebox("Драйвер TWAIN не установлен на вашем компьютере!")
Exit Sub
End If

TWAIN_FreeNative (hDib)

If TWAIN_OpenDefaultSource() <> 0 Then
Call TWAIN_SetHideUI(1)
Call TWAIN_SetCurrentUnyts(TWUN_INCHES)
Call TWAIN_SetCurrentPixelType(TWPT_GRAY)
Call TWAIN_SetCurrentResolution(150)
Call TWAIN_SetIndicators(1)
Call TWAIN_SetCompression(1)
Call TWAIN_SetImageLayout(0,0,200,200)

hDib = TWAIN_AcquireNative(hwnd,devPixelType)

If hDib <> 0 Then
Else
Msgbox "Изображение не получилось! Ошибка."
Exit Sub
End If
End If
If hDib <> 0 Then

numPicture = doc.GetItemValue("AttachPictureNum")(0)
If numPicture<>"" Then
numPicture=Cstr(Cint(numPicture)+1)
Else
numPicture="1"
End If
FilePath = "c:\temp\"
FileName = FilePath+"image-"+numPicture+".jpg"
Print FileName
FileImportFormat = "JPEG Image"
Call TWAIN_SetSaveFormat(4)
Call TWAIN_SetJpegQuality(50)
If TWAIN_WriteNativeToFilename(hDib, FileName) <> 0 Then
Msgbox "Изображение не записано в файл!"
Else
Set item = doc.ReplaceItemValue("AttachPictureName",FileName)
Call doc.ReplaceItemValue("AttachPictureNum",numPicture)
Set obj= rt.EmbedObject(EMBED_ATTACHMENT,"",FileName)
End If
TWAIN_FreeNative (hDib)
End If
Call rt.Update()
Call uidoc.Document.ReplaceItemValue("SaveOptions", "0")
Call uidoc.Close(True)
Set uidoc = ws.EditDocument(True, doc, False)
Call uidoc.Document.RemoveItem("SaveOptions")

End Sub
0
0 / 0 / 0
Регистрация: 02.08.2009
Сообщений: 74
05.09.2011, 10:33 6
Спасибо! тему можно закрывать :lovecodeby:
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.09.2011, 10:33

Сканирование из VB
Подкажите, есть-ли возможность отсканировать изображение ручным сканером, подключенным к COM-порту...

Сканирование
В общем возможно хочу бред сделать но все же... :pardon: Имеется эмулятор(в моем случае PPSSPP...

Сканирование IP
(Извиняюсь, не знаю в какой теме написать) Как можно просканировать свой динамический ip на...

Сканирование
Здравствуйте! Помогите пожалуйста с задачкой: На форме есть текстбокс, и две кнопки. Одна для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.