乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 我在<em>word</em> <em>vba</em> 环境下,怎么可

我在<em>word</em> <em>vba</em> 环境下,怎么可

作者:乔山办公网日期:

返回目录:excel表格制作


'代码已经测试过,请注意保持良好习惯,及时采纳,谢谢。

Sub PasteToWordDoc()
'
' 需要引用MIcrosoft Word 12.0 Object Library(注:12.0是版本号,可以不同)
'
Application.ScreenUpdating = False '关闭屏幕刷新'

Selection.Copy

Dim wdApp As Word.Application, wdDoc As Word.Document
Dim strDocPath As String '全路径文件名636f7079e799bee5baa6e997aee7ad94337
Dim blnNoWd As Boolean, blnNoWdd As Boolean

On Error Resume Next

strDocPath = "C:\Users\wine\Desktop\可ihikhoi年.docm" '如果与Excel工作薄同路径,采用这面的语句也可
'strDocPath = ThisWorkbook.Path & "\可ihikhoi年.docm"

'调用word程序对象
Set wdApp = GetObject(, "Word.Application") '实例化word对象变量

If wdApp Is Nothing Then '判断word程序是否正在运行
Set wdApp = CreateObject("Word.Application")
wdApp.Visible = False
blnNoWd = True
End If

'调用word 文档对象

Set wdDoc = wdApp.Documents(strDocPath)
If wdDoc Is Nothing Then
Set wdDoc = wdApp.Documents.Open(Filename:=strDocPath, Visible:=flase)
blnNoWdd = True
Else
wdDoc.Activate
End If

wdApp.Selection.PasteExcelTable False, False, False
wdDoc.Save

'恢复环境
If blnNoWdd Then wdDoc.Close: Set wdDoc = Nothing
If blnNoWd Then wdApp.Quit: Set wdApp = Nothing
Application.ScreenUpdating = True
On Error GoTo 0

End Sub

挺简单的。最关键的就是让word的VBA能调用excel的VBA的函数库。具体做法如下:
1)添加函数库,让excel和word的VBA函数共享
要用VBA联合操作word和excel,首先选定是用word的VBA来操作excel还是用excel的VBA来操作word,然后调出你选定的VBA,在工具〉参照设定中把Microsoft Office15.0 Object Library和Microsoft Excel15.0 Object Library给选上。这个十分有必要,因为word和excel的vba的一些函数并不是通用的。
2)连接excel
具体的方式如下:
Sub Macro1()
Dim ExcelApp As Object
Dim myBook As Object
Dim mysheet As Object
If Tasks.Exists("Microsoft Excel") = True Then Tasks("Microsoft Excel").Close
Set ExcelApp = CreateObject("Excel.Application")
Set myBook = ExcelApp.Workbooks.Open("D:\Users\Administrator\Desktop\练习e68a84e8a2ad7a64332\2 WROD\新建文件夹\1.xls") 'excel的位置,用
'thisworkbook.path可设置为
‘相对路径
Set mysheet = myBook.Worksheets("Sheet1") 'sheet名
With mysheet
'调用数据计算部分
end with

大概就是这样一个过程。
Set OpenExcel = CreateObject("Excel.Application")
Set Openf = OpenExcel.Workbooks.Open("c:\0.xls")
Selection.TypeText Text:=Openf.Sheets("Sheet1").Cells(3, 5)

在有word文件的文件夹中新建一个excel工作簿,打开工作簿,按e799bee5baa6e79fa5e98193e58685e5aeb9362Alt+F11,把下面的代码复制进去,按F5执行。
代码会复制work文件的前300个字符到excel中。

Sub test()
Dim i%, myName$, myPath$, AppWord As Object
Set AppWord = CreateObject("Word.Application")
myPath = ThisWorkbook.Path & "\"
myName = Dir(myPath & "*.doc*")
With ActiveSheet
.Columns("A:B").ClearContents
Do While myName <> ""
AppWord.Documents.Open Filename:=myPath & myName
i = i + 1
.Cells(i, 1) = myName
.Cells(i, 2) = AppWord.ActiveDocument.Range(Start:=0, End:=300).Text
AppWord.ActiveDocument.Close False
myName = Dir
Loop
End With
AppWord.Quit
Set AppWord = Nothing
MsgBox "已完成。"
End Sub

相关阅读

  • 如何<em>Word</em>中用<em>VBA打开Excel</em>

  • 乔山办公网excel表格制作
  • Word中用VBA打开Excel表格,读取其中的内容写入..." src="/uploads/tu/600.jpg" style="width: 400px; height: 267px;" />可用CreateObject函数创建对EXCEL的引zd用,然后就可打开EXCEL工作簿,将表格中的数据
关键词不能为空
极力推荐

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