1. Отправляете всем пользователям письмо, в котором создаете кнопку, при нажатии которой и дожны пройти изменения
беру у себя с примера не проверяя, так что проверьте на тесте сначала
Const VIEW_LOCATION_NAME = "($Locations)"
Const VIEW_CONNECTION_NAME = "($Connections)"
Const OLD_DOMAIN_NAME = "Название домена _ Старое"
Const NEW_DOMAIN_NAME = "Название домена _ Новое"
Sub Click(Source As Button)
Dim session As New NotesSession
Dim dbNab As NotesDatabase
Dim view As NotesView
Dim note As NotesDocument
Dim sNamesLine As String
Dim nPos As Integer
Dim sDomainValue As String
Dim bNeedsUpdate As Integer
Dim bLocationModified As Integer
On Error Resume Next
sNamesLine = session.GetEnvironmentValue("names",True)
nPos = Instr(sNamesLine, ",")
If nPos > 0 Then
sNamesLine = Left$(sNamesLine, nPos-1)
Else
sNamesLine = "names.nsf"
End If
Set dbNab = New NotesDatabase( "",sNamesLine )
If Not(dbNab.isOpen) Then
Messagebox("Не удалось")
Exit Sub
End If
Set view = dbNab.GetView(VIEW_LOCATION_NAME)
If (view Is Nothing) Then
Messagebox("книга отсутствует.")
Exit Sub
End If
Set note = view.GetFirstDocument
While Not(note Is Nothing)
sDomainValue = note.Domain(0)
If Lcase(sDomainValue) = Lcase(OLD_DOMAIN_NAME) Then
note.Domain = NEW_DOMAIN_NAME
note.MailServer="Название сервера "
Call note.save(True,False)
bLocationModified = True
End If
Set note = view.GetNextDocument(note)
Wend
Set view = dbNab.GetView(VIEW_CONNECTION_NAME)
If (view Is Nothing) Then
Messagebox("книга отсутствует.")
Exit Sub
End If
Set note = view.GetFirstDocument
While Not(note Is Nothing)
bNeedsUpdate = False
sDomainValue = note.SourceDomain(0)
If Lcase(sDomainValue) = Lcase(OLD_DOMAIN_NAME) Then
note.SourceDomain = NEW_DOMAIN_NAME
note.MailServer="Название сервера "
bNeedsUpdate = True
End If
sDomainValue = note.DestinationDomain(0)
If Lcase(sDomainValue) = Lcase(OLD_DOMAIN_NAME) Then
note.SourceDomain = NEW_DOMAIN_NAME
note.MailServer="Название сервера"
bNeedsUpdate = True
End If
If (bNeedsUpdate) Then Call note.save(True, False)
Set note = view.GetNextDocument(note)
Wend
Set note = dbNab.CreateDocument
If (bNeedsUpdate) Then
Messagebox("переоткройте.")
Else
Messagebox("Спасибо")
End If
End Sub
Здесь смысл, что указывается название старого домена, с которым сравнивается домен указанный в месте вызова сотрудника, и если старое название совподает, то тогда укажется новый домен, название сервера, ну и можно дописать другие данные, которые надо поменять автоматически у всех