автоматическая рассылка ежедневно обновляемого файла

  • Автор темы Автор темы hoy
  • Дата начала Дата начала
Код:
Sub Click(Source As Button)
Dim NS As New NotesSession
Dim NUIWS As New NotesUIWorkspace
Dim NDB As NotesDatabase
Set NDB=NS.CurrentDatabase
Set docMemo = NDB.CreateDocument
path=NUIWS.OpenFileDialog(False,"выберите файл","excel | *.xls")	'здесь передается расширение твоего файла
If Isempty(path) Then Exit Sub
' инициализация NotesRichTextItem для занесения информации в тело письма
Set rtiBody = New NotesRichTextItem( docMemo, "Body" )

' составление письма
With docMemo
Call .ReplaceItemValue( "Form", "Bookmark" )
Call .ReplaceItemValue( "Subject", "ТЕМА_ПИСЬМА" )
Call .ReplaceItemValue( "SendTo", "Адрес получателя" ) 
End With

' составление тело письма
With rtiBody
Call .AppendText ( "ТЕЛО_ПИСЬМА" )
Call .AddNewLine( 1 )
End With
Set EmbObj=rtiBody.EmbedObject(EMBED_ATTACHMENT,"", path(0))
' отправка письма
Call docMemo.Send( False )

End Sub

В качестве адреса можно передавать сразу всю почтовую группу, если таковая имеется, либо делать рассылку в цикле, если все адреса известны и
где-то хранятся, тогда можно одним кликом разослать письма сразу всем получателям

Только не забудь создать в базе форму Bookmark с полями Subject и SendTo, иначе тема и адресат в письме не отразятся

/Moderated by Morpheus/ Пользуйтесь тегами кода
Не могли бы пожалуйста прислать мне пример создания простейшего приложения для Lotus Notes. Мне нужно, чтобы приложение включало в себя базу данных, кнопку, которая позволяет импортировать сразу 14 заданных файлов (хотя бы 1:) ) и сохранение этих файлов в базе.

Извиняюсь, что тревожу но никак не могу разобраться по хелпу:)
 
Код:
Sub Click(Source As Button)
Dim NS As New NotesSession
Dim NUIWS As New NotesUIWorkspace
Dim NDB As NotesDatabase
Set NDB=NS.CurrentDatabase
Set docMemo = NDB.CreateDocument
path=NUIWS.OpenFileDialog(False,"выберите файл","excel | *.xls")	'здесь передается расширение твоего файла
If Isempty(path) Then Exit Sub
' инициализация NotesRichTextItem для занесения информации в тело письма
Set rtiBody = New NotesRichTextItem( docMemo, "Body" )

' составление письма
With docMemo
Call .ReplaceItemValue( "Form", "Bookmark" )
Call .ReplaceItemValue( "Subject", "ТЕМА_ПИСЬМА" )
Call .ReplaceItemValue( "SendTo", "Адрес получателя" ) 
End With

' составление тело письма
With rtiBody
Call .AppendText ( "ТЕЛО_ПИСЬМА" )
Call .AddNewLine( 1 )
End With
Set EmbObj=rtiBody.EmbedObject(EMBED_ATTACHMENT,"", path(0))
' отправка письма
Call docMemo.Send( False )

End Sub

В качестве адреса можно передавать сразу всю почтовую группу, если таковая имеется, либо делать рассылку в цикле, если все адреса известны и
где-то хранятся, тогда можно одним кликом разослать письма сразу всем получателям

Только не забудь создать в базе форму Bookmark с полями Subject и SendTo, иначе тема и адресат в письме не отразятся

/Moderated by Morpheus/ Пользуйтесь тегами кода

Не подскажите, как добавить файл в базу, не используя функцию

NUIWS.OpenFileDialog(False,"выберите файл","excel | *.xls")
 
и как указать куда именно в базе данных его сохранять?

и как указать куда именно в базе данных его сохранять?
 
Для: Программер
может существует какая-тол процедура в лотусе для создания и сохранения в папку в базе данных готового письма? Если такое есть - то на все остальное - наплевать с высокой колокольни. Но как узнать как такое сделать я не знаю:)
 
Для: hoy
Тебе надо ф-ию Dir и методы NotesRichTextItem'a.
Или ты думаешь, что мы будем сидеть, решать твои задачи?
Тем более, что и так кода выше крыши.
 
Для: hoy
Тебе надо ф-ию Dir и методы NotesRichTextItem'a.
Или ты думаешь, что мы будем сидеть, решать твои задачи?
Тем более, что и так кода выше крыши.
И на том спасибо:)

Просто на работе поставили такую задачу, а как ее сделать - не знаю :unsure:
 
Подскажите еще, пожалуйста, как обратиться к конкретной папке базы данных, чтобы сохранять файлы именно в определенную папку?
 
файлі или документы? вы про что?
Я создаю новое письмо, интегрирую в него файл и это письмо мне не нужно отправлять (т.к. файл более 5 мб и лотус просто слетает при отправке письма)

И еще не подскажете, почему может не запускаться автоматически по времени агент?
 
А как, собственно, стоит задача ? Излагайте шире, мы подсобим. А пока могу только лишь подтвердить, что готовые документы могут быть помещены в папку через PutInFolder
 
А как, собственно, стоит задача ? Излагайте шире, мы подсобим..А пока могу лишь подтвердить, что документы можно поместить в папку через PutInFolder и, разумеется, они должны быть уже соданы, ибо нельзя поместить ничто во что-то, это еще из курса философии должно быть известно ))

А как, собственно, стоит задача ? Излагайте шире, мы подсобим..А пока могу лишь подтвердить, что документы можно поместить в папку через PutInFolder и, разумеется, они должны быть уже соданы, ибо нельзя поместить ничто во что-то, это еще из курса философии должно быть известно ))
 
А как, собственно, стоит задача ? Излагайте шире, мы подсобим..А пока могу лишь подтвердить, что документы можно поместить в папку через PutInFolder и, разумеется, они должны быть уже соданы, ибо нельзя поместить ничто во что-то, это еще из курса философии должно быть известно ))

Я ежедневно с помощью агента создаю 14 писем, в которые вкладываются необходимые файлы.
За пол часа до генерации все эти письма удаляются (чтобы база не разросталась до неймоверных размеров)
Для того чтобы в базу можно было бы записывать кроме этих писем еще и другие, хотелось бы сохранять эти 14 писем в определенную папку.

Подскажите еще, пожалуйста, если у меня есть права на создание агента в базе данных, но при этом нет прав на изменение базы данных, может ли это быть причиной того, что созданный мной агент не запускается по расписанию на исполнение? :o
 
Агент должен быть подписан тем, кто имеет право выполнять операции описанные в агенте...
Подпишите агент сервером...
 

Каждый дизайн-элемент БД имеет подпись, если вы редактируете агент, а потом его сохраняете - он будет подписан Вашим именем. На сервере агент будет работать от имени того, кем он подписан. Для того, что бы он работал от имени сервера, необходимо открыть сервер в админском клиенте, перейти на вкладку files, найти там вашу БД, кликнуть на нее правой княпкой и выбрать меню sign, в предложенном диалоге (кем подписывать) выберите current Server ID.

Учтите, что не все имеют право подписывать элементы дизайна... Обратитесь к админу...
 
Всем огромное спасибо

С вашей помощью я получил азы в разработке приложений для Lotus Notes буду учиться дальше
 
Мы в соцсетях:

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