• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

  • Автор темы Lesik
  • Дата начала
L

Lesik

Доброго времени суток,
помогите плиз.... появилась задачка прикреплять файл со сканнера в виде аттача. Покопал инет и нашел примеры кнопок здесь
С сохранением в папку все работает, а вот в существующее поле "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_SetCurrentUnits(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" никак не могу понять где я не определил объект.
 
H

hosm

Воспользуйтесь отладчиком, там, скорее всего, в документе нет рт-поля Attach. Мб, надо сохранить документ перед добавлением вложений или создать новое рт-поле
 
L

Lesik

Если документ сохранен, то работает без ошибок))))
Правда аттача нет....(((((
 
L

Lesik

К ответу подобрался уже близко)))
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_SetCurrentUnits(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
Вставляется целая картинка(((( может какой-нибудь метод для аттача есь?
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
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
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_SetCurrentUnits(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
 
L

Lesik

Спасибо! тему можно закрывать :lovecodeby:
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!