【问题标题】:Outlook 2010 VBS how to add meeting to specific calendar [duplicate]Outlook 2010 VBS如何将会议添加到特定日历[重复]
【发布时间】:2018-01-31 07:13:21
【问题描述】:

我正在尝试设置 VBS,以便在按下命令按钮时在特定日历(非默认)中创建会议。我的代码有效,但在默认日历中创建会议。我试过玩弄它,但我是 VBS 的新手(主要使用 VBA)。我知道 VBA 和 VBS 是相似的,所以我确信必须调整一些小的东西。我希望将会议放置在名为“测试”的日历中,该日历位于“我的日历”下。

Sub commandbutton1_Click()

If CommandButton1 = False Then
Dim objOL 'As Outlook.Application
Dim objAppt 'As Outlook.AppointmentItem

Const olAppointmentItem = 1
Const olMeeting = 1
Const olFree = 0


Set objOL = CreateObject("Outlook.Application")
Set objAppt = objOL.CreateItem(olAppointmentItem)

objAppt.Subject = "My Test Appointment"
objAppt.Start = #8/24/17 3:50:00 PM#
objAppt.Duration = 1
objAppt.Location = "Followup"
objAppt.Body = "Test Verbiage"
objAppt.ReminderMinutesBeforeStart = 1
objAppt.BusyStatus = olFree
objAppt.Save()
Set objAppt = Nothing
Set objOL = Nothing

End If


End Sub

【问题讨论】:

  • 顺便说一句 - 我的印象是无法通过命令按钮在 Outlook 中执行 VBA 代码。如果我错了,请告诉我,因为我更喜欢使用 VBA。谢谢!
  • 代码的哪一部分指定了会议的地点?
  • 是共享日历吗?您需要指定日历名称-
  • 目前它还不是共享日历。目前它只是我在我的日历下创建的一个名为测试的日历

标签: vba vbscript outlook outlook-form


【解决方案1】:

试试这个:

Sub commandbutton1_Click()

If CommandButton1 = False Then

Const olAppointmentItem = 1
Const olMeeting = 1
Const olFree = 0

Set objOutlook = CreateObject("Outlook.Application")
Set objNamespace = objOutlook.GetNamespace("MAPI")

Set objDictionary = CreateObject("Scripting.Dictionary")

objDictionary.Add "August 24, 2017", "My Test Appointment"


colKeys = objDictionary.Keys

For Each strKey in colKeys
dtmApptDate = strKey
strApptName = objDictionary.Item(strKey)

Set objAppt = objOutlook.CreateItem(olAppointmentItem) 
objAppt.Subject = strApptName
objAppt.Start = dtmApptDate & " 3:50 PM"
objAppt.Duration = 1
objAppt.Location = "Followup"
objAppt.Body = "Test Verbiage"
objAppt.ReminderSet = True
objAppt.ReminderMinutesBeforeStart = 1
objAppt.AllDayEvent = True
objAppt.BusyStatus = olFree
objAppt.Save
Next


End If


End Sub

【讨论】:

  • 试一试。我收到一个错误:无效的过程调用或参数:'objNamespace.GetDefaultFolder'
  • 删除 Set objCalendar = objNamespace.GetDefaultFolder(olFolderCalendar) 并重试 Odd,但对我来说没有发生任何不好的事情。我已经编辑了原始脚本。还包括 End if 和 End 子字符串
  • 好的,代码执行了,但是我们又回到了原来的位置。将创建一个会议,但它是在默认日历中创建的。我需要在我创建的名为 Test 的日历中制作它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-02
  • 2023-03-30
  • 1970-01-01
  • 2014-05-03
  • 1970-01-01
  • 2016-09-25
  • 1970-01-01
相关资源
最近更新 更多