将 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
我有一个宏可以从 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