1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
ODS TAGSETS.EXCELXP FILE="c:\temp\temp2_files\sortie.xml" OPTIONS(SHEET_LABEL=" " SHEET_NAME="CLASS") style=DEFAULT;
PROC TABULATE DATA=SASHELP.CLASS OUT=table;
CLASS NAME age;
VAR WEIGHT ;
TABLE (NAME all)*(age ALL) (all= 'Total'),
( PCTN*f=numx6.2);
RUN;
ODS TAGSETS.EXCELXP CLOSE ;
options noxsync noxwait;
%macro test(default=c:\temp\temp2_files\,store=c:\temp\temp.vbs,ext=xml);
data _null_;
file "&store";
put " Dim oXL ";
put " Dim oFolder";
put " Dim aFile";
put " Dim FSO";
put " Set oXL = CreateObject(""Excel.Application"")";
put " Set FSO = CreateObject(""Scripting.FileSystemObject"")";
put " oXL.DefaultFilePath = ""&default""";
put " oXL.DisplayAlerts = False";
put " if FSO.FolderExists(oXL.DefaultFilePath) then";
put " Set oFolder = FSO.GetFolder(oXL.DefaultFilePath)";
put " For each aFile in oFolder.Files ";
put " If Right(LCase(aFile.Name), 4) = "".&ext"" Then";
put " oXL.Workbooks.Open(aFile.Name)";
put " oXL.Visible = False";
put " oXL.ActiveWorkBook.SaveAs Left(aFile, Len(aFile) - 4) & "".xlsx"",51";
put " oXL.ActiveWorkBook.Close SaveChanges = True";
put " End If";
put " Next";
put " Set oFolder = Nothing";
put " end if";
put " FSO.DeleteFile(""&default\*.&ext""), DeleteReadOnly";
put " oXL.DisplayAlerts = True";
put " oXL.Quit";
put " Set oXL = Nothing";
run;
x "cscript ""&store""";
%mend;
%test() |
Partager