Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何在SAS的DDE中实现单元范围的动态化_Excel_Sas_Dde - Fatal编程技术网

Excel 如何在SAS的DDE中实现单元范围的动态化

Excel 如何在SAS的DDE中实现单元范围的动态化,excel,sas,dde,Excel,Sas,Dde,我正在尝试使用sas中的DDE格式化周报,它会打开保存在我桌面位置的excel文件。我想格式化这些单元格的字体。我有一个总列,每次新数据进来时都需要格式化。但每次这些数据出来,“总”单元格的范围都会不同。请参考我正在写的代码 选项noxsync noxwait filename sas2xl dde 'excel|system'; data _null_; length fid rc start stop time 8; fid=fopen('sas2xl

我正在尝试使用sas中的DDE格式化周报,它会打开保存在我桌面位置的excel文件。我想格式化这些单元格的字体。我有一个总列,每次新数据进来时都需要格式化。但每次这些数据出来,“总”单元格的范围都会不同。请参考我正在写的代码

选项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;              
错误
代码不起作用,给我一个这样的错误
DDE会话未准备就绪。致命:
在执行DATA step程序时检测到不可恢复的I/O错误。在执行阶段中止


您能告诉我如何进行此

以及如何识别要使用的单元格吗?嗨,cindy,数据有一个小计列,需要格式化,但此列可能随每周的数据而变化。每周都有一个总列需要格式化。这个总数所在的单元格范围每周都会改变。因此,基本上我想使这个“Total”动态化,这样我就不必每次工作时都指定整个单元格和列范围。我建议切换到ODS Tagsets.excelxp。如果你想要你的公式是动态的,你必须有某种规则,规则是什么?您会将计数放在不同的单元格中,还是可以从表中提取行数,然后从DDE中创建/插入公式?请尝试查找旧的excel宏参考手册,该手册可以追溯到VBA引入之前。这是可以在DDE中使用的命令集。嗨,Reeze,我在这里使用的公式是first.last。这样我就可以捕获最后一个“总”单元。但是,我如何将这个新专栏与第一篇和最后一篇结合使用呢。DDE中的变量