SAS DDE to Excel 2016修复/替代?

时间:2019-01-29 14:06:44

标签: excel sas excel-2016 dde

我对SAS编程比较陌生,并且继承了用DDE编写的代码来打开数据并将其导出到模板。

下面是使用的代码:

** Use DDE to port the data to Excel template.;
* Start Excel.;

OPTIONS NOXWAIT NOXSYNC;

X "'C:\Program Files (x86)\Microsoft Office\Office16\EXCEL.EXE'";

DATA _NULL_;
   zzzz = sleep(20);
RUN;

* Open the Excel file.;

FILENAME CMDEXCEL DDE 'EXCEL|SYSTEM';

DATA _NULL_;
   FILE CMDEXCEL;
    PUT '[OPEN("I:\J3 O\J3 OP Integration Division\Customer Support\RESEARCH\Weekly Workload\Open Ticket SAS Reports\Open_detail_Template.xlsx")]';
RUN;

DATA _NULL_;
   zzzz = sleep(20);
RUN;


* Move labels.;

FILENAME DDEWRITE DDE "EXCEL|Open!r2c1:r7000c14" NOTAB;

DATA _NULL_;
   FILE DDEWRITE;
   set todays_detail;
    if crm_group = 'OP';
   put
       color '09'x
       employee '09'x
       ticket_number '09'x
       pri_text '09'x
       open_date '09'x
       due_date '09'x
       classification '09'x
       requisition_num '09'x
       nsn '09'x
       dodaac '09'x
       depot '09'x
       status '09'x
       tot_tix '09'x
       tot_actions
   ;
run;

DATA _NULL_;
   zzzz = sleep(2);
RUN;



DATA _NULL_;
   FILE CMDEXCEL;
  PUT '[SAVE.as("'"I:\J3 O\J3 OP Integration Division\Customer Support\RESEARCH\Weekly Workload\Open Ticket SAS Reports\Open Ticket Detail Report &rpt_date2..xlsx"'")]';
  PUT '[QUIT()]';
run;

我注意到,X语句可以很好地打开excel应用程序。但是,这就是挂断的地方。在我的同事计算机上,模板打开,您可以看到正在写入相应模板字段的数据。我尝试了许多不同的方法来尝试使DDE连接正常工作。香港专业教育学院试图禁用所有加载项,禁用并启用excel中的“忽略其他应用程序”复选框,关闭所有应用程序,仅运行SAS EG,重新启动计算机并运行等,等等。

我也调查了

的答案

SAS put data to Excel via DDE

Problems with SAS DDE with Office 2010

Change from DDE to proc export because office 2016 does not support it

我认为最后一个链接是最有用的,但我想尝试将代码保持原样。

我确实拥有SAS PC / ACCESS许可证,所以我认为proc导入和proc导出可能是一个选择。我不太确定我将如何复制它以执行与DDE代码相同的步骤。

感谢您的帮助。我非常感激时间。

注意:我已经阅读了修复Microsoft工程的选项,但是目前这不是我可以选择的选项。

1 个答案:

答案 0 :(得分:1)

DDE是古老的技术。与PC上其他进程的某些奇怪交互可能会使它崩溃。如果可以弄清楚正在运行的其他程序正在劫持DDE信号并关闭它,则可能会使其工作。

或切换到另一种方法。例如Visual Basic。

看一下这篇论文。有关示例,请参见示例8。

http://www.sascommunity.org/mwiki/images/d/d6/2444-2018.pdf