Hi I did similar work a few days ago. below is the code I used. you need to modify the RED parts: filename indata pipe 'dir N:\"External Investigators Projects"\Libon\"DS Calculator Pilot IDs" /b '; /* put all the .xlsx file names in dataset file_list */ data file_list; length fname $90 in_name out_name $32; infile indata truncover; input fname $ 90.; in_name=translate(scan(fname,1,'.'),'_','-'); out_name=cats('_',in_name); if upcase(scan(fname,-1,'.'))='XLSX'; run; data _null_; set file_list end=last; call symputx(cats('dsn',_n_),in_name); call symputx(cats('outdsn',_n_),out_name); if last then call symputx('n',_n_); run; %macro test; %do i=1 %to &n; PROC IMPORT OUT= work.&&outdsn&i. DATAFILE= "N:\External Investigators Projects\Libon\DS Calculator Pilot IDs\&&dsn&i...xlsx" DBMS=EXCEL REPLACE; RANGE="Sheet1$E17:E21"; GETNAMES=NO; MIXED=NO; SCANTEXT=YES; USEDATE=YES; SCANTIME=YES; RUN; %end; %mend; %test data final; set _:; run;
... View more