我有一个每周发送的报告模板,在四个不同的地方(正文中的三个,主题行中的一个)是与前一周的星期一相对应的日期。(基本上,这是我报告的那一周的“一周”日期,通常是前一周。)
我想在光标所在的位置添加一个日期。(如果我能以某种方式在模板中为我想要添加日期的位置设置书签,那就更好了。)我已经对插入文本进行了大量研究,并且在我的示例中一直遇到同样的两个问题一直在寻找:
我可以编写一个宏来打开一条新消息并填充各个区域(主题行、正文等),但我不能让该宏只处理我已经打开的消息。
对于我尝试过的在我已经打开的消息上实际运行的所有示例,我只能让它向正文添加文本。我希望创建一些简单的东西,就像 Word 所做的那样:
Selection.TypeText Text:="Hello!"
这些方法都不适合我。
*edit #1:当然,在我发布这个之后,我发现我发现的一种解决方案是简单地将文本添加到光标现在所在的位置。
TypeName(Application.ActiveWindow) = "Inspector" Then
SendKeys Format(Now, "MMMM dd, yyyy")
DoEvents
End If
如果我坚持这种方法,我只需要知道如何设置它,以便插入前一周星期一的日期而不是今天的日期(我并不总是在同一天运行报告,所以我可以'不仅仅是告诉它做一些简单的事情,比如从今天的日期减去八天)。我还想知道是否可以通过执行查找/替换之类的操作来告诉它将该日期插入多个位置。
*编辑#2:我还遇到了一个快速查找/替换身体的好例子。唯一的问题是它完全去除了所有格式,包括表格、颜色等。
Dim Insp As Inspector
Dim obj As Object
Set Insp = Application.ActiveInspector
Set obj = Insp.CurrentItem
obj.Body = Replace(obj.Body, "xxxxxxxxxx", Format(Now - 8, "MMMM dd, yyyy"))
Set obj = Nothing
Set Insp = Nothing
(您可能还注意到我-8
在日期格式中添加了一个。我想如果我不能让它总是添加我正在寻找的确切日期,我至少可以让它接近。)