如何用vba 代码打开一个文件夹内的一个word 文档?
3个回答
展开全部
Sub Read_Word()
Dim worDoc As object
Dim wordappl As object
Dim mydoc As String
Dim myappl As String
mydoc = thisworkbook.path & "\" & "文件名.doc"
'本文档目录下的doc文件,这里可以直接改成路径+文件名的形式
Set wordappl = CreateObject("Word.application") '设置wordappl对象
Set worDoc = wordappl.Documents.Open(mydoc)
'打开word文档,mydoc变量指定路径和文件名
worDoc.Activate '激活打开的文档
wordappl.Selection.WholeStory '全选文档
wordappl.Selection.Copy '复制选择内容到剪贴板
worDoc.Application.Quit '关闭word文档
Set WordApp = Nothing '释放对象变量的内存
Workbooks(1).Sheets(2).Activate '激活excel第一个工作簿的第二个工作表
ActiveSheet.UsedRange.Clear '把当前工作表清空,如果有重要数据,这条删除
Cells(1, 1).Select '选择A1单元格
ActiveSheet.Paste '粘贴复制的内容
wordappl.quit
set wordappl =nothing
End Sub
Dim worDoc As object
Dim wordappl As object
Dim mydoc As String
Dim myappl As String
mydoc = thisworkbook.path & "\" & "文件名.doc"
'本文档目录下的doc文件,这里可以直接改成路径+文件名的形式
Set wordappl = CreateObject("Word.application") '设置wordappl对象
Set worDoc = wordappl.Documents.Open(mydoc)
'打开word文档,mydoc变量指定路径和文件名
worDoc.Activate '激活打开的文档
wordappl.Selection.WholeStory '全选文档
wordappl.Selection.Copy '复制选择内容到剪贴板
worDoc.Application.Quit '关闭word文档
Set WordApp = Nothing '释放对象变量的内存
Workbooks(1).Sheets(2).Activate '激活excel第一个工作簿的第二个工作表
ActiveSheet.UsedRange.Clear '把当前工作表清空,如果有重要数据,这条删除
Cells(1, 1).Select '选择A1单元格
ActiveSheet.Paste '粘贴复制的内容
wordappl.quit
set wordappl =nothing
End Sub
展开全部
比如:Shell "WINWORD.EXE C:\12345.doc", vbNormalFocus
在excel中,横向选中两个单元格,就打开c:\下的12345.doc文件
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row > 2 And Target.Rows.Count = 1 And Target.Columns.Count = 2 Then
Shell "WINWORD.EXE C:\12345.doc", vbNormalFocus
End If
End Sub
在excel中,横向选中两个单元格,就打开c:\下的12345.doc文件
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row > 2 And Target.Rows.Count = 1 And Target.Columns.Count = 2 Then
Shell "WINWORD.EXE C:\12345.doc", vbNormalFocus
End If
End Sub
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Shell调用DOS
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |