DDE Unicode символ из SAS в Word? - PullRequest
0 голосов
/ 06 февраля 2020

Я пытаюсь выполнить команду поиска / замены 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

...