如何在SAS中使DDE中的单元格范围动态化

时间:2016-02-04 17:27:52

标签: excel sas dde

我正在尝试使用sas中的DDE格式化每周报告,这会打开保存在桌面位置的Excel文件。我想格式化这些单元格中的一些字体。我有一个总列,每次新数据进入时都需要格式化。但每次这些数据出现时," Total"细胞会有所不同。请参阅我正在编写的代码

options noxsync noxwait;

filename sas2xl dde 'excel|system';



data _null_;        
 length fid rc start stop time 8;       
 fid=fopen('sas2xl','s');       
 if (fid le 0) then do;        
 rc=system('start excel');        
 start=datetime();      
 stop=start+10;        
 do while (fid le 0);         
 fid=fopen('sas2xl','s');          
 time=datetime();         
 if (time ge stop) then fid=1;        
 end;        
 end;       
 rc=fclose(fid);       
run;       

data _null_;      
 file sas2xl;        
 put '[open(myfilepath\file.xlsx")]';          
run;            

**I had created a macro using call symput and i am using it here for dynamically changing the row number**  
%macro xyz;         
data _null_;         
 file sas2xl;       
%do i= 1 %to 3;       
 put '[error(false)]';       
 put '[workbook.activate("Sheet1")]';        
 put '[select("r&&rownum&i..c1")]';        
 put '[format.font("Arial",true,false,false,false,1,false,false)]';       
 put '[column.width(0,"c1:c6",false,3)]';       
%end;         
run;              

ERROR
代码不起作用,给我一个像这样的错误 DDE会话尚未就绪。 FATAL:
在执行DATA步骤程序时检测到不可恢复的I / O错误。在执行阶段中止。

你能告诉我怎样才能继续这个

0 个答案:

没有答案