| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5675 人关注过本帖
标题:如何通过点击一个按钮打开一个EXCEL表格
只看楼主 加入收藏
chen3bing
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:507
专家分:104
注 册:2008-11-12
结帖率:91.22%
收藏
已结贴  问题点数:10 回复次数:5 
如何通过点击一个按钮打开一个EXCEL表格
图片附件: 游客没有浏览图片的权限,请 登录注册

我的代码:
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim FileName, SheetName As String
FileName = "e:\data.xls" '打开的工作簿路径名称
SheetName = "sheet1" '命令按钮所在的工作表名
Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
Set xlBook = xlApp.Workbooks.Open(FileName) '打开已经存在的EXCEL工件簿文件
xlApp.Visible = True '设置EXCEL对象可见(或不可见)
Set xlSheet = xlBook.Worksheets(SheetName) '设置活动工作表
'假设要调用的控件名称是CommandButton1
xlSheet.Shapes("commandbutton1").DrawingObject.object.Value = True '单击控件
xlBook.Close (True) '保存并关闭工作簿
xlApp.Quit '结束EXCEL对象
Set xlApp = Nothing '释放xlApp对象

在Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象这一句提示类型不匹配。
请高手指教,谢谢!
搜索更多相关主题的帖子: 打开 EXCEL Dim Set 对象 
2018-11-09 14:01
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:4 
我们的代码都是这样写的,

检查:1、是否安装了 OFFICE ,是否包含了 EXCEL 。
      2、如果未安装 OFFICE ,是否安装了 WPS OFFICE 。如果仅安装了WPS OFFICE ,检查设置是否兼容 OFFICE 。

这是一个早些时候写的代码,提供手动选择 WPS 或 EXCE 的。
    If Option1.Value Then
        Set excel1 = GetObject(, "Excel.Application")
        '是否有错误
        If Err.Number <> 0 Then
            Err.Clear
            Set excel1 = CreateObject("Excel.Application")
            If Err.Number > 0 Then
                '错误,提示,结束过程
                MsgBox "打开 Excel 失败,请确认你安装了 Excel 。", vbCritical, "错误"
                End
            End If
        End If
    Else
        Set excel1 = GetObject(, "et.Application")
        '是否有错误
        If Err.Number <> 0 Then
            Err.Clear
            Set excel1 = CreateObject("et.Application")
            If Err.Number > 0 Then
                '错误,提示,结束过程
                MsgBox "打开 WPS 表格(Et) 失败,请确认你安装了 WPS 表格(Et) 。", vbCritical, "错误"
                End
            End If
        End If
    End If

授人于鱼,不如授人于渔
早已停用QQ了
2018-11-09 17:00
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:4 
估计是没有引用 Excel,没有引用 Excel 就会出现 “类型不匹配”错误。

【工程】-【引用】对话框中选择 Excel 的引用就可以了。
图片附件: 游客没有浏览图片的权限,请 登录注册



[此贴子已经被作者于2018-11-9 18:31编辑过]


请不要选我!!!
2018-11-09 18:24
chen3bing
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:507
专家分:104
注 册:2008-11-12
收藏
得分:0 
以下是引用ZHRXJR在2018-11-9 18:24:44的发言:

估计是没有引用 Excel,没有引用 Excel 就会出现 “类型不匹配”错误。

【工程】-【引用】对话框中选择 Excel 的引用就可以了。

我引用了的。
2018-11-10 09:37
yingshu
Rank: 4
等 级:贵宾
威 望:10
帖 子:49
专家分:212
注 册:2018-7-24
收藏
得分:4 
代码复制到我的电脑上运行正常

createobject方法创建excel对象,代码也没问题,什么原因错误不晓得,知识有限  

你用NEW关键字创建excel对象试试
2018-11-10 11:07
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:0 
以下是引用chen3bing在2018-11-10 09:37:02的发言:


我引用了的。

Set xlApp = CreateObject("Excel.Application")    这一行出错,应该是引用问题,再看看引用是否正确。
在我的电脑复制你的代码运行没有一点错误,能够打开 e:\data.xls 文件。

[此贴子已经被作者于2018-11-11 12:10编辑过]


请不要选我!!!
2018-11-10 16:51
快速回复:如何通过点击一个按钮打开一个EXCEL表格
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032708 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved