Eltrion 发表于 2019-8-20 14:33:10

在论坛搜到的autolisp 控制excel要怎么理解

比如

显示应用于 Sheets 和 Worksheets 对象的 Add 方法。

新建工作表、图表或宏表。新建的工作表将成为活动工作表。

expression.Add(Before, After, Count, Type)

expression      必需。该表达式返回上面的对象之一。

Before      Variant 类型,可选。指定工作表对象,新建的工作表将置于此工作表之前。

After      Variant 类型,可选。指定工作表对象,新建的工作表将置于此工作表之后。

Count      Variant 类型,可选。要新建的工作表的数目。默认值为 1。

Type      Variant 类型,可选。指定工作表类型。可为以下 XlSheetType 常量之一:xlWorksheet、xlChart、xlExcel4MacroSheet 或 xlExcel4IntlMacroSheet。如果要基于现有模板插入工作表,则请指定该模板的路径。默认值为 xlWorksheet。

说明
如果 Before 和 After 两者均省略,则新建的工作表将插入到活动工作表之前。


该怎么理解呢   
比如
(defun vlxls-sheet-add (xlapp Name / Rtn)
   (if (member name (vlxls-sheet-get-all xlapp))
      (setq Rtn nil)
      (progn
         (vlax-put-property
            (vlax-invoke-method
               (vlax-get-property Xlapp "sheets" )
               "Add"
            )
            "name"
            Name
         )
         (setq Rtn (equal (vlxls-sheet-get-active xlapp) name))
      )
   )
   Rtn
)

beforeafter该怎么添加进去实现控制新建sheet的位置

yshf 发表于 2019-8-20 14:33:11

假设WorkSheets为工作表集合对象、Sheet为当前工作表对象,
1、要它之前增加表,使用以下方法
   (vlax-invoke-method WorkSheets "Add" )
(vlax-invoke-method WorkSheets "Add" nil nil)
(vlax-invoke-method WorkSheets "Add" Sheet)
(vlax-invoke-method WorkSheets "Add" Sheet nil)
2、要它之后增加表,使用以下方法
    (vlax-invoke-method WorkSheets "Add" nil Sheet)

Eltrion 发表于 2019-8-21 13:41:08

yshf 发表于 2019-8-20 14:33
假设WorkSheets为工作表集合对象、Sheet为当前工作表对象,
1、要它之前增加表,使用以下方法
   (vlax ...

谢谢大神再请问下 最后那个type类型如果要基于现有模板插入工作表该怎么使用呢

Klein 发表于 2023-1-13 16:43:04

yshf 发表于 2019-8-20 14:33
假设WorkSheets为工作表集合对象、Sheet为当前工作表对象,
1、要它之前增加表,使用以下方法
   (vlax ...

这个在哪里查询到呢?
页: [1]
查看完整版本: 在论坛搜到的autolisp 控制excel要怎么理解