安排当月第 n 个工作日的前一天(或后一天)

安排当月第 n 个工作日的前一天(或后一天)

我最近一直在思考这个问题,因为它最近出现了两次。使用外表,我该如何安排某件事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 主日历。

有关上述内容的更多详细信息,请参阅:

答案2

同意 Steven 的观点,因为您只需要每月为特定日期设置一次日历项目,因此手动创建它并不麻烦。

根据我在 Outlook 客户端上的测试,似乎没有办法直接设置。作为一种解决方法,建议您可以尝试将您的时区更改为比当前时区早 24 小时的时区(文件>选项>日历>时区),并创建一个每月第 n 个工作日的日历项。然后切换回原始时区。这样,会议就会显示在原始时区每月第 n 个工作日的前一天,这可以满足您的期望。

答案3

我提供了两种替代方案,从所需步骤/操作速度来看它们可能是最简单的。

(花在熟悉和使用每个解决方案上的时间) 与 (节省的操作时间/减少出错的可能性) 之间的平衡在很大程度上取决于您需要使用它的频率。这适用于此处或其他答案中的任何解决方案。如果您打算安排相当多的此类会议和/或重复会议持续数周,那么我会选择方法 2。

方法 1

这是“时区方法”的一个更简单的变体。

  1. 创建会议。
  2. 勾选时区
  3. 如果您希望在“第 n 个星期三的前一天HH:MM”召开会议(例如,下午 2 点,HH:MM = 14:00),请将定期会议设置为第 n 个星期三,UTC+12,时间hh:MMhh = (HH+5+12) mod 24,示例中为hh=7。数字 5 源自您的 UTC-5,数字 12 源自用于会议的 UTC+12。鉴于 HH:MM 的范围从 00:00 到 23:59,这允许您在不早于上午 7 点开始会议,但这看起来不是一个问题。我刚刚测试过这个(我现在是 UTC-3),效果很好。请注意,存在 UTC+14,非常引人注目...
  4. 如果您希望在“第 n 个星期二的后一天HH:MM”召开会议,则可以使用类似的方法,使用 UTC-12。鉴于您使用的是 UTC-5,这只能让您在不晚于上午 6:59 开始会议,可能毫无用处。

方法 2

使用 VBA。也许最简单的方法是像往常一样设置定期会议,并使用 VBA 宏将时间更改为早一天或晚一天。您可以在执行这些操作时录制宏,这样就可以获得宏的基本结构。录制的宏中的结果日期是固定的。您可以编辑宏以应用简单的数学运算来计算日期,而不是固定值。
这需要一些时间(取决于您的编程/VBA 技能,可能从 30 分钟到无限长),但可能不会比通过 Excel 的替代方案花费更多时间(12)。
这样做的好处是,一旦您拥有它,它就会比其他的更简单/更快。此外,您可以在功能区上添加一个按钮,使其更加容易。
注意:多年来,我随身VbaProject.OTM携带并更新了大约 100 个宏,这为我节省了大量时间,并大大降低了出错的可能性。

在此处输入图片描述(尽管在 MSOffice 环境中有一些东西无法通过 VBA 访问)。

答案4

所有这些都很好(我猜);但是为什么微软不能解决这个问题?它一直都是这样,没有任何改变。许多年前,我们使用 Novell Groupwise,他们有能力在几天前/几天后做你能想到的一切。微软,加油,给我们我们一直要求的东西!

相关内容