У меня проблема с преобразованием rtf в pdf в SAS EG с помощью скрипта VB. Раньше он работал на сервере Base SAS.
Я использовал параметры pro c, чтобы узнать, открыт ли nocmd по умолчанию, однако, похоже, команда X включена.
proc options option=noxcmd define value;
run;
Option Definition Information for SAS Option XCMD
Group= ENVDISPLAY
Group Description: Windows and data display information
Description: Enables the X command in SAS.
Type: The option value is of type BOOLEAN
When Can Set: Session startup (command line or config) only
Restricted: Your Site Administrator can restrict modification of this option
Optsave: PROC Optsave or command Dmoptsave will not save this option NOTE: PROCEDURE OPTIONS used (Total process time):
real time 0.00 seconds
cpu time 0.00 seconds
%macro vbs_pdf(rtfname=,pdfname=);
data _null_;
length vbscmd $ 400;
file "temp.vbs";
put 'Dim ObjWord';
put 'set objWord = CreateObject("Word.Application")';
put 'objWord.Visible = True';
vbscmd='objWord.Documents.Open("'|| "&rtfname" ||'")';
put vbscmd;
vbscmd='objWord.ActiveDocument.SaveAs "'||"&pdfname"||'", 17';
put vbscmd;
put 'objWord.ActiveDocument.Close(False)';
put 'objWord.Application.Quit(False)';
run;options noxwait;
data _null_;
command="START /WAIT CScript temp.vbs //NoLogo";
call system(command);
command2="DEL temp.vbs ";
call system(command2);
run;
%mend;
options noxwait;
%vbs_pdf(rtfname=\\cifs\...\sample1.rtf,
pdfname=\\cifs\...\sample1.pdf);
Ниже представлена система, которую я использовал.
%put &=sysscp &=syshostname &=syshostinfolong ;
SYMBOLGEN: Macro variable SYSHOSTINFOLONG resolves to X64_SRV16 WIN 10.0.14393 Server
Я не видел, чтобы в SAS EG выполнялась какая-либо команда X. Кто-нибудь знает, как заставить это работать?