将 Excel 中的日期以不同格式粘贴到 Word

Copy date from Excel paste to Word in different format

我有一个宏可以从 Excel 复制某些数据并将它们粘贴到 Word 中,但是我正在寻找一种在粘贴之前修改日期格式的方法。

这当前复制 Excel 中显示的日期,即 16/01/2015

Sub NoFormatPaste()
    wdFind.Replacement.Text = ""
    wdFind.Forward = True
    wdFind.Wrap = wdFindContinue
    wdFind.Execute
    appWd.Selection.PasteSpecial DataType:=wdPasteText
    CutCopyMode = False
End Sub

Cells(Application.ActiveCell.Row, 14).Select
Selection.Copy
wdFind.Text = "DATE"
Call NoFormatPaste

但是我想以不同的格式粘贴它。像这样的东西,但它不起作用。即 2015 年 1 月 16 日星期五

Sub NoFormatDatePaste()
    wdFind.Replacement.Text = ""
    wdFind.Forward = True
    wdFind.Wrap = wdFindContinue
    wdFind.Execute
    appWd.Selection = Format(date_example, "dddd d mmmm yyyy")
    CutCopyMode = False
End Sub

wdFind.Text = "DATE"
Call NoFormatDatePaste

如果需要,我可以粘贴整个代码,这些只是不起作用的部分。

看来您不能只告诉 Word 打印什么值,而这些值实际上需要复制和粘贴。

将您的日期值存储在一个字符串中并将其传递给其他过程:

Dim dateValue as String

dateValue = Cells(Application.ActiveCell.Row, 14).Value

wdFind.Text = "DATE"

Call NoFormatPaste(dateValue)

在其他过程中,不要使用.Paste方法,而是直接插入字符串即可。

Sub NoFormatDatePaste(dateValue as String)

wdFind.Replacement.Text = ""
wdFind.Forward = True
wdFind.Wrap = wdFindContinue
wdFind.Execute
appWd.Selection.InsertAfter Format(dateValue, "dddd d mmmm yyyy")


End Sub