EXCEL单元格赋值后跳转
本帖最后由 wide 于 2024-5-16 15:17 编辑在CAD中不断的取值,然后传输到excel单元格中,比如第一次取值后通过下面函数赋值到EXCEL的B3单元格(EXCEL任意单元格)中,
[*](vlax-for x (vlax-get-property (vlax-get-or-create-object "excel.application") 'Selection)
[*] (vlax-put-property x 'value2 sz)
[*])
填入值后,怎么自动跳到后面的单元格(C3),方便后面在CAD中取值利用上面的函数进行赋值?因为上面的函数是在光标指定的单元格,所以想着能。。。。。,这样就不用来回切换软件用鼠标点单元格了。{:1_1:}
还要控制光标 ?这不是鼠标动一下就行了么 本帖最后由 wide 于 2024-5-16 12:54 编辑
飞雪神光 发表于 2024-5-16 12:14
还要控制光标 ?这不是鼠标动一下就行了么
看来我表达的意思不是很清晰,自动跳转的目的是不想来回切换软件,单元格赋值后自动跳转,方便后面继续赋值。 (setq xls(vlax-get-or-create-object "excel.application"))
(vlax-put-property(vlax-get-property xls 'range"C6")'value2"ABC")
;;活动单元格下移 改为右移一位2023.03.15
(setq cell (vlax-get-property
cells
"Item"
(vlax-make-variant (+ i row))
(vlax-make-variant (1+ col))
)
)
(setq cell (vlax-variant-value cell))
(vlax-invoke cell 'Select)
本帖最后由 llsheng_73 于 2024-5-16 14:50 编辑
需要往哪个格子写就直接给哪个单元格的位置,不用管它是不是活动的...
如果是很多数值需要写到连续单元格中,应该设置设置好数组,往具体的区域内一次填写
(vlax-put-property(vlax-get-property xls 'range"C6:F6")'value2(vlax-safearray-fill(vlax-make-safearray 12 '(0 . 3))'(1 2 3 4)))
不要模拟手动,什么后一个?直接用坐标赋值 llsheng_73 发表于 2024-5-16 13:17
请问为什么运行您的第二行代码会出现 Automation 错误。未提供说明。 饼仲郎 发表于 2024-5-16 21:50
请问为什么运行您的第二行代码会出现 Automation 错误。未提供说明。
如果第一行代码以是创建了一个xls对象,那么它是没工作簿的,第二行肯定出错 兄弟你是做啥的
页:
[1]
2