如何在Word替换中保持日期格式?



我正在替换Word文档中的一些标记,其中一些替换涉及日期,但是,当代码进行替换时,它保留了在公式栏中显示的日期格式。2/21/2022,当实际在单元格中的日期是21-Feb-2022时,我确实需要保持单元格中的格式,但我找不到任何方法来保持或修改日期格式。

在涉及的代码部分上面

Set WordDoc = WordApp.Documents.Open(FileName:=Ubicación, ReadOnly:=False)   'Open Template

For CustCol = 1 To 20 'Move Through 9 Columns 
TagName = Sheets("MX-2022").Cells(4, CustCol).Value 'Tag Name
TagName.Select
TagValue = Sheets("MX-2022").Cells(Found.Row, CustCol).Value 'Tag Value
With WordDoc.Content.Find   
.Text = TagName
.Replacement.Text = TagValue
.Wrap = wdFindContinue
.Execute Replace:=wdReplaceAll 'Find & Replace all instances
End With
Next CustCol

我对任何解决方案都是开放的,即使它涉及到添加一个撇号来将日期更改为文本,只要我能够回到日期格式(因为是的,除了替换之外,我还需要将其保留为其他用途的日期)

  • 范围。Value属性返回日期的数值。
  • 。Text属性返回日期的格式化文本。

或者您可以使用Format函数来格式化日期的数值:

Format$(YourRange.Value, "dd-mmm-yyyy")

这样做的优点/缺点是,如果有人更改了Excel单元格中的格式,它将在Word中修复。您可能希望或不希望将Word格式更改为Excel单元格格式。
如果使用Format(),则固定为您定义的任何内容。如果你使用Range.Text,它将改变Excel单元格的数字格式(谁曾经改变过它)。

最新更新