SAS中文论坛

标题: 请各位帮我看一下程式 [打印本页]

作者: shiyiming    时间: 2006-12-4 19:24
标题: 请各位帮我看一下程式
这个程式是用来改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;




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2