excelsasdde

SAS put data to Excel via DDE


I want to write some data to Excel via DDE and have the following code:

option noxwait noxsync;
x call "C:\Program Files (x86)\Microsoft Office\Office15\EXCEL.EXE";

%let delay=5;
data _null_;
    rc=sleep(&delay); 
run;

filename random dde 'excel|Tabelle1!r1c1:r100c3';
data _null_;
    set sashelp.class;
    file random;
    put name sex age;
run;

Excel opens successfully however the sheet remains empty. The log tells me that 19 records were written to the file RANDOM.

Any suggestions why the data is not written to my Excel sheet? Could it be connected with my language settings (German) in Excel?


Solution

  • Very mad story from my end: When I changed my language settings from German to English it works fine with the shown code.

    Update: It also works with German language settings, however I have to translate all statements, e.g. the range written to:

    English Excel

    filename random dde 'excel|Sheet1!r1c1:r100c3';
    

    German Excel use z(eile) and s(palte) instead of r(ow) and c(olumn)

    filename random dde 'excel|Tabelle1!z1s1:z100s3';