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在保存文档时就不会d出是否保存的对话框了,达到悄无声息的效果
WordObject.ActiveDocument.SaveAs "D:\temp\导出数据.doc" '调用saveas命令保存文档,根据实际,指定文档的保存路径和名称
WordObject.Application.Quit '退出并关闭程序文档
Set WordObject = Nothing '释放对象
End Sub
把Set SourceBook = App.Workbooks.Open(ThisWorkbook.Path &"\123.xlsm", 0, True) 这句改成下面的试试:Set SourceBook = App.Workbooks.Open(ThisWorkbook.Path &"\123.xlsm",0,false)
workbooks.open() 的第3个参数的意思是: 是否以只读模式打开,这样的话要保存肯定是另存了!
'要在VB中 *** 作Excel,需要引用Excel对象模型'方法,在菜单里选择[工程] -- [引用],在窗口里勾选 Microsoft Excel XX.X Object Library
'其中,XX.X取决于你安装的Office的版本号
Private Sub Command6_Click()
Dim excel_App As Excel.Application
Dim excel_Book As Excel.Workbook
Dim excel_sheet As Excel.Worksheet
'启动Excel
Set excel_App = CreateObject("Excel.Application")'引用程序对象实例
excel_App.Visible = False'设置Excel为不可见
'打开文件
Set excel_Book = excel_App.Workbooks.Open("G:\1.XLS") '工作簿实例
Set excel_sheet = excel_Book.Worksheets("Sheet2") '数据表实例
excel_sheet.Range("C1").Value = "你好!"'设置单元格C1的值为"你好!"
excel_sheet.Range("A1").Value = 100'设置单元格A1的值为100
excel_sheet.Range("A2").Value = 9 '设置单元格A2的值为9
excel_sheet.Range("A3").Value = excel_sheet.Range("A1").Value + excel_sheet.Range("A2").Value'计算
'''''''''''''''''''''''''''''''''''
'读取数据到变量
x = excel_sheet.Range("A2").Value' 把单元格"A2"里的数据读取出来
'关闭Excel文件,注意下面步骤很重要,不能少!!!
Set excel_sheet = Nothing
excel_App.ActiveWorkbook.Close savechanges:=True'保存对EXCELL进行更改。
Set excel_Book = Nothing
excel_App.Quit
Set excel_App = Nothing
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)