我最近一直在思考这个问题,因为它最近出现了两次。使用外表,我该如何安排某件事the day before the nth Wednesday of the month
?由于一个月可以从一周中的任何一天开始,所以第二个星期二可能在第三个星期三之前(这些都是例子)。反之亦然,the day after the second Tuesday of the month
我该如何安排呢?对于“前一天”,我能想到的最好的办法是使用提前足够久的提醒。对于后一天,我完全找不到主意。
答案1
以下是两种方法,一种是纯手动的,另一种是使用 Excel 和 Outlook。这两种方法可能比手动创建会议更费力,但它们确实回答了这个问题。
方法 1:手动
- 在 Outlook 中,创建该月第 n 个星期三的系列
- 对于每次单独的会议,将其修改为前一天(或后一天)。
可以通过这种方式修改系列中的每个单独的会议,而不会影响该系列的其余部分。
方法 2:通过 Excel 导出/导入
- 在 Outlook 中,创建一个新的临时日历,命名为 Temp
- 在 Temp 中,创建该月第 n 个星期三的系列
- 将温度导出到 CSV 文件
- 使用 Excel 打开 CSV 文件
- 在所有日期中添加(或减去)1 天(一次操作)
- 将 CSV 文件重新导入 Outlook 主日历。
有关上述内容的更多详细信息,请参阅:
- 在日期中添加或减去天数的 3 种方法(Excel)
- 更改定期预约的结束日期
文章本身并不有趣,除了详细说明如何将定期会议导出到 CSV 文件。
答案2
同意 Steven 的观点,因为您只需要每月为特定日期设置一次日历项目,因此手动创建它并不麻烦。
根据我在 Outlook 客户端上的测试,似乎没有办法直接设置。作为一种解决方法,建议您可以尝试将您的时区更改为比当前时区早 24 小时的时区(文件>选项>日历>时区),并创建一个每月第 n 个工作日的日历项。然后切换回原始时区。这样,会议就会显示在原始时区每月第 n 个工作日的前一天,这可以满足您的期望。
答案3
我提供了两种替代方案,从所需步骤/操作速度来看它们可能是最简单的。
(花在熟悉和使用每个解决方案上的时间) 与 (节省的操作时间/减少出错的可能性) 之间的平衡在很大程度上取决于您需要使用它的频率。这适用于此处或其他答案中的任何解决方案。如果您打算安排相当多的此类会议和/或重复会议持续数周,那么我会选择方法 2。
方法 1
这是“时区方法”的一个更简单的变体。
- 创建会议。
- 勾选时区
- 如果您希望在“第 n 个星期三的前一天
HH:MM
”召开会议(例如,下午 2 点,HH:MM = 14:00
),请将定期会议设置为第 n 个星期三,UTC+12,时间hh:MM
为hh = (HH+5+12) mod 24
,示例中为hh=7
。数字 5 源自您的 UTC-5,数字 12 源自用于会议的 UTC+12。鉴于 HH:MM 的范围从 00:00 到 23:59,这允许您在不早于上午 7 点开始会议,但这看起来不是一个问题。我刚刚测试过这个(我现在是 UTC-3),效果很好。请注意,存在 UTC+14,非常引人注目... - 如果您希望在“第 n 个星期二的后一天
HH:MM
”召开会议,则可以使用类似的方法,使用 UTC-12。鉴于您使用的是 UTC-5,这只能让您在不晚于上午 6:59 开始会议,可能毫无用处。
方法 2
使用 VBA。也许最简单的方法是像往常一样设置定期会议,并使用 VBA 宏将时间更改为早一天或晚一天。您可以在执行这些操作时录制宏,这样就可以获得宏的基本结构。录制的宏中的结果日期是固定的。您可以编辑宏以应用简单的数学运算来计算日期,而不是固定值。
这需要一些时间(取决于您的编程/VBA 技能,可能从 30 分钟到无限长),但可能不会比通过 Excel 的替代方案花费更多时间(1,2)。
这样做的好处是,一旦您拥有它,它就会比其他的更简单/更快。此外,您可以在功能区上添加一个按钮,使其更加容易。
注意:多年来,我随身VbaProject.OTM
携带并更新了大约 100 个宏,这为我节省了大量时间,并大大降低了出错的可能性。
答案4
所有这些都很好(我猜);但是为什么微软不能解决这个问题?它一直都是这样,没有任何改变。许多年前,我们使用 Novell Groupwise,他们有能力在几天前/几天后做你能想到的一切。微软,加油,给我们我们一直要求的东西!