我会尽可能简短,不要让它过于复杂。我需要从Excel复制名称和姓氏,将其粘贴到Word模板并打印。我有一个巨大的excel文件,我需要将每行中的两列(即E31:F31,E40:F40)复制到Word中的书签中,然后打印出来。
复制的文字显示在Word中,两个单词之间存在较大差距(来自columen E和F),我该如何解决?
Sub Copy_Excel_Cell_to_Word_Form()
Dim wdApp As Object 'Word.Application
Dim wdDoc As Object 'Word.Document
For i = 31 To 60
'Open new instance of Microsoft Word
Set wdApp = CreateObject("Word.Application")
'Make application visible
'wdApp.Visible = False
'Open the word document
Set wdDoc = wdApp.Documents.Open("\\example.doc")
'Copy value
Worksheets(1).Range("E" & i, "F" & i).Copy
'Paste to word document
wdDoc.Bookmarks("WORKER").Range.PasteAndFormat (wdFormatPlainText)
wdDoc.PrintOut
Next
End Sub
答案 0 :(得分:0)
关于你的第二点,试试这个:
声明一个名为workerName
的字符串变量。而不是Worksheets(1).Range("E" & i, "F" & i).Copy
使用
workerName = Worksheets(1).Cells(i,5).Value 'e = 5
workerName = workerName & " " & Worksheets(1).Cells(i,6).Value & vbCr 'f = 6
而不是使用wdDoc.Bookmarks("WORKER").Range.PasteAndFormat (wdFormatPlainText)
使用
wdDoc.Bookmarks("WORKER").Range.Text = workerName
这应该可以消除很大的差距。