作者:乔山办公网日期:
返回目录:word文档
当然可以,百比如你用度word VBE,先在知引用里面勾选excel 15.0,然道后使用版下列语句声明就行了权
dim xlapp as excel.application
dim xlbook as excel.workbook
dim xlsheet as excel.worksheet
在有word文件的文件夹中新建一个excel工作簿,打开工作簿,按Alt+F11,把下面的代码复制进去,按F5执行。
代码会复制work文件的前300个字符e68a84e799bee5baa6362到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
打开文件,选择不同的文件,选择有有关内容复制、粘贴即可 。
总是要有一个打开的时机的,总要有一段打开的代码,不然怎么凭空打开,怎么获取打开的文件名.
如果你想在你的宏运行前打开,你可以e799bee5baa6e997aee7ad94e59b9ee7ad94338把调用与打开的代码放在宏运行的前面.
如:以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)