我有一个从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要打印的值,并且值实际上需要复制和粘贴。
答案 0 :(得分:1)
将日期值存储在字符串中并将其传递给其他过程:
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