Я пытаюсь заставить SAS вставить значение в Word (через DDE). Все работает нормально , если закладка не находится в текстовом поле, тогда она не может найти закладку.
У меня нет возможности не использовать текстовое поле, я заполняю шаблоны, которые кто-то еще создал.
%macro quick_stats(ins_id);
** Open Word;
options noxsync noxwait xmin;
filename outdata dde 'winword|system' notab;
%macro open_word;
data _null_;
length fid rc start stop time 8;
fid=fopen('outdata','s');
if (fid le 0) then do;
rc=system('start winword');
start=datetime();
stop=start+10;
do while (fid le 0);
fid=fopen('outdata','s');
time=datetime();
if (time ge stop) then fid=1;
end;
end;
rc=fclose(fid);
run;
%mend open_word;
%open_word;
**Open document;
%macro opendoc;
data _null_;
cmd='[FileOpen.Name =' || '"' || "&out_directory.\&ins_id..docx" || '"' || ']';
file outdata;
put cmd;
run;
%mend;
%opendoc;
data _null_;
set temp_sub;
file outdata;
put %unquote(%bquote('[EditGoto.Destination = "MyBookmark"]'));
** Insert value;
cmd = '[Insert "' || MyValue || '"]';
put cmd;
file outdata;
put '[FileSave]';
put '[FileClose]';
put '[FileExit]';
run;
%mend quick_stats;