Свойство AppointmentItem "From"

У меня есть этот код для создания встречи Outlook из листа Excel. Работает нормально. Но я использую 2 учетные записи электронной почты в Outlook, и я не знаю, как чередовать узел собрания между этими учетными записями. Какое свойство объекта AppointmentItem изменяет хост собрания?

PS: не "Организатор", я уже пробовал.

введите описание изображения здесь


@РЕДАКТИРОВАТЬ:

Я пытался использовать .SendUsingAccountкак предложил Macro Man, но все еще не меняет отправителя.

Мой код:

Set oApp = CreateObject("Outlook.Application")
Set ItemAppoint = oApp.CreateItem(1)
ItemAppoint.MeetingStatus = olMeeting

'===============Accounts===============
 Dim Var As Object
 Set Var = ItemAppoint.session.accounts

'======================================

With ItemAppoint
    .SendUsingAccount = Var(2) 'The account that I want to use is the index "2"
    .Subject = "Sub"
    .Body = "text"
    .Display
End With

4 ответа

.Organizer свойство только для чтения, вы после .SendUsingAccount свойство для чтения / записи

AppointmentItem.SendUsingAccount

Дополнительные сведения на страницах MSDN: свойство AppointmentItem.SendUsingAccount (Outlook)

Свойство AppointmentItem.SendUsingAccount позволяет указать объект Account, представляющий учетную запись, под которой должен быть отправлен AppointmentItem.

Какое свойство объекта AppointmentItem изменяет хост собрания?

Самый простой способ - создать элемент встречи в папке календаря, который принадлежит определенной учетной записи. Какой код вы используете для создания пунктов встречи?

В статье Практическое руководство. Создание нового элемента назначения Outlook описаны все возможные способы создания элементов назначения в Outlook. Попробуйте найти нужную папку и используйте метод Add Items учебный класс. Например:

 items.Add(Outlook.OlItemType.olAppointmentItem)

Метод GetDefaultFolder объекта Store class возвращает объект Folder, который представляет папку по умолчанию в хранилище и имеет тип, указанный в аргументе FolderType. Этот метод похож на GetDefaultFolder метод NameSpace объект. Разница в том, что этот метод получает папку по умолчанию в хранилище доставки, которая связана с учетной записью, тогда как NameSpace.GetDefaultFolder возвращает папку по умолчанию в хранилище по умолчанию для текущего профиля.

Это работает хорошо.

Sub Test()
Dim oNamespace As Outlook.Namespace
Dim oCalendarFolder As Outlook.MAPIFolder
Dim oItems As Outlook.items
Dim strEntryID As String
Set oOutlook = CreateObject("Outlook.Application")
Set oNamespace = oOutlook.GetNamespace("MAPI")
For Each i In oNamespace.Folders
    If i.Name = "yourEmailIDhere" Then
        For Each j In i.Folders
            If j.Name = "Calendar" Then
                strEntryID = j.EntryID
            End If
        Next j
    End If
Next i
Set oCalendarFolder = oNamespace.GetFolderFromID(strEntryID)
oItems = oCalendarFolder.items
oMeeting = oItems.Add(Outlook.OlItemType.olAppointmentItem)
oMeeting.Save
oMeeting.Display`

End sub`

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

Мне удалось решить эту проблему, напрямую создав встречу внутри папки, которую я хотел:

      Set AppointItem = OutApp.GetNamespace("MAPI").Folders("secondary@hostname.com").Folders("Calendar").Items.Add(Outlook.OlItemType.olAppointmentItem)

Теперь запись создана для secondary@hostname.com счет, а не для default@hostname.com учетная запись.

Другие вопросы по тегам