递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 3710|回复: 6
打印 上一主题 下一主题

[视窗] 如何使用COM对象后台调用Excel进行操作?

[复制链接]

14

主题

83

帖子

431

积分

中级会员

Rank: 3Rank: 3

积分
431
跳转到指定楼层
楼主
发表于 2023-2-4 02:03:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 路亦洲 于 2023-2-4 02:17 编辑

各位大哥,在易语言中,可以对象创建(“Excel.Application”, ),后台操作Excel,

易语言中的发生,可以直接承接父对象的子对象进行属性,方法的操作,但是在火山中,如下代码:<代码在一楼>

可是:
D:\voldev\灯谜计分工具\src\main.v>, 274: 错误: 没有找到所指定名称的类"Workbooks"
<D:\voldev\灯谜计分工具\src\main.v>, 274: 注意: 根据火山语法在以动态格式调用静态方法(该方法首参数数据类型必须为方法所处类本身)时的自动转换规则,调用对象被自动转移到了被调用方法"读无参数对象型属性"参数表的首部.
<D:\voldev\灯谜计分工具\src\main.v>, 275: 错误: 没有找到所指定名称的类"ExcelWork"
<D:\voldev\灯谜计分工具\src\main.v>, 275: 注意: 根据火山语法在以动态格式调用静态方法(该方法首参数数据类型必须为方法所处类本身)时的自动转换规则,调用对象被自动转移到了被调用方法"无参数对象型方法"参数表的首部.
<D:\voldev\灯谜计分工具\src\main.v>, 277: 错误: 没有找到所指定名称的类"Sheets"
<D:\voldev\灯谜计分工具\src\main.v>, 277: 注意: 根据火山语法在以动态格式调用静态方法(该方法首参数数据类型必须为方法所处类本身)时的自动转换规则,调用对象被自动转移到了被调用方法"读无参数对象型属性"参数表的首部.
<D:\voldev\灯谜计分工具\src\main.v>, 278: 错误: 没有找到所指定名称的类"ExcelSheet"
<D:\voldev\灯谜计分工具\src\main.v>, 278: 注意: 根据火山语法在以动态格式调用静态方法(该方法首参数数据类型必须为方法所处类本身)时的自动转换规则,调用对象被自动转移到了被调用方法"读对象型属性"参数表的首部.
<D:\voldev\灯谜计分工具\src\main.v>, 279: 错误: 没有找到所指定名称的类"Range"
<D:\voldev\灯谜计分工具\src\main.v>, 279: 注意: 根据火山语法在以动态格式调用静态方法(该方法首参数数据类型必须为方法所处类本身)时的自动转换规则,调用对象被自动转移到了被调用方法"读对象型属性"参数表的首部.
<D:\voldev\灯谜计分工具\src\main.v>, 281: 错误: 没有找到所指定名称的类"Range"
<D:\voldev\灯谜计分工具\src\main.v>, 281: 注意: 根据火山语法在以动态格式调用静态方法(该方法首参数数据类型必须为方法所处类本身)时的自动转换规则,调用对象被自动转移到了被调用方法"读对象型属性"参数表的首部.
<D:\voldev\灯谜计分工具\src\main.v>, 283: 错误: 没有找到所指定名称的类"Range"
<D:\voldev\灯谜计分工具\src\main.v>, 283: 注意: 根据火山语法在以动态格式调用静态方法(该方法首参数数据类型必须为方法所处类本身)时的自动转换规则,调用对象被自动转移到了被调用方法"读对象型属性"参数表的首部.
<D:\voldev\灯谜计分工具\src\main.v>, 285: 错误: 没有找到所指定名称的类"Range"
<D:\voldev\灯谜计分工具\src\main.v>, 285: 注意: 根据火山语法在以动态格式调用静态方法(该方法首参数数据类型必须为方法所处类本身)时的自动转换规则,调用对象被自动转移到了被调用方法"读对象型属性"参数表的首部.
<D:\voldev\灯谜计分工具\src\main.v>, 290: 错误: 没有找到所指定名称的类"Font"
<D:\voldev\灯谜计分工具\src\main.v>, 290: 注意: 根据火山语法在以动态格式调用静态方法(该方法首参数数据类型必须为方法所处类本身)时的自动转换规则,调用对象被自动转移到了被调用方法"读对象型属性"参数表的首部.
<D:\voldev\灯谜计分工具\src\main.v>, 294: 错误: 没有找到所指定名称的类"Font"
<D:\voldev\灯谜计分工具\src\main.v>, 294: 注意: 根据火山语法在以动态格式调用静态方法(该方法首参数数据类型必须为方法所处类本身)时的自动转换规则,调用对象被自动转移到了被调用方法"读对象型属性"参数表的首部.
<D:\voldev\灯谜计分工具\src\main.v>, 299: 错误: 没有找到所指定名称的类"单元格"
<D:\voldev\灯谜计分工具\src\main.v>, 299: 注意: 根据火山语法在以动态格式调用静态方法(该方法首参数数据类型必须为方法所处类本身)时的自动转换规则,调用对象被自动转移到了被调用方法"读对象型属性"参数表的首部.
<D:\voldev\灯谜计分工具\src\main.v>, 302: 错误: 没有找到所指定名称的类"单元格"
<D:\voldev\灯谜计分工具\src\main.v>, 302: 注意: 根据火山语法在以动态格式调用静态方法(该方法首参数数据类型必须为方法所处类本身)时的自动转换规则,调用对象被自动转移到了被调用方法"读对象型属性"参数表的首部.
<D:\voldev\灯谜计分工具\src\main.v>, 305: 错误: 没有找到所指定名称的类"单元格"
<D:\voldev\灯谜计分工具\src\main.v>, 305: 注意: 根据火山语法在以动态格式调用静态方法(该方法首参数数据类型必须为方法所处类本身)时的自动转换规则,调用对象被自动转移到了被调用方法"读对象型属性"参数表的首部.
<D:\voldev\灯谜计分工具\src\main.v>, 308: 错误: 没有找到所指定名称的类"单元格"
<D:\voldev\灯谜计分工具\src\main.v>, 308: 注意: 根据火山语法在以动态格式调用静态方法(该方法首参数数据类型必须为方法所处类本身)时的自动转换规则,调用对象被自动转移到了被调用方法"读对象型属性"参数表的首部.
<D:\voldev\灯谜计分工具\src\main.v>, 319: 错误: 没有找到所指定名称的类"单元格"
<D:\voldev\灯谜计分工具\src\main.v>, 319: 注意: 根据火山语法在以动态格式调用静态方法(该方法首参数数据类型必须为方法所处类本身)时的自动转换规则,调用对象被自动转移到了被调用方法"读对象型属性"参数表的首部.
<D:\voldev\灯谜计分工具\src\main.v>, 324: 错误: 没有找到所指定名称的类"单元格"
<D:\voldev\灯谜计分工具\src\main.v>, 324: 注意: 根据火山语法在以动态格式调用静态方法(该方法首参数数据类型必须为方法所处类本身)时的自动转换规则,调用对象被自动转移到了被调用方法"读对象型属性"参数表的首部.
<D:\voldev\灯谜计分工具\src\main.v>, 329: 错误: 没有找到所指定名称的类"单元格"
<D:\voldev\灯谜计分工具\src\main.v>, 329: 注意: 根据火山语法在以动态格式调用静态方法(该方法首参数数据类型必须为方法所处类本身)时的自动转换规则,调用对象被自动转移到了被调用方法"读对象型属性"参数表的首部.
<D:\voldev\灯谜计分工具\src\main.v>, 334: 错误: 没有找到所指定名称的类"单元格"
<D:\voldev\灯谜计分工具\src\main.v>, 334: 注意: 根据火山语法在以动态格式调用静态方法(该方法首参数数据类型必须为方法所处类本身)时的自动转换规则,调用对象被自动转移到了被调用方法"读对象型属性"参数表的首部.

这么多报错了!
在易语言中能用的属性名的方法名,在火山pc就怎么就不行了吗?或者火山pc也应该有像易语言一样,有COM对象.查看(),方便编写代码

回复

使用道具 举报

14

主题

83

帖子

431

积分

中级会员

Rank: 3Rank: 3

积分
431
沙发
 楼主| 发表于 2023-2-4 02:05:30 | 只看该作者
回复

使用道具 举报

14

主题

83

帖子

431

积分

中级会员

Rank: 3Rank: 3

积分
431
板凳
 楼主| 发表于 2023-2-4 02:13:43 | 只看该作者
本帖最后由 路亦洲 于 2023-2-4 02:18 编辑

<img src="http://ys-f.ysepan.com/308650234/014591844/j74285H264JL46ljvQ2Na8/20230204015746.png"/>
回复

使用道具 举报

14

主题

83

帖子

431

积分

中级会员

Rank: 3Rank: 3

积分
431
地板
 楼主| 发表于 2023-2-4 02:34:43 | 只看该作者

世恒大哥的例程:http://bbs.voldp.com/forum.php?m ... amp;highlight=excel
<无返回值> 读无参数对象型属性 (COM对象类 所操作本对象, 文本型 属性名称, COM对象类(需求:数据类型; 返回值类型:0) 所欲获取数据类型)
    所处类: COM对象类; 所处包: 火山.基本

      读取并返回本对象中所指定名称COM对象类属性的值. 本方法用作读取无参数的COM属性值.
      执行本方法如果失败,返回内容为空的该类对象(COM对象类的"是否为空"方法返回真).
      紧跟本方法后调用"是否成功"方法将返回本方法是否执行成功,调用"取错误"方法将返回具体的错误码值(成功将返回"COM方法调用结果.成功").

    参数<1>的名称为"所操作本对象", 类型为"COM对象类".
    参数<2>的名称为"属性名称", 类型为"文本型". 提供所欲读取属性的名称
    参数<3>的名称为"所欲获取数据类型", 类型为"COM对象类(需求:数据类型; 返回值类型:0)". 提供所欲获得的返回值数据类型
明明写着无返回值,怎么就能用“=”接收对象的返回呢?真搞不懂火山pc的注释
回复

使用道具 举报

14

主题

83

帖子

431

积分

中级会员

Rank: 3Rank: 3

积分
431
5#
 楼主| 发表于 2023-2-4 05:12:03 | 只看该作者
参考世恒大哥的代码,结合以前易语言的经验,已经解决了。我另写个贴子吧
回复

使用道具 举报

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
40517
6#
发表于 2023-2-4 08:36:52 | 只看该作者
http://bbs.voldp.com/forum.php?mod=viewthread&tid=16223   火山官方已经有excel库,这是读取excel表格的例子。
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

14

主题

83

帖子

431

积分

中级会员

Rank: 3Rank: 3

积分
431
7#
 楼主| 发表于 2023-2-4 15:28:21 | 只看该作者
创世魂 发表于 2023-2-4 08:36
http://bbs.voldp.com/forum.php?mod=viewthread&tid=16223   火山官方已经有excel库,这是读取excel表格的 ...

我还是使用COM对象调用吧,比较熟悉,从易语言开始就是这样的。已经参考世恒的例程
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-23 05:31 , Processed in 0.099506 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表