将Excel电子表格与Outlook日历同步或链接



早上好,

我想将Excel电子表格与Outlook日历同步。

此电子表格每5-10分钟更新一次。是否可以设置一些定期更新,或者我应该手动完成所有操作?

我在网上找到了很多例子,展示了如何将Excel数据导出到Outlook,但只有一个操作,必须重复。

这里提供了一个合理的选择:https://classroom.synonym.com/sync-yahoo-calendar-android-device-8556.html但这与我想要的完全相反,因为它将日历嵌入到Excel中。我想链接Excel孢子表与Outlook日历。

有没有办法做到这一点,即通过VBA、PHP、SQL等?

通常编程这样的操作可以通过两种方式完成:轮询或事件驱动。

轮询意味着使用计时器在每一段时间内重复进行工作。搜索"VBA"one_answers"计时器"。

事件驱动意味着您将订阅某个事件。当事情发生变化时,另一方会提出一个事件。就像订阅报纸一样:当世界上发生什么事情时,报童送报纸。当你听到或看到报童时,你会走到邮箱前清空它

通常,事件驱动是最漂亮的解决方案,因为它不需要大量的CPU(以报纸为例,你可以坐下来放松,直到报纸送达(。但是,当您进行轮询时,每次都必须检查邮箱(日历(。

这是一个Items.ItemChange事件,关于项目何时发生更改。我希望它能满足你的需要。如果您想更好地了解它是如何工作的,请搜索"事件处理"。

如果链接断开,下面是该页面的示例:

Public WithEvents myOlItems As Outlook.Items 
Public Sub Initialize_handler() 
Set myOlItems = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderCalendar).Items 
End Sub 

Private Sub myOlItems_ItemChange(ByVal Item As Object) 
Dim prompt As String 
If VBA.Format(Item.Start, "h") >= "17" And Item.Sensitivity <> olPrivate Then 
prompt = "Appointment occurs after hours. Mark it private?" 
If MsgBox(prompt, vbYesNo + vbQuestion) = vbYes Then 
Item.Sensitivity = olPrivate 
Item.Display 
End If 
End If 
End Sub

最新更新