LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous (more recent) messageNext (less recent) messagePrevious (more recent) in topicNext (less recent) in topicPrevious (more recent) by same authorNext (less recent) by same authorPrevious page (March 2002, week 2)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Mon, 11 Mar 2002 20:59:09 +0000
Reply-To:     Prasad Prabhudesai <prasad_prabhud@HOTMAIL.COM>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         Prasad Prabhudesai <prasad_prabhud@HOTMAIL.COM>
Organization: Mailgate.ORG Server - http://www.Mailgate.ORG
Subject:      Re: SAS to EXCEL DDE question
Content-Type: text/plain; charset=ISO-8859-1

Thanks a lot Nancy Brucken for the following macro but somehow nothing gets resolved in the macro.

I am using the following macro to populate the certain cells in EXCEL but somehow nothing gets resolved and I get DDE error. I would appreciate the if anybody can help me in this.

%MACRO DUMPDATA(start=,end=); 293 294 %do I = &start %to &end; 295 PUT '[SELECT("R2C&I")]'; 296 %DO J = %eval(&end - &start) %to 1; 297 PUT '[FORMULA(" ' DX&J ' ")]'; 298 %END; 299 %END; 300 301 %MEND DUMPDATA; 302 303 304 305 306 OPTIONS NOXWAIT NOXSYNC MACROGEN SYMBOLGEN; 307 308 FILENAME CMDS DDE 'EXCEL|SYSTEM'; 309 310 DATA _NULL_; 311 SET LAST; 312 FILE CMDS; 313 PUT '[WORKBOOK.SELECT("tier")]'; 314 /*** NRXs Below *************/ 315 %dumpdata(start=3,end=23); SYMBOLGEN: Macro variable START resolves to 3 SYMBOLGEN: Macro variable END resolves to 23 MACROGEN(DUMPDATA): PUT '[SELECT("R2C&I")]'; SYMBOLGEN: Macro variable END resolves to 23 SYMBOLGEN: Macro variable START resolves to 3 MACROGEN(DUMPDATA): PUT '[SELECT("R2C&I")]'; SYMBOLGEN: Macro variable END resolves to 23 SYMBOLGEN: Macro variable START resolves to 3 MACROGEN(DUMPDATA): PUT '[SELECT("R2C&I")]'; SYMBOLGEN: Macro variable END resolves to 23 SYMBOLGEN: Macro variable START resolves to 3 MACROGEN(DUMPDATA): PUT '[SELECT("R2C&I")]'; SYMBOLGEN: Macro variable END resolves to 23 SYMBOLGEN: Macro variable START resolves to 3 MACROGEN(DUMPDATA): PUT '[SELECT("R2C&I")]'; SYMBOLGEN: Macro variable END resolves to 23 SYMBOLGEN: Macro variable START resolves to 3 MACROGEN(DUMPDATA): PUT '[SELECT("R2C&I")]'; SYMBOLGEN: Macro variable END resolves to 23 SYMBOLGEN: Macro variable START resolves to 3 MACROGEN(DUMPDATA): PUT '[SELECT("R2C&I")]'; SYMBOLGEN: Macro variable END resolves to 23 SYMBOLGEN: Macro variable START resolves to 3 MACROGEN(DUMPDATA): PUT '[SELECT("R2C&I")]'; SYMBOLGEN: Macro variable END resolves to 23 SYMBOLGEN: Macro variable START resolves to 3 MACROGEN(DUMPDATA): PUT '[SELECT("R2C&I")]'; SYMBOLGEN: Macro variable END resolves to 23 SYMBOLGEN: Macro variable START resolves to 3 MACROGEN(DUMPDATA): PUT '[SELECT("R2C&I")]'; SYMBOLGEN: Macro variable END resolves to 23 SYMBOLGEN: Macro variable START resolves to 3 MACROGEN(DUMPDATA): PUT '[SELECT("R2C&I")]'; SYMBOLGEN: Macro variable END resolves to 23 SYMBOLGEN: Macro variable START resolves to 3 MACROGEN(DUMPDATA): PUT '[SELECT("R2C&I")]'; SYMBOLGEN: Macro variable END resolves to 23 SYMBOLGEN: Macro variable START resolves to 3 MACROGEN(DUMPDATA): PUT '[SELECT("R2C&I")]'; SYMBOLGEN: Macro variable END resolves to 23 SYMBOLGEN: Macro variable START resolves to 3 MACROGEN(DUMPDATA): PUT '[SELECT("R2C&I")]'; SYMBOLGEN: Macro variable END resolves to 23 SYMBOLGEN: Macro variable START resolves to 3 MACROGEN(DUMPDATA): PUT '[SELECT("R2C&I")]'; SYMBOLGEN: Macro variable END resolves to 23 SYMBOLGEN: Macro variable START resolves to 3 MACROGEN(DUMPDATA): PUT '[SELECT("R2C&I")]'; SYMBOLGEN: Macro variable END resolves to 23 SYMBOLGEN: Macro variable START resolves to 3 MACROGEN(DUMPDATA): PUT '[SELECT("R2C&I")]'; SYMBOLGEN: Macro variable END resolves to 23 SYMBOLGEN: Macro variable START resolves to 3 MACROGEN(DUMPDATA): PUT '[SELECT("R2C&I")]'; SYMBOLGEN: Macro variable END resolves to 23 SYMBOLGEN: Macro variable START resolves to 3 MACROGEN(DUMPDATA): PUT '[SELECT("R2C&I")]'; SYMBOLGEN: Macro variable END resolves to 23 SYMBOLGEN: Macro variable START resolves to 3 MACROGEN(DUMPDATA): PUT '[SELECT("R2C&I")]'; SYMBOLGEN: Macro variable END resolves to 23 SYMBOLGEN: Macro variable START resolves to 3 MACROGEN(DUMPDATA): PUT '[SELECT("R2C&I")]'; SYMBOLGEN: Macro variable END resolves to 23 SYMBOLGEN: Macro variable START resolves to 3 316 run;

NOTE: The file CMDS is: DDE Session, SESSION=EXCEL|SYSTEM,RECFM=V,LRECL=256

ERROR: DDE session not ready. FATAL: Unrecoverable I/O error detected in the execution of the data step program. Aborted during the EXECUTION phase. NOTE: 1 record was written to the file CMDS. The minimum record length was 25. The maximum record length was 25. NOTE: The SAS System stopped processing this step because of errors. NOTE: There were 1 observations read from the data set WORK.LAST. NOTE: DATA statement used: real time 6:07.94 cpu time 0.08 seconds

"Prasad Desai" <prasad@prabhudesai.com> wrote in message news:8ca3a7824bd09a32b96cfb66e9dbefdc.3279@mygate.mailgate.org...

> I am trying to populate certain cells in the EXCEL. > It works alright but I want to make it more efficient by using do loop. > > Following is the part of my code. > > > > OPTIONS NOXWAIT NOXSYNC; > FILENAME CMDS DDE 'EXCEL|SYSTEM'; > > DATA _NULL_; > FILE CMDS; > PUT '[OPEN("H:\TEST.XLS")]'; > RUN; > > DATA _NULL_; > SET LAST; > FILE CMDS; > PUT '[WORKBOOK.SELECT("main")]'; > > PUT '[SELECT("R2C3")]'; > PUT '[FORMULA(" ' dx2 ' ")]'; > > PUT '[SELECT("R2C4")]'; > PUT '[FORMULA(" ' dx1 ' ")]'; > RUN; > > This program runs weekly so the FORMULA part and SELECT part needs to be > changed. I want to put this in a do loop so that I don't have to change > this part manually. This will run for 20 weeks. > > so I want the code something like > > DATA _null_; > SET LAST; > FILE CMDS; > PUT '[WORKBOOK.SELECT("main")]'; > > DO I = 3 TO 23; > PUT '[SELECT("R2C.&I")]'; /** Row will not change, only Column will c > hange . Column starts from 3**/ > DO J= 20 to 1 ; > PUT '[FORMULA(" ' dx.&J ' ")]'; > > END; > END; > RUN; > > > > Can somebody help me in this. > > Thanks > > Prasad

-- Posted via Mailgate.ORG Server - http://www.Mailgate.ORG


Back to: Top of message | Previous page | Main SAS-L page