如何在EXECL中用VBa打开Word,并输出数据到WORD中,保存,关闭

如题所述

1、首先打开EXECL表格,然后在工作表中,点击菜单栏【开发工具】。

2、在其工具栏内,点击【visual basic】。

3、会进入VBA编辑界面!点击菜单栏【插入】,在其下拉菜单中,选择【模块】。

4、会弹出模块编辑窗口,在模块窗口输入以下代码。

5、然后点按键盘上的F8,一步步运行编写的代码。

6、最后看到“销售登记表0”的word文档就在f盘保存成功了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-28
在EXcel的VB编辑器中插入一个模块,输入如下代码试试看。

Sub ExcelToWord()
Dim WordObject As Object '声明一个对象变量,这里即将声明为Word对象
On Error Resume Next
Set WordObject = CreateObject("Word.Application") '用set来创建Word对象,这里是运行Word程序,但未新建文档
WordObject.Visible = 0 '后台运行Word对象,只在任务管理器中存在WinWord.exe进程,但在任务栏上看不到word;如果为1或者True则可以看到word运行界面
WordObject.Documents.Add DocumentType:=wdNewBlankDocument '新建一word文档
'以下为获取Excel表格中的内容,准备把数据传送给Word,可以根据自己的实际需要定制代码,这里只是示例代码
Excel.Application.Sheets(1).Activate '切换当前电子表格的表1为当前激活表
Excel.Application.Sheets(1).UsedRange.Select '选中当前激活表的所有数据
Selection.Copy '将选中的区域进行复制
WordObject.Application.Activate '将后台运行的Word激活为当前窗口
WordObject.ActiveWindow.Selection.Paste '将刚才从Excel中复制进剪贴板中的内容粘贴进word中来
WordObject.Saved = True '将保存文档的Saved属性设置为True,这样后台运行的Word在保存文档时就不会弹出是否保存的对话框了,达到悄无声息的效果
WordObject.ActiveDocument.SaveAs "D:\temp\导出数据.doc" '调用saveas命令保存文档,根据实际,指定文档的保存路径和名称
WordObject.Application.Quit '退出并关闭程序文档
Set WordObject = Nothing '释放对象
End Sub本回答被提问者采纳
第2个回答  2011-05-16
在EXcel的VB编辑器中插入一个模块,输入如下代码试试看。

Sub Mysub()
Dim WordObject As Object '声明一个对象变量
Set WordObject = CreateObject("Word.Application") '创建Word程序对象
WordObject.Visible = False '后台运行Word对象,任务栏上看不到,但任务管理器上可看到该WinWord.exe进程;如果为true则可以在任务栏上看到word运行界面
WordObject.Documents.Add DocumentType:=wdNewBlankDocument '后台运行的word程序要新建一个word文档
'以下为获取电子表格中要发送给Word的数据而编制的代码,根据实际需要进行编制,这里只是举例
Application.Sheets(1).UsedRange.Select '选择整张表
Selection.Copy '复制整张表
WordObject.Application.Activate '激活后台运行的word文档
'这里需要编制代码将刚才复制进剪贴板的内容粘贴到后台运行的该word文档中来

WordObject.ActiveDocument.SaveAs "D:\temp\导出数据.doc" '保存文档
WordObject.Application.Quit '关闭该word文档,或许一同关闭word程序
end sub

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网