1

我正在编写一个创建和更新 Outlook 注释的脚本。一切正常,除了一个问题。

它在我的个人邮箱上创建和更新便笺,我需要它在我们都可以访问的部门邮箱上创建和维护便笺(我在 Outlook 中设置了两个帐户)。

尽管脚本由部门邮箱上的规则触发并获得部门邮箱的邮件项目,但它仍以这种方式运行。我如何告诉 VBS/Outlook 我想使用哪些笔记文件夹/帐户?我在任何地方都找不到概述如何选择将在哪个帐户下创建笔记的任何内容。

我正在使用 Outlook 2016。

Set olkFolder = Session.GetDefaultFolder(olFolderNotes)
Set olkNote = olkFolder.Items.Find("[Subject] = 'Sequential Number'")
If TypeName(olkNote) = "Nothing" Then
    Set olkNote = Application.CreateItem(olNoteItem)
    olkNote.Body = "Sequential Number" & vbCrLf & "NextValue=" & STARTING_VALUE + 1
    GetNextNumber = STARTING_VALUE
Else
    arrLines = Split(olkNote.Body, vbCrLf)
    For Each varLine In arrLines
        If Left(varLine, 10) = "NextValue=" Then
            GetNextNumber = CInt(Mid(varLine, 11))
            olkNote.Body = "Sequential Number" & vbCrLf & "NextValue=" & GetNextNumber + 1
        End If
    Next
End If
4

2 回答 2

0

您可以移动您创建的笔记或直接添加到其他帐户的文件夹中。

从链接中,添加代码:

Sub AddContact() 
    Dim myNamespace As Outlook.NameSpace 
    Dim myFolder As Outlook.Folder 
    Dim myItem As Outlook.ContactItem 
    Dim myOtherItem As Outlook.ContactItem 

    Set myNamespace = Application.GetNamespace("MAPI") 
    Set myFolder = myNamespace.GetDefaultFolder(olFolderContacts) 
    Set myOtherItem = myFolder.Items("Dan Wilson") 
    Set myItem = myFolder.Items.Add 
    myItem.CompanyName = myOtherItem.CompanyName 
    myItem.BusinessAddress = myOtherItem.BusinessAddress 
    myItem.BusinessTelephoneNumber = myOtherItem.BusinessTelephoneNumber 
    myItem.Display 
End Sub

如果您的导航窗格中有邮箱,请“向下导航”。https://stackoverflow.com/a/6116820/1571407

ns.Folders("Personal Folders").Folders("Inbox")

在您的代码中:

Set olkFolder = ns.Folders("name of other mailbox").Folders("Notes")

无论该文件夹是否在您的导航窗格中,您都可以使用CreateRecipient,如另一个答案中所述。

于 2017-04-07T15:27:42.567 回答
0

不使用,而是使用/并调用Application.CreateItem从另一个邮箱打开文件夹,或者(如果邮箱在 Outlook 中已经可用)从并(再次)调用开始向下钻取到该文件夹​​。Application.Session.CreateRecipientApplication.Session.GetSharedDefaultFolderMAPIFolder.Items.AddApplication.Session.FoldersMAPIFolder.Items.Add

代替

Set olkFolder = Session.GetDefaultFolder(olFolderNotes)
...
Set olkNote = Application.CreateItem(olNoteItem)

set recip = Session.CreateRecipient("SomeOtherUser@YourDomain.demo")
Set olkFolder = Session.GetSharedDefaultFolder(recip, olFolderNotes)
...
Set olkNote = olkFolder.Items.Add
于 2017-04-07T17:29:38.857 回答