明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 711|回复: 3

[提问] 求助:lisp如何操控excel工作表的复制

[复制链接]
发表于 2022-3-25 11:33:23 | 显示全部楼层 |阅读模式
请高手指点
工作需求复制excel工作表Sheet1到同一工作簿的后面, 求助lisp如何写?特别是:After:=Worksheets("Sheet3")  这句用lisp怎么表达?

excel帮忙对象方法说明如下:
本示例复制工作表 Sheet1,并将其放置在工作表 Sheet3 之后。
Worksheets("Sheet1").Copy After:=Worksheets("Sheet3")

(setq xl  (vlax-get-or-create-object "Excel.Application")) ;创建excel程序对象
  (setq wbs (vlax-get-property  xl "WorkBooks")) ;获取excel程序对象的工作簿集合对象
  (setq wb  (vlax-invoke-method wbs "open"  "123.xls")) ;用工作簿集合对象打开指定的excel文件
  (setq shs (vlax-get-property wb "Sheets"));获取刚才打开工作簿的工作表集合
  (setq sh  (vlax-get-property  shs "Item" "Sheet1"));获取指定的工作表

  (setq shb  (vlax-invoke-method sh "copy" "After" "Sheet3"))

请问以上方法在vlax-invoke-method 语法格式应该怎么写?


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2022-3-25 21:19:57 | 显示全部楼层
(defun c:tt ()
        (setq xl (vlax-get-object "Excel.Application"))
        (setq wb (vlax-get-property xl "Worksheets"))
        (setq s1 (vlax-get-property xl "activeSheet"))
        (setq sh3 (vlax-get-property  wb "item" "sheet3"))
        (setq shb (vlax-invoke sh "copy" nil sh3))
)
 楼主| 发表于 2022-3-26 11:10:39 | 显示全部楼层
谢谢! 已验证可行。
发表于 2022-3-29 03:11:21 来自手机 | 显示全部楼层
有点好奇,为啥不用excel vba直接执行
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-9-29 09:21 , Processed in 0.152074 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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