请教—如何用 VB 将Excel 里复制的内容生成一个独立的word文件(要保持原格式,即表格和图片不能丢失)?
向大师们请教:有若干个独立的word文档,分别将其复制到Excel以便提取数据,然后在Excel中复制提取到的数据;于是想通过再粘贴方式生成一个独立的word文档。下面的代码已经到复制的一步了,请教各位老师,有没有什么办法能实现?我尝试了通过获取剪切板数据粘贴后是可以生成一个word文档,但是图片和表格都没有了。紫色部分代码是有问题的,之前的都能运行。Private Sub Command1_Click()
Dim xlApp As Excel.Application '定义EXCEL类
Dim xlBook As Excel.Workbook '定义工件簿类
Dim xlsheet As Excel.Worksheet '定义工作表类
Dim WordApp
Dim word
Dim i, n, a
Set WordApp = CreateObject("word.application")
WordApp.Visible = True '
Set word = WordApp.Documents.Open("d:\001\001.doc")
WordApp.Selection.WholeStory
WordApp.Selection.Copy
WordApp.Quit
Set myDoc = Nothing
Set WordApp = Nothing
Set xlApp = CreateObject("Excel.Application") '创建EXCEL应用类
xlApp.Visible = True '设置EXCEL可见
Set xlBook = xlApp.Workbooks.Open("D:\001\001.xls") '打开EXCEL工作簿
Set xlsheet = xlBook.Worksheets(1) '打开EXCEL工作表
xlsheet.Activate '激活工作表
[A1].Select
Application.Wait Now() + TimeValue("00:00:04")
ActiveSheet.Paste
ActiveSheet.Shapes.Range(Array("Picture 1")).Select
Selection.Copy
Sheets("111").Select
Range("I3:I8").Select
ActiveSheet.Paste
Range("A1:I8").Select
Selection.Copy
Dim WordObject As Object '声明一个对象变量,这里即将声明为Word对象
Set WordObject = CreateObject("Word.Application") '用set来创建Word对象,这里是运行Word程序,但未新建文档
WordObject.Visible = 0 '后台运行Word对象,只在任务管理器中存在WinWord.exe进程,但在任务栏上看不到word;如果为1或者True则可以看到word运行界面
WordObject.Documents.Add DocumentType:=wdNewBlankDocument '新建一word文档
WordObject.Application.Activate‘激活word
WordObject.ActiveWindow.Selection.Paste '将刚才从Excel中复制进剪贴板中的内容粘贴进word中来
WordObject.Saved = True '将保存文档的Saved属性设置为True,这样后台运行的Word在保存文档时就不会弹出是否保存的对话框了,达到悄无声息的效果
WordObject.ActiveDocument.SaveAs "D:\001\009.doc" '调用saveas命令保存文档,根据实际,指定文档的保存路径和名称
WordObject.Application.Quit '退出并关闭程序文档
Set WordObject = Nothing '释放对象
End Sub