SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 688|回复: 0
打印 上一主题 下一主题

请各位帮我看一下程式

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 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;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-11 08:43 , Processed in 0.067714 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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