2014-09-16 2 views
0

Я хотел бы создать скрипт LotusScript, который добавит указанную базу данных в рабочую область пользователя. Каков наилучший способ создания и, особенно, распространения такого сценария для пользователей? Пользователи имеют электронную почту Microsoft Outlook и не используют почту Lotus Notes.Lotus Notes: Добавить значок рабочего пространства с помощью Lotusscript

+5

Является ли открытие Notes клиент вариант? Затем вы можете просто вызвать URL-адрес, например Notes: //Server/Path/Database.nsf http://www-10.lotus.com/ldd/dominowiki.nsf/dx/notes-urls –

+0

Спасибо Кнуту, я пойду с это решение. –

+0

Хорошо. Я добавил его в качестве ответа, чтобы вы могли задать этот вопрос как принятый. –

ответ

1

Вы можете просто позвонить по URL-адресу, например Notes://Server/Path/Database.nsf, по электронной почте, которую вы можете отправить своим пользователям.

Вы можете найти более подробную информацию о синтаксисе URL here

+0

Спасибо, отличный совет! –

1

В вашем ответе у вас есть два вопроса: создать скрипт и распространить его.

0. LotusScript для добавления значков базы данных
Вы можете использовать NotesUIWorkspace.AddDatabase метод, чтобы добавить иконки базы данных в рабочее пространство пользователей:

Dim ws As New NotesUIWorkspace 

'... 
ws.AddDatabase("Your DB0 Server", "Your DB0 FilePath") 
ws.AddDatabase("Your DB1 Server", "Your DB1 FilePath") 
ws.AddDatabase("Your DB2 Server", "Your DB2 FilePath") 
'... 

1. Распределение любого сценария
Вы можете отправить Notes URL пользователям, которые будут запускать ваш скрипт. Для этого нужно создать Form, который запустить скрипт в PostOpen события:

Sub Postopen(Source As Notesuidocument) 

    Dim ws As New NotesUIWorkspace 

    'Your script here 

    Call ws.CurrentDocument.Close 

End Sub 

Таким образом, лучше создать профиль документа с такой формой и отправить URL этого документа для пользователей:

Dim ses As New NotesSession 
Dim db As NotesDatabase 
Dim doc As NotesDocument 
Dim mdoc As NotesDocument 
Dim body As NotesMIMEEntity 
Dim stream As NotesStream 
Dim nname As NotesName 

Set db = ses.CurrentDatabase 
Set doc = db.GetProfileDocument("YourProfileDocument") 

ses.ConvertMIME = False 

Set mdoc = db.CreateDocument 

mdoc.SendTo = "[email protected]" 
mdoc.Subject = "Take a look" 

Set stream = ses.CreateStream 
Set body = mdoc.CreateMIMEEntity 

Set nname = ses.CreateName(db.Server) 

Call stream.WriteText({Please open this <a href="} & {notes://} & nname.Common & {/} & db.ReplicaID & {/-/} & doc.UniversalID & {">link</a>.}) 

Call body.SetContentFromText(stream, "text/html;charset=utf-8", ENC_IDENTITY_8BIT) 

Call mdoc.Send(False) 

В другой руке, если вы хотите просто добавить некоторые базы данных без каких-либо вычислений, тогда вам не нужен такой скрипт. Как было предложено Knut Herrmann:

Вы можете просто вызвать URL-адрес, например Notes: //Server/Path/Database.nsf.

Но будьте осторожны, он не добавляет значки базы данных в рабочее пространство в более ранних версиях Lotus Notes (7 или более ранних версий).

+1

Предложение Кнута настолько, намного проще. Я даже не вижу, как этот ответ решает вопрос. –

+1

@AndreGuirard Извините за неудобства. Я попытался разъяснить свой ответ. Взгляните на обновленную версию моего ответа. – nempoBu4

+1

Просто протестировал его: вызов URL Notes: // ... ** добавляет ** значок базы данных в рабочее пространство в версиях 8.5.3 и 9.0.1 тоже. –

Смежные вопросы