• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

программно вложить файл

  • Автор темы sam23
  • Дата начала
S

sam23

Как сделать что бы некий заранее известный документ можно было прицепить в заранее известное поле.
Например C:/myfile.doc
Нужно прицепить в поле Brif
 

Kizarek86

Green Team
20.07.2007
871
7
BIT
38
Ну при создании документа цепляй документ в поле. как приатачить документ смотри в поиске, примеров довольно много было на форуме.
 
M

morpheus

Взято из хэлпа

Код:
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim object As NotesEmbeddedObject
Set db = session.CurrentDatabase
Set doc = New NotesDocument( db )
Set rtitem = New NotesRichTextItem( doc, "Brif" )
Set object = rtitem.EmbedObject( EMBED_ATTACHMENT, "", "C:\myfile.doc")
Call doc.Save( True, True )
 
S

sam23

Может я что то не так делаю. только начал изучать Lotus.
Вставляю код в Initialize формы
вот код - Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim object As NotesEmbeddedObject
Set db = session.CurrentDatabase
Set doc = New NotesDocument( db )
Set rtitem = New NotesRichTextItem( doc, "Brif" )
Set object = rtitem.EmbedObject( EMBED_ATTACHMENT, "", "C:\myfile.doc")
Call doc.Save( True, True )

и ничего неполучается. захожу в форму, а документ не влаживается.
Подскажите как сделать
 

Kizarek86

Green Team
20.07.2007
871
7
BIT
38
Повесь код на PostOpen. Но поставь условие:

if (Source.IsNewDoc) Then
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim object As NotesEmbeddedObject
Set db = session.CurrentDatabase
Set doc = source.document
Set rtitem = New NotesRichTextItem( doc, "Brif" )
Set object = rtitem.EmbedObject( EMBED_ATTACHMENT, "", "C:\myfile.doc")
Call doc.Save( True, True )
endif

В твоем коде ты новому документу приатачиваешь файл, а не к текущему.
 
A

Alex_Sun

Ты же каждай раз создаёш документ помимо открываемого, да ещё и без указания формы.
Используй событие PostOpen, а до документа доберайся через Source (set doc = Source.Document)
 
M

morpheus

sam23
савсем всё не так делаете...
начните с азов

в Вашем случае надо делать код на кнопку
Код:
Dim ws as New NotesUIworkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim object As NotesEmbeddedObject
Set db = session.CurrentDatabase
Set doc = ws.CurrentDocument.Document
Set rtitem = New NotesRichTextItem( doc, "Brif" )
Set object = rtitem.EmbedObject( EMBED_ATTACHMENT, "", "C:\myfile.doc")
call ws.CurrentDocument.Refresh(true)

Не партесь и зделайте кнопку на @-Formula
Код:
@Command( [EditGotoField]; "Brif" )
@Command( [EditInsertFileAttachment]; "C:\myfile.doc"" )

з.ы. учите азы. Открывайте книги и штудируйте
 
S

sam23

ничего не получается объясните если можете все подробно
 
M

morpheus

1. что не получаеться?
2. что должно получиться (описание действий пользователя и системы )
 
S

sam23

пробывал сделать кнопку.
пишу в PostOpen код
Dim ws as New NotesUIworkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim rtitem As NotesRichTextItem
Dim object As NotesEmbeddedObject
Set db = session.CurrentDatabase
Set doc = ws.CurrentDocument.Document
Set rtitem = New NotesRichTextItem( doc, "Brif" )
Set object = rtitem.EmbedObject( EMBED_ATTACHMENT, "", "C:\myfile.doc")
call ws.CurrentDocument.Refresh(true)

и создаю кнопку. в Click пишу формулу
@Command( [EditGotoField]; "Brif" )
@Command( [EditInsertFileAttachment]; "C:\myfile.doc"" )
пытаюсь сохранить,он ругается
"конец формулы наступил до того как встретилась строка"
 
M

morpheus

и создаю кнопку. в Click пишу формулу
@Command( [EditGotoField]; "Brif" )
@Command( [EditInsertFileAttachment]; "C:\myfile.doc"" )
зделайте тип кнопки Formula ( сверху поля в котором Вы пишите код стоит вилимо LotusScript, его надо сменить на Formula )
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
пытаюсь сохранить,он ругается
"конец формулы наступил до того как встретилась строка"
Просто кто-то забыл точку с запятой поставить. :rolleyes:

И кавычка лишняя. И два слеша надо.
Короче:
Код:
@Command( [EditGotoField]; "Brif" );
@Command( [EditInsertFileAttachment]; "C:\\myfile.doc" )
 
S

sam23

теперь все нормально сохранилось. но при нажатии на кнопку ничего не происходит
 
M

morpheus

значит нет такого файла на диске С
 
S

sam23

все я разобрался,косяк мой был. а интересно можно програмно нажать клавишу
 
X

Xellos

Как-как... Читайте хелп, он рулез. Там многое есть. Собственно, почти всё, кроме недокументированных возможностей и некоторых неочевидностей.
 
Мы в соцсетях:

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