0

毎月実行する複数の SAS コードがあります。すべてのコードを含み、各コードを実行できる Excel スプレッドシートが必要です。

まず、これを行う簡単な方法はありますか?コードの場所を呼び出してそこから実行するだけだと思いますか?私が必要とする特定の参照はありますか?

このコードを見つけて使用しようとしましたが、ライセンスの有効期限が切れていることを示しているため、何か問題があると思いますが、Excel で実行するとコードが機能します。

VBAコードは次のとおりです。

Sub RunSAS()
'--> Verify Run Request (Exit If Cancelled)
a = MsgBox("Run " & ActiveCell.Value & "?", vbOKCancel, "Run SAS Program Confirmation")
If a = vbCancel Then
Exit Sub
End If
'--> Run SAS Program
Z = Shell("C:\Program Files\SAS\x86\SASFoundation\9.3\sas.exe -initstmt '%include """ &     ActiveCell.Value & """ / source2; run;'", vbNormalFocus)

'--> If Requested, Insert Run Time/Date In FIFO Order
' ('Run History' Must Appear In First Row Of Column To Right Of Program Name)
If UCase$(Trim(Cells(1, ActiveCell.Column + 1).Value)) = "RUN HISTORY" Then Cells   (ActiveCell.Row, ActiveCell.Column + 1).Select
Selection.Insert Shift:=xlToRightCells(ActiveCell.Row, ActiveCell.Column + 1).Select
Selection.Copy Cells(ActiveCell.Row, ActiveCell.Column - 1).Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.Value = Date & " " & Time()
Cells(ActiveCell.Row, ActiveCell.Column - 1).Select
Application.CutCopyMode = False
End If

End Sub

私が実行しようとしている SAS コードは非常に単純で、自分自身に電子メールを送信しようとするだけです。

%INC 'H:\sasconnect\idwapid.inc';
OPTIONS COMAMID=tcp;

FILENAME RLINK '\\int\groupdata\IDW\sasscript\SAS93\sasap6\prod\Res_sasapv93_prod.scr';

%let host=idwap1 17554;
%let server=host;
SIGNON remote=&server;

RSUBMIT;

*** send email ***;
FILENAME eml2 email TO= ("a.m@company.com.au") SUBJECT="Test";   
DATA _NULL_;
  FILE eml2;            
  PUT "Email 3";
RUN;

endrsubmit;
signoff;

どんな助けでも大歓迎です。

4

1 に答える 1

0

「SAS® Add-In for Microsoft Office」製品について聞いたことがありますか? 詳細については、http://support.sas.com/software/products/addin/を参照してください。

于 2013-08-08T01:49:34.500 に答える