+ -
当前位置:首页 → 问答吧 → 如何使用word的宏,打开一个Excel文件

如何使用word的宏,打开一个Excel文件

时间:2011-03-07

来源:互联网

大家好,我是新来的人,有一个问题需要请教大家,希望能得到大家的帮助,谢谢!
我遇到的问题是:
要在word的版本中,通过点击某个控件打开本地的一个Excel文件。
我的做法是在word中创建一个宏,但是在宏的VB编程中,程序报错没通过,在VB6.0的编辑器中运行程序是可以打开Excel文件的。

所以,请求大家指点一下在word的宏中,打开Excel文件的编程。
如果要实现该目的,除了用宏外,还有其他方法,也烦请指点一下。


----------------附:我的word宏中的VB代码-----------------------------------
Private Sub Command1_Click()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
FileName = "\生产调度决策数据.xls"
On Error Resume Next
    Set xlApp = GetObject(, "Excel.Application")     '判断Excel是否打开
    If Err.Number <> 0 Then
        Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
        xlApp.Visible = False '设置EXCEL对象不可见
    End If
    Err.Clear
   
    If Dir(App.Path & FileName) = "" Then    '判断文件是否存在
        MsgBox App.Path & FileName & ":未找到!", vbOKOnly, "友情提示"
        Exit Sub
    End If
   
    '判断文件是否打开
    For Each xlBook In xlApp.Workbooks
        If xlBook.Name = Mid(FileName, 2) Then
            MsgBox "文件已打开!请不要重复打开。", vbOKOnly, "友情提示"
           xlBook.Activate
            xlApp.WindowState = xlMaximized
            Exit Sub
        End If
    Next
   
    Set xlBook = xlApp.Workbooks.Open(App.Path & FileName) '打开工件簿文件
    xlBook.RunAutoMacros (xlAutoOpen) '运行EXCEL启动宏
    xlApp.Visible = True
End Sub

出错是因为Dim xlApp As Excel.Application和Dim xlBook As Excel.Workbook的用户类型未定义

[ 本帖最后由 power218 于 2011-3-7 14:21 编辑 ]

作者: power218   发布时间: 2011-03-07

一直等不到人解决,后来自己搞定了,呵呵,之前从没接触过VB,让大家见笑了。

作者: power218   发布时间: 2011-03-08

Dim xLApp
Dim xlBook
FileDir = "E:\查询\生产调度决策数据.xls"
'FileName = "\生产调度决策数据.xls"
On Error Resume Next
    Set xlApp = GetObject(, "Excel.Application")     '判断Excel是否打开
    If Err.Number <> 0 Then
        Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
        xlApp.Visible = False '设置EXCEL对象不可见
    End If
    Err.Clear
    If Dir(FileDir) = "" Then    '判断文件是否存在
        MsgBox FileDir & ":未找到!", vbOKOnly, "友情提示"
        Exit Sub
    End If
    '判断文件是否打开
    'For Each xlBook In xlApp.Workbooks
    '    If xlBook.Name = Mid(FileName, 2) Then
    '        MsgBox "文件已打开!请不要重复打开。", vbOKOnly, "友情提示"
    '       xlBook.Activate
    '        xlApp.WindowState = xlMaximized
    '        Exit Sub
    '    End If
    'Next
    Set xlBook = xlApp.Workbooks.Open(FileDir) '打开工件簿文件
    xlBook.RunAutoMacros (xlAutoOpen) '运行EXCEL启动宏
    xlApp.Visible = True

作者: power218   发布时间: 2011-03-08