Word(2010)更新日期并使用宏保持格式化
问题描述:
我有以下VBA代码以书签格式在代码位置插入日期。它每次打开文件时都插入日期而不删除旧的Boookmark文本,所以我在代码的顶部添加了删除文本,但现在它删除了格式,并且它插入了文本是否有保留格式的方法?Word(2010)更新日期并使用宏保持格式化
Sub AutoOpen()
'
' AutoOpen Macro
'
'
ActiveDocument.Bookmarks("MyDate").Range.Delete
ActiveDocument.Bookmarks("MyDate1").Range.Delete
ActiveDocument.Bookmarks("MyDate2").Range.Delete
ActiveDocument.Bookmarks("MyDate3").Range.Delete
ActiveDocument.Bookmarks("MyDate4").Range.Delete
ActiveDocument.Bookmarks("MyDate5").Range.Delete
ActiveDocument.Bookmarks("MyDate6").Range.Delete
With ActiveDocument.Bookmarks("MyDate").Range
.InsertBefore Format(Date + 1, "dddd dd mmmm yyyy")
End With
With ActiveDocument.Bookmarks("MyDate1").Range
.InsertBefore Format(Date + 2, "dddd dd mmmm yyyy")
End With
With ActiveDocument.Bookmarks("MyDate2").Range
.InsertBefore Format(Date + 3, "dddd dd mmmm yyyy")
End With
With ActiveDocument.Bookmarks("MyDate3").Range
.InsertBefore Format(Date + 4, "dddd dd mmmm yyyy")
End With
With ActiveDocument.Bookmarks("MyDate4").Range
.InsertBefore Format(Date + 5, "dddd dd mmmm yyyy")
End With
With ActiveDocument.Bookmarks("MyDate5").Range
.InsertBefore Format(Date + 6, "dddd dd mmmm yyyy")
End With
With ActiveDocument.Bookmarks("MyDate6").Range
.InsertBefore Format(Date + 7, "dddd dd mmmm yyyy")
End With
End Sub
答
当你说'格式'你是指日期格式,或粗体/斜体等?
在任何情况下,您的代码不会为我运行;当您删除范围时,书签会随之一起移除。对我来说,以下运行,正确格式每个I运行时间日期:
Dim tempRng As Range
Set tempRng = ActiveDocument.Bookmarks("MyDate").Range
tempRng.Text = Format(Date + 1, "dddd dd mmmm yyyy")
ActiveDocument.Bookmarks.Add "MyDate", tempRng
Set tempRng = ActiveDocument.Bookmarks("MyDate1").Range
tempRng.Text = Format(Date + 2, "dddd dd mmmm yyyy")
ActiveDocument.Bookmarks.Add "MyDate1", tempRng
Set tempRng = ActiveDocument.Bookmarks("MyDate2").Range
tempRng.Text = Format(Date + 3, "dddd dd mmmm yyyy")
ActiveDocument.Bookmarks.Add "MyDate2", tempRng
您可以继续它的书签的休息或扔在整个事件中的循环。
代码的顶部代码会删除书签,因此您无法在下面运行“With ...”部分。我错过了什么,或者你错过了一部分代码? – 2013-05-02 12:44:24
KazJaw,代码按原样运行。书签保持不变,Withs的输出工作,并按照每个书签所定义的位置代码格式输出日期。以上是我在文档中的完整代码。 – RebelCom 2013-05-03 09:24:10