让我说我对VBA非常陌生,所以我们非常感谢您的帮助。有人找我,想看看我是否能创建一个基本的自动化水平。需要的是通过按钮将数据从Excel导出到Word。
最终目标是在excel中具有数据字段;名字"姓氏"地址";"联系人号码";。然后选择一个人的整行(B1、B2、B3、B4(,当按下"宏"按钮时,它会打开一个word文档,并将字段预先填充到文档中。这是为了预先填充信件以供发送,此人还表示,邮件合并并不能满足他们的需要。以下是我正在处理的内容。
Sub ExcelToWord()
Dim wordApp As Word.Application
Dim mydoc As Word.Document
Set wordApp = New Word.Application
wordApp.Visible = True
Set mydoc = wordApp.Documents.Add()
ThisWorkbook.Worksheets("sheet1").Range("").Copy
mydoc.Paragraphs(1).Range.PasteExcelTable _
LinkedToExcel:=False, _
WordFormatting:=False, _
RTF:=False
mydoc.SaveAs2 "MyDoc"
End Sub
这允许诸如(A2、B3(的特定范围;选择";地区如果这是非常基本的,我很抱歉,但正如我所说,我并没有真正使用VBA。
如果我理解你的问题,我认为你只需要替换:
ThisWorkbook.Worksheets("sheet1").Range("").Copy
发件人:
Selection.Copy
您似乎需要使用Application.Selection属性,该属性为Application对象返回活动工作表上当前选定的对象。
Sub ExcelToWord()
Dim wordApp As Word.Application
Dim mydoc As Word.Document
Set wordApp = New Word.Application
wordApp.Visible = True
Set mydoc = wordApp.Documents.Add()
ThisWorkbook.Worksheets("sheet1").Activate()
Application.Selection.Copy()
mydoc.Paragraphs(1).Range.PasteExcelTable _
LinkedToExcel:=False, _
WordFormatting:=False, _
RTF:=False
mydoc.SaveAs2 "MyDoc"
End Sub