! Y DEPOSI TA LOS RESULTADOS EN LA HOJ A1 DE EXCEL, ! ADEMAS EJ ECUTA MACROS DE EXCEL DESDE EL DI GSI LENT obj ect O, C, f l uj os; set S; i nt i , n, a, i Tmp; st r i ng nombr e, acel l , s2, s3; f l uj os = Get CaseObj ect ( ' Bal anced. ComLdf ' ) ;
Cl ear Out put ( ) ; C = Act i vePr oj ect ( ) ; f l uj os. Execut e( ) ;
i f ( i Excel ) { i Tmp = ddeOpen( ' ' , ' Excel ' , ' Hoj a1' ) ; i f ( . not . i Tmp) { ! excel can be opened. Now cl ose and connect t o a speci f i c sheet ddeCl ose( ) ; i Tmp = ddeOpen( ' ' , ' Excel ' , ' Hoj a1' ) ; i f ( i Tmp) { I nf o( ' No Sheet 1 yet , cr eat i ng one. . . ' ) ; i Tmp = ddeOpen( ' ' , ' Excel ' , ' Syst em' ) ; i f ( i Tmp) { pr i nt f ( ' Cannot open DDE t o Excel ' ) ; } el se { ! cr eat e a nueva hoj a Hoj a1 ddeExe( ' [ New( 1) ] ' ) ; ddeCl ose( ) ; i Tmp = ddeOpen( ' ' , ' Excel ' , ' Macr o1' ) ; } } } i f ( i Tmp) { Er r or ( ' Coul d not open DDE connect i on' ) ; exi t ( ) ; } } pr i nt f ( ' %s ' , ' Ha f i nal i zado l a aper t ur a del Excel ' ) ; ddeExe( ' [ Run( " Li mpi a") ] ' ) ; ! Cl ear Out put ( ) ;
! Lect ur a de dat os en l i neas S = Al l Rel evant ( ) ; O = S. Fi r st mat ch( ' El mLne' ) ; i = 3; whi l e ( O) { nombr e = O: l oc_name; s3 =O: cpZone; a = O: out ser v; O. ShowFul l Name( ) ; i f ( a = 0) { i +=1; acel l = spr i nt f ( ' F%dC1' , i ) ; ddePoke( acel l , nombr e) ; acel l = spr i nt f ( ' F%dC21' , i ) ; ddePoke( acel l , nombr e) ; s2 = spr i nt f ( ' %f ' , O: c: l oadi ng) ; acel l = spr i nt f ( ' F%dC2' , i ) ; ddePoke( acel l , s2) ;
! Per di das en l i neas s2 = spr i nt f ( ' %f ' , O: c: Losses) ; acel l = spr i nt f ( ' F%dC3' , i ) ; ddePoke( acel l , s2) ;
! Per di das en l i nes s2 = spr i nt f ( ' %f ' , O: m: Pl oss: bus1) ; acel l = spr i nt f ( ' F%dC22' , i ) ; ddePoke( acel l , s2) ; s2 = spr i nt f ( ' %f ' , O: m: Ql oss: bus1) ; acel l = spr i nt f ( ' F%dC23' , i ) ; ddePoke( acel l , s2) ; ! Fl uj o en l i nes s2 = spr i nt f ( ' %f ' , O: m: P: bus1) ; acel l = spr i nt f ( ' F%dC24' , i ) ; ddePoke( acel l , s2) ; s2 = spr i nt f ( ' %f ' , O: m: Q: bus1) ; acel l = spr i nt f ( ' F%dC25' , i ) ; ddePoke( acel l , s2) ;
}
O = S. Next mat ch( ) ; }
! Lect ur a de dat os en Aut ot r ansf or mador es S = Al l Rel evant ( ) ; O = S. Fi r st mat ch( ' El mTr 3' ) ; i = 3; whi l e ( O) { nombr e = O: l oc_name; s3 = O: cpZone; a = O: out ser v; i f ( a = 0) { i +=1; acel l = spr i nt f ( ' F%dC4' , i ) ; ddePoke( acel l , nombr e) ; pr i nt f ( ' %s %s' , acel l , nombr e) ;
acel l = spr i nt f ( ' F%dC32' , i ) ;
ddePoke( acel l , nombr e) ; s2 = spr i nt f ( ' %f ' , O: c: l oadi ng) ; acel l = spr i nt f ( ' F%dC5' , i ) ; ddePoke( acel l , s2) ;
! RESULTADOS DE FLUJ OS Y PERDI DAS acel l = spr i nt f ( ' F%dC37' , i ) ; ddePoke( acel l , nombr e) ; s2 = spr i nt f ( ' %f ' , O: m: Pl oss: bushv) ; acel l = spr i nt f ( ' F%dC38' , i ) ; ddePoke( acel l , s2) ; s2 = spr i nt f ( ' %f ' , O: m: Ql oss: bushv) ; acel l = spr i nt f ( ' F%dC39' , i ) ; ddePoke( acel l , s2) ; s2 = spr i nt f ( ' %f ' , O: m: P: bushv) ; acel l = spr i nt f ( ' F%dC40' , i ) ; ddePoke( acel l , s2) ; s2 = spr i nt f ( ' %f ' , O: m: Q: bushv) ; acel l = spr i nt f ( ' F%dC41' , i ) ; ddePoke( acel l , s2) ; s2 = spr i nt f ( ' %f ' , O: n: Ul : bushv) ; acel l = spr i nt f ( ' F%dC42' , i ) ; ddePoke( acel l , s2) ; s2 = spr i nt f ( ' %f ' , O: n: Ul : busl v) ; acel l = spr i nt f ( ' F%dC43' , i ) ; ddePoke( acel l , s2) ; s2 = spr i nt f ( ' %f ' , O: m: cosphi sum: bushv) ; acel l = spr i nt f ( ' F%dC44' , i ) ; ddePoke( acel l , s2) ;
} O = S. Next mat ch( ) ; }
! Lect ur a de dat os en Nodos S = Al l Rel evant ( ) ; O = S. Fi r st mat ch( ' El mTer m' ) ; i = 3; whi l e ( O) { nombr e = O: l oc_name; s3 =O: cpZone; a = O: out ser v; i f ( a = 0) { i +=1; acel l = spr i nt f ( ' F%dC7' , i ) ; ddePoke( acel l , nombr e) ; pr i nt f ( ' %s %s' , acel l , nombr e) ; s2 = spr i nt f ( ' %f ' , O: m: u) ; acel l = spr i nt f ( ' F%dC8' , i ) ; ddePoke( acel l , s2) ; } O = S. Next mat ch( ) ; }
! Lect ur a de dat os en Tr ansf or mador es S = Al l Rel evant ( ) ; O = S. Fi r st mat ch( ' El mTr 2' ) ; i = 3; whi l e ( O) { nombr e = O: l oc_name; s3 =O: cpZone; a = O: out ser v; i f ( a = 0) { i +=1; acel l = spr i nt f ( ' F%dC10' , i ) ; ddePoke( acel l , nombr e) ; acel l = spr i nt f ( ' F%dC28' , i ) ; ddePoke( acel l , nombr e) ; s2 = spr i nt f ( ' %f ' , O: c: l oadi ng) ; acel l = spr i nt f ( ' F%dC11' , i ) ; ddePoke( acel l , s2) ;
! RESULTADOS DE FLUJ OS Y PERDI DAS acel l = spr i nt f ( ' F%dC28' , i ) ; ddePoke( acel l , nombr e) ; s2 = spr i nt f ( ' %f ' , O: m: Pl oss: bushv) ; acel l = spr i nt f ( ' F%dC29' , i ) ; ddePoke( acel l , s2) ; s2 = spr i nt f ( ' %f ' , O: m: Ql oss: bushv) ; acel l = spr i nt f ( ' F%dC30' , i ) ; ddePoke( acel l , s2) ; s2 = spr i nt f ( ' %f ' , O: m: P: bushv) ; acel l = spr i nt f ( ' F%dC31' , i ) ; ddePoke( acel l , s2) ; s2 = spr i nt f ( ' %f ' , O: m: Q: bushv) ; acel l = spr i nt f ( ' F%dC32' , i ) ; ddePoke( acel l , s2) ; s2 = spr i nt f ( ' %f ' , O: n: Ul : bushv) ; acel l = spr i nt f ( ' F%dC33' , i ) ; ddePoke( acel l , s2) ; s2 = spr i nt f ( ' %f ' , O: n: Ul : busl v) ; acel l = spr i nt f ( ' F%dC34' , i ) ; ddePoke( acel l , s2) ;
s2 = spr i nt f ( ' %f ' , O: m: cosphi sum: bushv) ; acel l = spr i nt f ( ' F%dC35' , i ) ; ddePoke( acel l , s2) ;
} O = S. Next mat ch( ) ; }
! Lect ur a de dat os en Zonas S = Al l Rel evant ( ) ; O = S. Fi r st mat ch( ' El mZone' ) ; i = 3; whi l e ( O) { nombr e = O: l oc_name; i +=1; acel l = spr i nt f ( ' F%dC13' , i ) ; ddePoke( acel l , nombr e) ; s2 = spr i nt f ( ' %f ' , O: c: GenP) ; acel l = spr i nt f ( ' F%dC14' , i ) ; ddePoke( acel l , s2) ; s2 = spr i nt f ( ' %f ' , O: c: GenQ) ; acel l = spr i nt f ( ' F%dC15' , i ) ; ddePoke( acel l , s2) ; s2 = spr i nt f ( ' %f ' , O: c: Tot LoadP) ; acel l = spr i nt f ( ' F%dC16' , i ) ; ddePoke( acel l , s2) ; s2 = spr i nt f ( ' %f ' , O: c: Tot LoadQ) ; acel l = spr i nt f ( ' F%dC17' , i ) ; ddePoke( acel l , s2) ; s2 = spr i nt f ( ' %f ' , O: c: LossP) ; acel l = spr i nt f ( ' F%dC18' , i ) ; ddePoke( acel l , s2) ; s2 = spr i nt f ( ' %f ' , O: c: LossQ) ; acel l = spr i nt f ( ' F%dC19' , i ) ; ddePoke( acel l , s2) ; O = S. Next mat ch( ) ;