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 48 49 50 51 52 53 54 55 56 57 58
|
data test;
input var;
cards;
23089093195752
;
run;
data test1 (drop=var
rename=(va=valeur)
);
set test;
va=put(var, 20.);
run;
ods tagsets.excelxp file="c:\sas\temp.xml" style=styles.normal;
proc report data=test1 nowd
;
column valeur;
define valeur / "var" style(column)={tagattr="type:String"};
run;
ods tagsets.excelxp close;
options noxsync noxwait;
%macro test(default=c:\sas\,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) & "".xls"",-4143";
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