cANR11E ;Print To Excel ;cANR11E ; T1 ;TOTALS;FORMAT;FUNCTION;COLPROTECT;SUBTOTALS;SUBTOTCOL;SORT;SORTORDER;COLFORMAT; ; YZ Q ; CSV ; CSV-formaat ophalen N K,I S K="\CSV\\^l\CSV\^M^J\",I="\\\\1\" S FORM=$$UI1^cAFA1("FORM",102,"CSV") I $G(FORM) S K=$$SIGN^cAFA1("FORM",FORM,0),I=$G(^(1)) S $P(I,D,5)=1 S VL=$P(K,D,3),VS=$P(K,D,4),RS=$P(K,D,6),VQ=$P(I,D,5) S S1=VS D S2^cA701 S VS=S2,S1=RS D S2^cA701 S RS=S2 CSVZ Q ; EXCEL(FILE,FORMAT,TITEL,HEADER,TEMPLATE,PWD) ; Openen bestand "FILE" in Excel I '$L($G(FILE)) G EXCELZ D START^cANR0("OpenFileInExcel") ; indien file="" betekent dit print to file OFF W FILE,! ; locatie S FORMAT=$G(FORMAT) I FORMAT[D F i=1:1:$L(FORMAT,D) s:'$L($P(FORMAT,D,i)) $P(FORMAT,D,i)=0 W $TR(FORMAT,D,""),! ; kolom(dataformaat) W $G(TITEL),! W $G(HEADER),! W $G(TEMPLATE),! W $G(PWD),! D STOP^cANR0 EXCELZ K NOSEP,NOTOP,NOAFS,NOTIT,ALTHD,ALTTOP,ALTTIT,NOTOT Q ; HD ; Alternatief voor HD^cA334F N i,R S $ZT="TRAP^cAN000" D PAR^cANR11(3,1) ; header in kleur ; I '$L($O(HD(""))) K TOP,TIT G HDZ ; firmagegevens S R3="",R="" F S R=$O(@("^"_Q_"BA(99,R)")) Q:R="" I $D(^(R))#10 S R3=R3_""_^(R)_"" I $L(R3) D SET(R3) ; hoofdinggevens HDB S LN=0,R3="",R="" f i=1:1:3 S HD(i)=$G(HD(i),D) F S R=$O(HD(R)) Q:R="" F R1=1:1:3 D . S R2=$P($P(HD(R),D,R1),SUBDEL),R4=$P("HLEFT\HCENTER\HRIGHT\",D,R1) . I R1=1,'$L(R2),R<4 S R2=$G(@("^"_Q_"BA(99,R)")) ; indien niets ingevuld voor ln 1-3 : firmagegevens . I $L(R2) S R3=R3_"<"_R4_R_">"_R2_"" I $L(R3) D SET(R3) ; opzetten beveiliging HDC D SET(""_$G(PTS("ALLPROTECT"))_"") ; opzetten Fit to n pages D SET(""_$G(PTS("FTPHOR"))_"") ; opzetten pagina-orientatie D SET(""_$G(PTS("PAGEORIENT"))_"") ; ophalen definties per kolom HDD F i=1:1:10 S R3(i)="" S RT="",R=1 F S RT=$O(TXT(RT)) Q:RT="" D . S R3(1)=R3(1)_''$P(TXT(RT),D,8) ; totaal . I $L($P(TXT(RT),D,20)) S $E(R3(2),R)=$P(TXT(RT),D,20) ; formaat (enkel als er iets ingevuld is) . S R3(3)=R3(3)_''$P(TXT(RT),D,21) ; functie . S R3(4)=R3(4)_''$P(TXT(RT),D,22) ; beveiligde kolom . S R3(5)=R3(5)_(+$P(TXT(RT),D,23)) ; niveau subtotaal . S R3(6)=R3(6)_(+$P(TXT(RT),D,24)) ; subtotaliseer kolom . S R3(7)=R3(7)_(+$P(TXT(RT),D,25)) ; sorteervolgorde . S R3(8)=R3(8)_(+$P(TXT(RT),D,26)) ; gesorteerde kolom . S i="" D S $P(R3(9),"~",R)=i ; formaat .. I $L($P(TXT(RT),D,27)) S i=$P(TXT(RT),D,27) Q ; expleciet gedefinieerd .. ; zijn er decimalen gedefinieerd ? .. I $L($P(TXT(RT),D,6)) S i="0"_$S($P(TXT(RT),D,6):"."_$TR($J(0,$P(TXT(RT),D,6))," ",0),1:"") . S R=R+1 F i=1:1:10 I $L($G(R3(i))) D . I i=2 Q:'$L($TR(R3(i),0)) S R3(i)=$TR(R3(i)," ",0) ; indien formaat allemaal 0 bevat niets meegeven . I i=9,'$L($TR(R3(i),"~")) Q . S R3="<"_$P($T(T1),U,1+i)_">" . S R3=R3_$S($L($TR(R3(i),0)):R3(i),1:"") ; indien enkel maar 0 doorgegeven wordt, niets meegeven . S R3=R3_"" . D SET(R3) S NOTOT=1,NOAFS=1 ; geen totalen of afsluiting HDE D TOP ; K HD ; nodig om geen 2de maal header en top te printen HDZ K R,R1,R2,R3,R4,RL,RT S OK=2 Q ; INIT ; Initialisatie print to Excell S $ZT="TRAP^cAN000" D CSV S ALTTOP="D TOP^"_$T(+0) ; opzetten alternatief voor TOP (zie ook cA334F) S ALTHD="D HD^"_$T(+0) ; alternatief voor HD (zie ook cA334F) N A S A=$G(^DPAR(0,"PAR","RBA",1)) D PAR^cANR11(5,$P(A,D,4)) ; paswoord D PAR^cANR11(6,$P(A,D,5)) ; volledige beveiliging D PAR^cANR11(7,$E($P(A,D,6)_1)) ; Fit To Page Horizontaal D PAR^cANR11(4,$P(A,D,7)) ; template INITZ Q ; OPEN ; open Excel D EXCEL($G(PTS("PR2FON")),$G(PTS("FORMAT")),$G(PTS("TITLE")),$G(PTS("HEAD")),$G(PTS("TEMPL")),$G(PTS("PWD"))) OPENZ Q ; SET(R3) ; doorgeven naar cA700 N RT,RL S $ZT="TRAP^cAN000" S RT=1,RT(RT)=$G(R3),RL(RT)=$L(RT(RT)) D ^cA700 SETZ Q ; TOP ; alternatief voor TOP^cA334F TOPA N R1,RT,R3 S $ZT="TRAP^cAN000" S (R,R3)="" F S R=$O(TOP(R)) Q:R="" S LN=LN+1 D . S R3=R3_''$G(TOP(R)) . S RT=1,R0="",R1="" K RT(RT) F S R0=$O(TOP(R,R0)) Q:R0="" D .. S RT(RT)=$G(RT(RT))_$J("",$P(TOP(R,R0),SUBDEL,2)-$L($G(RT(RT))))_$P(TOP(R,R0),SUBDEL) .. S R1=$P(TOP(R,R0),SUBDEL) . I $L($G(RT(RT))) D SET(""_RT(RT)_"") D SET(""_$TR(R3,0)_"") D SET("") S OK=2 TOPZ K R,R0 Q ; ZZ ; 23.06.05 - 17 u 03 * V8.04