Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2010, 11:00   #1
Jarik
Пользователь
 
Регистрация: 28.02.2008
Сообщений: 53
Восклицание VBA to Lotus Notes. Multiple mailboxes

Господа,

изрядно полазив по интернету, так и не нашел ответа на следующий вопрос:

в Лотусе есть личный и групповой ящик. Необходимо, чтобы драфт формировался в груповом ящике. Как это сделать?

Спасибо!

Вот код, который использую для формирования драфта:
Код:
Sub MakeDraft(client, mail1, mail2, attachment)
    Dim Maildb, richStyle As Object
    Dim UserName As String
    Dim MailDbName As String
    Dim MailDoc As Object
    Dim session As Object
    Dim recipient As String
    Dim ccRecipient As String
    Dim bccRecipient As String
    Dim subject As String
    Dim Attachment1 As String
    Dim NotesRTF As Object
    
    ' Получатели
    recipient = mail1
    ccRecipient = mail2
    
    'тема письма:
    subject = Sheets("DRAFT2").Cells(5, 3)
    
    ' creating a notes session
    Set session = CreateObject("Notes.NotesSession")
    UserName = session.UserName
    MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
    Set Maildb = session.GetDatabase("", MailDbName)
    
    If Maildb.IsOpen <> True Then
        On Error Resume Next
        Maildb.OpenMail
    End If
    
    Set MailDoc = Maildb.CreateDocument
    MailDoc.Form = "Memo"
    Set richStyle = session.CreateRichTextStyle
    Set NotesRTF = MailDoc.CreateRichTextItem("Body")
    
    MailDoc.Principal = "Group mail box"
    ' Сформировать текст
    Call NotesRTF.AppendText(Sheets("DRAFT2").Cells(7, 3))

   ' Call NotesRTF.AddNewLine(1)
    
    
    
    ' Прикрепить Attachment
    If attachment Then
    
        
    
        rtitem = ""
        rtitem = Sheets("DRAFT2").Cells(30, 3) & Sheets("DRAFT2").Cells(32, 3)
        
        If rtitem <> "" Then
            Call NotesRTF.EMBEDOBJECT(1454, "", rtitem)
            'Set attachME = MailDoc.CreateRichTextItem("rtitem")
            'Set EmbedObj1 = attachME.EmbedObject(1454, "", rtitem, "Attachment")
            'MailDoc.CreateRichTextItem ("rtitem")
        End If
    End If
    
    'loading the lotus notes e-mail with the inputed data
    
    With MailDoc
        .SendTo = recipient
        .copyto = ccRecipient
        .subject = subject
    End With
    
    
    'saving message
    MailDoc.SaveMessageOnSend = True
    Call MailDoc.Save(True, True)
    
End Sub
Jarik вне форума Ответить с цитированием
Старый 17.09.2010, 11:48   #2
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

необходимо в этой строке:

Код:
MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
указать название файла .nsf группового ящика
EugeneS вне форума Ответить с цитированием
Старый 17.09.2010, 12:25   #3
Jarik
Пользователь
 
Регистрация: 28.02.2008
Сообщений: 53
По умолчанию

К сожалению, это не помогло. Может, еще необходимо какие-то установки прописать?
Jarik вне форума Ответить с цитированием
Старый 17.09.2010, 12:46   #4
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

Вы уверены, что верно указали базу? Название бокса в рабочей области и название файла .nsf не всегда совпадают. Правой кнопкой мыши на боксе групповой базы - База данных - Свойства, там указано полное имя и расширение

Еще здесь:

Код:
Set Maildb = session.GetDatabase("", MailDbName)
необходимо указать сервер, если он отличается от предыдущего, например:

Код:
Set Maildb = Session1.GETDATABASE("KVHOML3/Kiev/VGA/Ua", MailDbName)
Найти сервер можно там же: База данных - Свойства

Последний раз редактировалось EugeneS; 17.09.2010 в 12:57.
EugeneS вне форума Ответить с цитированием
Старый 17.09.2010, 13:21   #5
Jarik
Пользователь
 
Регистрация: 28.02.2008
Сообщений: 53
По умолчанию

Спасибо! Замечание про путь к базе оказалось существенным.
Jarik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск