【发布时间】:2019-06-22 16:30:45
【问题描述】:
我对 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,重新启动我的计算机并运行它等等。
我也查看了来自
的答案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 代码相同的步骤。
感谢您的帮助。我非常感谢时间。
注意:我已经阅读了修复 microsoftworks 的选项,但目前这不是我可以选择的选项。
【问题讨论】:
-
Excel 是否启用了 DDE 作为选项?它可能会打开(系统命令),但如果未启用,则可能不接受 DDE 命令。您需要提供更多信息,说明问题出在哪里以及 SAS 是否存在错误。
-
@Reeza 我在哪里可以找到该设置?选项-高级-通用-忽略使用 DDE 的应用程序下的设置是否相同?错误发生在:DATA NULL;文件 CMDEXCEL; PUT '[OPEN("I:\J3 O\J3 OP 集成部门\客户支持\RESEARCH\Weekly Workload\Open Ticket SAS Reports\Open_detail_Template.xlsx")]';。 Excel 可以正常打开,但模板根本无法打开。它一直挂在那里,直到我在任务管理器中杀死 SAS。
-
不,它在信任中心,请参阅本页一半左右的说明。您可能需要同时设置这两个选项。 support.office.com/en-us/article/…
-
@Reeza 我看了看页面。我启用了设置的第一部分,有趣的是缺少 DDE 部分。关于为什么会这样的任何想法?
-
您使用的是 Office 365、2016、2010 吗?
标签: excel sas excel-2016 dde