从DDE切换到可以工作的东西,可能就像libname一样

时间:2017-12-20 12:20:50

标签: sas excel-2016 dde

新的办公软件包不支持SAS中的DDE命令,您知道如何在没有DDE的情况下使以下代码正常工作。感谢。

%macro report(type=);
options mlogic noxwait noxsync;

%SYSEXEC "C:\Program Files (x86)\Microsoft Office\root\Office16\excel.exe"; 
%SYSEXEC "C:\Program Files (x86)\Microsoft Office\Office14\excel.exe";

data _null_;
x=sleep(10);
run;

filename Commands dde 'excel|system';
DATA _null_;
FILE commands;
PUT '[ERROR(FALSE)]';
*Put'[open("path")]';
Put '[open("path")]';
Put '[PROTECT.DOCUMENT(FALSE, FALSE, , FALSE, FALSE)]';
RUN;

/*
%LET SHEET=DISPUTE2;
%PUT &SHEET;
%LET DATA=DISPUTE2;
%PUT &DATA;
*/
%MACRO SHEET(SHEET=);
filename HEAD1 dde "EXCEL|&SHEET!R6C1:R6C1" NOTAB;
filename CRU dde "EXCEL|&SHEET!R7C1:R500C1" NOTAB;

1 个答案:

答案 0 :(得分:1)

看起来有一种方法可以在Excel 2016中打开DDE。

https://support.microsoft.com/en-us/help/3001579/an-error-occurred-when-sending-commands-to-the-program-error-in-excel

  1. 在“工具”菜单上,单击“选项”。
  2. 单击“常规”选项卡。
  3. 清除忽略使用动态数据交换的其他应用程序 (DDE)复选框,然后单击“确定”。
  4. 将您的流程重新设计为不使用DDE可能会更好,但是为了获得帮助,您需要解释您想要做的事情。