1.如何在excel vba中调用word vba过程sub test
一、打开word文件代码:Setwo=CreateObject("Word.Application")wo.Documents.OpenThisWorkbook.Path&"\流程.doc"wo.Visible=True二、打开ppt文件代码:方法1:Setwo=CreateObject("Powerpoint.Application")wo.Visible=Truewo.Presentations.OpenThisWorkbook.Path&filename方法2:Subdd()Dimfilepath$,filename$filepath=Chr(34)&ThisWorkbook.Path&filename&Chr(34)Shell"POWERPNT.EXE"&filepathEndSub附:双击打开PPS文件,在演示完后退出PPS时并没有PowerPoint主窗口保留,但在Excel中使用VBA打开的PPS文件,在演示完PPS退出后,PowerPoint主窗口仍然打开。
这里使用一个循环判断演示窗口是否存在,加上错误捕捉程序来处理上面这个问题。PrivateSubCommandButton1_Click()DimwoAsObjectDimappAsObject'创建PowerPoint应用实例Setapp=CreateObject("Powerpoint.Application")'使PowerPoint可见app.Visible=True'打开PPS文件Setwo=app.Presentations.Open(ThisWorkbook.Path&"\a.pps")'当PPS演示结束时,wo对象的SlideShowWindow不存在,捕捉到错误OnErrorGoToerrHandle'PPS演示时全屏。
2.vba,word和excel相互调用
总是要有一个打开的时机的,总要有一段打开的代码,不然怎么凭空打开,怎么获取打开的文件名.
如果你想在你的宏运行前打开,你可以把调用与打开的代码放在宏运行的前面.
如:以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)
3.VBA excel调用word内容
在有word文件的文件夹中新建一个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
4.excel VBA用何种代码实现调用word中的内容
只要定义一个Word.Application对象,
Set WordApp = CreateObject("Word.Application")
然后操作这个WordApp 对象就可以了,就像在Word中使用VBA一样,
打开文件用 WordApp.Documents.Open 文件路径
定位主要用 WordApp.Selection.Move系列指令,也可以用WordApp.Selection.Goto
具体的你可以用录制宏的方法在Word中看看用什么代码合适。
5.怎么能运用excel的vba读取word文档中的内容
Sub AAA() Dim FilePath As String '要读取的文件路径 Dim S1 As String '文档的内容 Dim S2 As String '提取到的内容 Dim Ar As Variant '用于保存最终结果 Dim L1 As Long '记录当前查找到的字符位置 FilePath = Application.GetSaveAsFilename(fileFilter:="Word文档,*.doc;*.docx") If FilePath = "False" Then MsgBox "您没有选择文件,将退出程序。
": Exit Sub With CreateObject("word.application") With .Documents.Open(FilePath, True, True) S1 = .Content .Close False End With .Quit End With L1 = InStr(S1, "<") '第一个="">")>< 位置="" do="" until="" l1="0" if="" len(s2)=""><> 0 Then S2 = S2 & "Crazy0qwer" & Mid(S1, L1 + 1, InStr(L1, S1, ">") - L1 - 1) Else S2 = Mid(S1, L1 + 1, InStr(L1, S1, ">") - L1 - 1) End If L1 = InStr(L1 + 1, S1, "<") loop="" ar="Split(S2," "crazy0qwer")="" range("a1").resize(ubound(ar)="" +="" 1)="Application.Transpose(Ar)End">")>
转载请注明出处51数据库 » excelvba调用wordvba
那晚越女说我?