xwlzx 发表于 2011-6-23 18:43:50

AU3如何实现在某一张工作表前创建新的工作表

本帖最后由 xwlzx 于 2011-6-23 18:45 编辑

EXCEL中VBA用ThisWorkbook.Sheets.Add Before:=Worksheets(3)可以在第三张工作表前创建一张新的工作表,可是如果换作用AU3操作,下列第4句无法通过,帮忙分析一下,比如,如何实现在某一张工作表前创建新的工作表。$xlsobj=ObjCreate("Excel.Application")
$xlsobj.visible=1
$xlsobjsheet=$xlsobj.workbooks.add
$xlsn=$xlsobjsheet.sheets.add Before:=Worksheets(3)
$xlsn.name="xuwenlong"
Exit如果改成$xlsn=$xlsobjsheet.sheets.add,虽然可以,但是只能在第一张工作表前创建新工作表。

kevinch 发表于 2011-6-23 19:09:03

$xlsobj=ObjCreate("Excel.Application")
$xlsobj.visible=1
$xlsobjsheet=$xlsobj.workbooks.add
With $xlsobjsheet
        $xlsn=.sheets.add(.Worksheets(3))
EndWith
$xlsn.name="xuwenlong"
Exit

kevinch 发表于 2011-6-23 19:11:00

sheets.add(before,after)
如果是before,直接接工作表索引,如楼上代码,如果是after,则为sheets.add(default,工作表索引)
希望这样你能理解明白。

xwlzx 发表于 2011-6-23 19:23:47

本帖最后由 xwlzx 于 2011-6-23 19:25 编辑

回复 3# kevinch

谢谢了!我试运行了一下,已明白您的意思!我想请问一下:我在那儿才能查到AU3调用对象方法时,如何加参数的资料,我想系统看一下,谢谢!

尤其是对于AU3 操作VBA的。

kevinch 发表于 2011-6-23 20:06:33

vba我比au3稍熟练些,基本都是自己试出来的,好像还真没这样的资料。

xwlzx 发表于 2011-6-23 21:58:45

回复 5# kevinch

谢谢!看来只能自己摸索了!谢谢指导!

楼上风云 发表于 2011-6-24 12:51:39

论坛内搜索下oleview.exe试试

xwlzx 发表于 2011-6-24 14:12:10

回复 7# 楼上风云

谢谢你的回答,不过搜索论坛oleview.exe,没有任何关于调用对象时如何传递参数的资料

502762378 发表于 2011-6-24 17:20:24

不会VB,用AU3的试试
#include <Excel.au3>
Local $oExcel = _ExcelBookNew() ;新建工作簿并使之可见
_ExcelSheetAddNew($oExcel,"xuwenlong")
_ExcelSheetMove($oExcel, 1,4) ;移动第1张表到第4个位置
MsgBox(0, "练习一下", "是这样吗?")
_ExcelBookClose($oExcel) ; 关闭退出
页: [1]
查看完整版本: AU3如何实现在某一张工作表前创建新的工作表