我是第一次在outlook中编写一个宏,需要一些excel函数。所以我去工具>引用并选择" Microsoft Excel 15.0对象库",然后在即时窗口中对其进行测试。以下是我在即时窗口中写的内容:
? WorksheetFunction.Weekday(Now(), 2)
有一些可观察但最小的滞后(可能只有0.2秒或更短)以显示答案,但如果我在excel中尝试相同的事情则不是这种情况。我不得不承认这并没有太大的伤害宏,但我很好奇。为什么outlook会使工作表函数对象变慢?我是以错误的方式添加库吗?
更新: 关于防止不合格的引用,我应该使用下面的代码
Dim oExcel As Excel.Application
Set oExcel = CreateObject("Excel.Application")
'main body here
oExcel.Quit
Set oExcel = Nothing
答案 0 :(得分:3)
WorksheetFunction
对象是Excel Application
对象的成员。当您从Outlook呼叫WorksheetFunction
成员时,您将隐式创建Excel实例,这需要一段时间才能加载。
如果您需要WeekDay功能,VBA库中已经有类似功能:
功能工作日(日期,[FirstDayOfWeek为VbDayOfWeek = vbSunday])
VBA.DateTime的成员