Я пытаюсь выполнить команду поиска / замены dde
из SAS в Word, которая найдет --up-- и заменит ее на ⯅. У меня есть следующий код, который выдает ошибку:
** 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 =' || '"C:\some_dir\some_file.docx"' || ']';
file outdata;
put cmd;
run;
%mend;
%opendoc;
data _null_;
file outdata;
cmd = '[EditReplace.Find="--up--",.Replace="' || ⯅ ||
'",.Direction=0,.ReplaceAll,.Wrap=0]';
put cmd;
put '[FileSave]';
put '[FileClose]';
put '[FileExit]';
run;
Ошибка упоминает о невозможности перекодировать данные из utf-16 Ie в wlatin1. Я использую Microsoft Office 365 proplus (Word v1908, сборка 11929.20562) и SAS EG v7.15 HF8