wide 发表于 2024-5-16 11:38:10

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:}

飞雪神光 发表于 2024-5-16 12:14:12

还要控制光标 ?这不是鼠标动一下就行了么

wide 发表于 2024-5-16 12:29:29

本帖最后由 wide 于 2024-5-16 12:54 编辑

飞雪神光 发表于 2024-5-16 12:14
还要控制光标 ?这不是鼠标动一下就行了么
看来我表达的意思不是很清晰,自动跳转的目的是不想来回切换软件,单元格赋值后自动跳转,方便后面继续赋值。

llsheng_73 发表于 2024-5-16 13:17:40

(setq xls(vlax-get-or-create-object "excel.application"))
(vlax-put-property(vlax-get-property xls 'range"C6")'value2"ABC")

自贡黄明儒 发表于 2024-5-16 13:21:33

;;活动单元格下移 改为右移一位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:49:22

本帖最后由 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)))

liuhe 发表于 2024-5-16 15:02:06

不要模拟手动,什么后一个?直接用坐标赋值

饼仲郎 发表于 2024-5-16 21:50:06

llsheng_73 发表于 2024-5-16 13:17


请问为什么运行您的第二行代码会出现 Automation 错误。未提供说明。

llsheng_73 发表于 2024-5-17 07:31:17

饼仲郎 发表于 2024-5-16 21:50
请问为什么运行您的第二行代码会出现 Automation 错误。未提供说明。

如果第一行代码以是创建了一个xls对象,那么它是没工作簿的,第二行肯定出错

664571221 发表于 2024-5-23 10:41:12

兄弟你是做啥的
页: [1] 2
查看完整版本: EXCEL单元格赋值后跳转