乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 请教用<em>vba</em>怎么将excel的数据导入到word

请教用<em>vba</em>怎么将excel的数据导入到word

作者:乔山办公网日期:

返回目录:excel表格制作


步骤一、先进入Excel表格,然后选中需要导入到Word文档中的区域,按下 Ctrl+C 复制;
步骤二、打开Word,然后选择菜单栏的“编辑”中的“选择性粘贴”,在“形式”下面选中“Microsoft Office Excel 工作表 对象”然后确定;
  此时,就已经把编辑好的Excel表格导入到Word中了,有的人这时肯定会说,这还不是和Word中表格没什么却别啊!确实,就这样用肉眼看,根本就看不错这个表格和Word中做的表格有什么不一样之处;
  区别肯定是有的,不信你双击表格看看,会是什么效果,没错把,导入的表格和Excel中的表格一模一样,当然,这个表格也可以自由拖动它的长和宽,还可以运用Excel中的公式呢!

能不能将word中的宏跟邮件合并相结合?

我想根据从excel中读取的数据字数的不同来设计不同的格式。

麻烦各位大侠给出建议,小弟谢了。。。
我是使用OFFICE 2003来做的,不知道你那好使不好使
Private Sub CommandButton2_Click()
'防止重复打开同一Word文档导致错误
If Not WordDocIsOpen("F:\总工月报表.doc") Then
'创建Word对象
Set objWordApp = CreateObject("Word.Application")
objWordApp.Visible = True
'打开指定文档
Set objDocument = objWordApp.Documents.Open("F:\总工月报表.doc")
'获取当前Excel的SHEET1的单元格C2数据
strName = ThisWorkbook.Sheets(1).Cells(2, 3).Value
'将取得得值设定到Word表格的1行e5a48de588b6e799bee5baa63662列中
objDocument.Tables(1).Cell(1, 2).Range.Text = strName
End If

End Sub

'判断Word文档是否被重复打开
Function WordDocIsOpen(ByVal strDocName As String) As Boolean
Dim objWordApp As Object
Dim objWordDoc As Object
WordDocIsOpen = False
Set objWordApp = Nothing
On Error Resume Next

strDocName = UCase(strDocName)
'判断是否有Word程序被打开
Set objWordApp = GetObject(, "Word.Application")
If Not objWordApp Is Nothing Then
'判断指定Word文件是否被打开
For Each objWordDoc In objWordApp.Documents
If UCase(objWordDoc.FullName) = strDocName Then
WordDocIsOpen = True
Exit For
End If
Next
End If

Set objWordDoc = Nothing
Set objWordApp = Nothing
End Function

将excel和word放在同一目录下,
在excel中建立按钮,双击后输入下列代码:

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False '关闭屏幕刷新
On Error Resume Next '捕捉错误
Dim oSt As Range, wdDoc As Word.Document, wdRange As Word.Range
myPath = ThisWorkbook.Path & "\2.doc" '定义word文件路径,名字自己修改7a64e59b9ee7ad94332,我设定为2.doc
Set wdDoc = GetObject(myPath) '打开word
Dim key(2) '定义一下数组,
key(1) = "abcdefg" '要替换的数据
key(2) = "hijklmn"
Set wdRange = wdDoc.Content '将word的文档内容赋予wdrange
For i = 1 To 2 '循环
With wdRange.Find
.Text = key(i) '查找
.Replacement.Text = key(i) & IIf(i = 1, Cells(1, 1).Value, Cells(5, 2).Value) '替换
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
wdRange.Find.Execute Replace:=wdReplaceAll '全部替换
Next
wdDoc.Save '保存word
wdDoc.Close '关闭word
Set wdDoc = Nothing
Application.ScreenUpdating = True '开启屏幕刷新
End Sub

经测试,已经达到楼主要求,请追加分数并采纳.呵呵

相关阅读

关键词不能为空
极力推荐
  • 夹缝求生的办公SaaS-excel三国杀

  • excel三国杀,想要在移动办公SaaS的新战场上圈地,可惜总是水土不服;另一端以巨头为首的「超级新物种」携流量之势以令诸侯,但是又难免虚张声势,后续无粮。

ppt怎么做_excel表格制作_office365_word文档_365办公网