|
楼主

楼主 |
发表于 2006-12-4 19:24:36
|
只看该作者
请各位帮我看一下程式
这个程式是用来改sheet名称,只是问题是.....这个程式只能把sheet名字改过,不能指定一个特定的名字来改,原因是,这个程式是先把sheet名称从新增过后再来改名字,如果原本就有的sheet有资料,那就会把原本资料删除;或者,新增一个sheet,再来改这个新增的名字,如果这样,只有作其老资料处理,一定要先确定有没有相同的sheet,这样很麻烦,能否帮我看看,怎么去判定这个新增的sheet是没有重覆,或是不是新增的sheet,再来更正这个sheet的名称.
OPTIONS MACROGEN SYMBOLGEN NOERRORABEND NOXWAIT NOXSYNC YEARCUTOFF=1950 SORTSIZE=16M;
X "start /min excel";
DATA _NULL_;
rc = SLEEP(3);
RUN;
filename cmd dde 'excel|system';
filename m1 dde 'excel|macro1!r1:r50';
data _null_;
file cmd;
put '[close.all]';
put '[new(1)]';
*** add 2 more ws for a total of 3;
do ii = 1 to 2;
put '[workbook.insert(1)]';
end;
*** add a worksheet for a macro page;
put '[workbook.insert(3)]';
run;
data _null_;
file m1 notab;
*** renames "sheet1" to "newnm1"...etc.;
do ii = 1 to 3;
renm = '=workbook.name("sheet'||compress(put(ii, 1.))||'", "newnm'||put(ii, 1.)||'")';
put renm;
end;
put '=Halt(True)';
put '!DDE_FLUSH';
file cmd;
put '[RUN("Macro1!R1C1")]';
put '[ERROR(False)]';
put '[workbook.delete()]';
run; |
|