我正在编写一个创建和更新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
答案 0 :(得分:0)
您可以move您创建的备注,也可以add直接转到其他帐户中的文件夹。
从链接中,添加代码:
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,如另一个答案中所述。
答案 1 :(得分:0)
不使用Application.CreateItem
,而是使用Application.Session.CreateRecipient
/ Application.Session.GetSharedDefaultFolder
从另一个邮箱打开文件夹并调用MAPIFolder.Items.Add
或(如果邮箱已在Outlook中可用)从Application.Session.Folders
开始直到该文件夹,然后(再次)致电MAPIFolder.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