作者:乔山办公网日期:
返回目录:excel表格制作
只要定义一个Word.Application对象,
Set WordApp = CreateObject("Word.Application")
然后操作百这个度WordApp 对象就可以知了,道就像在Word中使用VBA一样,
打开文件用 WordApp.Documents.Open 文件路径
定位主要用 WordApp.Selection.Move系列指令,也可以用WordApp.Selection.Goto
具体的你可以用录制宏的方专法在Word中看看属用什么代码合适。
总是要有一个打开e69da5e6ba90e79fa5e98193338的时机的,总要有一段打开的代码,不然怎么凭空打开,怎么获取打开的文件名.
如果你想在你的宏运行前打开,你可以把调用与打开的代码放在宏运行的前面.
如:以excel打开word为例,你可以在Workbook_Open下放置你调用和打开word 的代码:
Private Sub Workbook_Open()
dim aaa as ...application
End Sub
方法你应该比较熟悉了,就是在vbaproject下双击ThisWorkbook,然后在上边的下拉列表里选对象和事件.
如果在宏中用路径打开被调用的文件,那么该文件就必须放在路径指定的位置,我不想这样。我想放在任意位置。
放在任意位置你可以用一个打开对话框呀,
如下面代码:
Dim fd As FileDialog
Dim Wbook As Workbook
Dim rowindex As Integer
Set fd = Application.FileDialog(msoFileDialogFilePicker)
Dim vrtSelectedItem As Variant
With fd
.Filters.Add "EXCEL 文件", "*.xls", 1 ‘过滤
If .Show = -1 Then
rowindex = 1
For Each vrtSelectedItem In .SelectedItems
Set Wbook = Workbooks.Open(vrtSelectedItem)
可用CreateObject函数创建对EXCEL的引用,然后知就可打开EXCEL工作簿,将表格中的道数据复制到版WORD中,参考代码如权下:
Set xlapp = CreateObject("excel.application")
With xlapp.Open("带路径的EXCEL文件名")
.Sheets(1).Range("A1:H8").Copy
'粘贴到WORD指定位置
End With
xlapp.Quit
在有e799bee5baa6e997aee7ad94e58685e5aeb9337word文件的文件夹中新建一个excel工作簿,打开工作簿,按Alt+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