Dec 292017
 
Word for Windows Macro to create Orgcharts using the wordprocessor.
File ORGWIN.ZIP from The Programmer’s Corner in
Category DeskTop Publishing
Word for Windows Macro to create Orgcharts using the wordprocessor.
File Name File Size Zip Size Zip Type
ORGCHART.DOC 22402 8340 deflated

Download File ORGWIN.ZIP Here

Contents of the ORGCHART.DOC file


-!@"-;WE:@V@VV@V@V@V@V@d@v@v@v@[email protected]@v@"@@@@@@@
@@nA;AaAAAAA4A-AV@AA
}{ Lvl is a level -- that is a heading level. Bx is a box -- that is one of the wide cells into which text will be inserted.NL Grp is a group of boxes appearing under a single box in the previous level WidLvl, &$ RowType = 0 even, 1 odd, 2 Double, BxPastLvl, CurGrp, ' BxRmnCurGrp8 PrmLvl, F EndLvl,
T MaxBx, a CurLvl,
o BxCurGrp, GrpCurLvl, BxCurLvl*( CurBx (box # where text will appear),
CurCell, BxText$(), BxInGrp(), CtBx,
BxSubGrp()/0MaxBxGrpCurLvlBxCurLvlBxInGrpBxText$CurLvlchart$midgl$odd$even$outline$BxSubGrpGrpSubLvlBxSubLvlPrmLvlEndLvlTailsSupTailsMAIN Checks for macro window"/'Command not available in a macro window
G*byeRZKnpoutlinefile$voutline$zP.fDirtyo$z!/o$\4#o$mo$o$/o$\P"W.fCancel0i13Save changes to o$?#
3/o$.G /savedlg4H>savedlg?savedlg2.fCancel J SHsavedlgkv.fDirty3.fCancel31fCancel*byeCA Gets current selection, inserts bookmark, sets PrmLvl to current/`,

Paper Size`Rsize#ti
([&Letter"iu(PLe&gali(5A&4i(5&B5e`u-f`-u)Mh
T%L
Outline RangeyR$i h[&All!iK&From!g3K&FromQkE g&To?QE'_h@TLOrientationRK%iMhu&Portrait&iM
La&ndscape
?
8
6 Turns Range on if there is an outline level selectionK
/dlg4
b
dlg*q
PrmLvldlgkPrmLvl
again
?dlg*bye

Error Checking for dialog
6Searching for beginningdlg! dlgdlgHdlg1Zdlg9j*nocheckz dlgdlg1 dlgdlg9,-*oneOdlgdlgdlg +(dlgPone ,-*?h6Invalid outline range. Number must be between 1 and 9@dlgdlg/%f%f
/%t


*again-
56
dlgdlgf
.start$dlg}
.dlgdlg
.dlgstart$

,-*
Sets range of outline values%
.PrmLvldlg.EndLvlHiLvl'#dlgEndLvl&G.EndLvldlghq
wnocheck.PrmLvl.EndLvlHiLvlHiLvlD
*bye42 Finds the first occurrence/first inside selectionVPrmLvl
L:xShowHeadingnkEndLvl\\startofsel%headingkPrmLvl!ZvF8\selstarthere8\selstarthere8\selstarthere
G>*Prime heading at levelkPrmLvl
not found.k*byew =F Sets the primesstarthere Removes autonumbering fields
hZautonumHlookagainTm\\startofsel9rj
\starthere %3A*lookagainS\d
f Confirms\startherer).start$lr... 2.start$lrr'/.fCancel@13"About to create chart using levelskPrmLvl tokEndLvl, using j"start$j" as the prime. Continue?3iaTo change the prime, exit dialog, select the desired paragraph for the prime, and run macro againd*againq3y.fCancel31fCancel*bye?= searches for next occurrence of same heading level, sets end6Searching for ending"-headingkPrmLvl^Z=E!LEndLvlE"F H\\para9Asendherect\startheresrange Sets maximums, glossariesdlgsize.odd$B5odd-.even$B5even-.midgl$B5mid-6 <.odd$odd-P.even$even-f.midgl$mid-|dlgK.odd$odd$l.even$ even$l.midgl$midgl$l.MaxBxdlgsize.odd$legalodd1.even$legalevenL.midgl$legalmidg.MaxBxy .odd$odd$p.even$ even$p.midgl$midgl$p.MaxBx Checking for widest level
outline$$6Checking outline dataC.fCancel*T#CurLvlEndLvl$PrmLvl%CheckCurLvl|Too many entries at levelkCurLvl
. Maximum iskMaxBx$. Check paper size and orientation..fCancel/.CurLvlPrmLvlJSBxCurLvlBxPastLvlr.WidLvlCurLvl.BxPastLvlBxCurLvl&fCancel*bye!CheckWidLvl`Too many groups at levelkWidLvl
. Maximum iskMaxBx
I*byeT\7^ShowHeadingnkEndLvl\starthere/.start$lrr Set paper size, template*Routlinefile$ Q6Beginning chart constructionwchart$ zi>13dlgsize3wdh3%wd hT;3CwR hHX3`w hu1dlgK"FhGw "FwGh,5.7K$L$KdlgKG^odd$^midgl$;#E #CtBx$?
MaxBx4 !? &E 4start$"T t!$% " \\cell < t% .SupTails"#!#CurLvlPrmLvl$EndLvl8!)ExtractG!)BuildT!&!Z!Organization chart completed!bye!outline$
outline$,!startheresstarthere !("endheresendhere P"&Y"rangesrange"fDirty"""HiLvl"stemp""#i$%#G/(#headingkiZ n###HiLvli#i##&#\temp#stemp$ $"$Extract/$ Begin extractionBE$6-Extracting information from outline for levelkCurLvl
$outline$;$ ShowHeadingnkCurLvl$\endhere%=%F%BxCurLvl-%BxCurGrp;%GrpCurLvlJ%!8\selstartheres%LCurLvlB%.BxText$BxCurLvllrr!%.BxCurLvlBxCurLvl!%.BxCurGrpBxCurGrp&LCurLvl*C&.BxInGrpGrpCurLvlBxCurGrph&.BxCurGrp#|&.GrpCurLvlGrpCurLvl&&E&F&"&&CurLvlEndLvl*bye:&ShowheadingnkCurLvl ,'2'\starthere&W'#countBxCurLvl$%4'headingkcurlvlZ ''F'LCurLvl (BxSubGrpcount-( 4(BxSubGrpcountK(T(E](j(&p(byev(((Checkn(BxCurLvl6( ShowHeadingnkn(\endhere)=)!8\selrange
9)Ln!V).BxCurLvlBxCurLvlu)~)E)")) If too many entries)BxCurLvlMaxBx)Check%)BxCurLvlMaxBx)Check****Build&*!(* insert glossaries, position IPL*chart$4]*6Constructing levelkCurLvl of chart*H*^midgl$*^midgl$*"* For two lines at one level case%+BxCurLvlMaxBx)+.RowType;+^odd$W+^midgl$u+^even$+^midgl$+;+#5+.CurBxMaxBx BxCurLvl+IsOddCurBx

,;,#$,!0,!7<,#CurCell$
CurBxk,!x,&, 7,#CurCell$
CurBx,!,&,,", For single line at a level case, -IsOddBxCurLvl-^odd$8-^midgl$
W-;c-.RowType9v-.CurBxMaxBxBxCurLvl- -^even$-^midgl$
-;-.RowType9..CurBxMaxBxBxCurLvl7.@.#M.RowTypec.!o.!{.!.#CurCell$
CurBx.!.&.!. Fill box with text, border box.GrpCurLvl..GrpCurLvl!
/.BxInGrpBxCurLvl)/1/.CurGrpGrpCurLvl&M/.BxRmnCurGrpBxInGrpCurGrp%p/#CtBxBxCurLvl$%/BxRmnCurGrp/4BxText$CtBx&/t!$% 0"!0 Create tail!20BxSubGrpCtBx
Q0\\cellu0<0t%+0RowTypeIsOddCurBx0<0!0t%1<1t%=1$H1.TailsCtBx"+j1RowTypeIsOddCurBx1;1;11;11 Create downstem1\\cell2;
2t%0.2RowTypeIsOddCurBx[2;f2!u2t%2;2t%22 create upstemA2BxRmnCurGrpBxInGrpCurGrp3;B$3RowTypeIsOddBxInGrpCurGrp"e3t%#3! connect upstem to down of parent3CurTail"*3CurTailSupTailsCurGrp83#tailctCurTail$SupTailsCurGrp
4!/4t!Q4&8[4#tailctCurTail$SupTailsCurGrp
4"4&*4CurTailSupTailsCurGrp?4#tailctCurTail$SupTailsCurGrp%5t!
.5"=5&?G5#tailctCurTail$SupTailsCurGrp%
5!5&5B5RowTypeIsOddBxInGrpCurGrp!5<5/5- position IP for next, create cross connector06BxRmnCurGrpK6!Z6RowType

s6!66CurGrp*quit"6.CurGrp CurGrp+6.BxRmnCurGrpBxInGrpCurGrp6 6!7t!)7RowType

B7!R7t!s7(~7.BxRmnCurGrpBxRmnCurGrp77<*7RowTypeIsOddCurBx7!7<8
8.CurBxCurBx#8 *8CurGrp*quitJ8.CurGrpCurGrp*e8.BxRmnCurGrpBxInGrpCurGrp8.CtBxCtBx88&8quit18/ transfer current level variables to past level8#CtBx$8.BxSubGrpCtBx,9.SupTailsCtBxTailsCtBx;9.TailsCtBxQ9&W9`9b9IsOddnu9n9IsOdd9 9IsOdd99999
MAIN;
lOrgChartInstructionsNO ;VlOrgChartInstructions0 *Bye{Type an outline representing the structure of the Org Chart into the current document. You may have only one entry in the j"heading 1j"5 style or at the 1st outline level in your Org Chart.Org Chart Instructions^

99;;;@9;;;!

FI:
I:"TimesSymbol"HelveticatempOrgChart
Org C&hart...%Zc-[D8C:I:z**OrgChartKGenerates an organizational chart using the outline of the current documentAutoOpen
"hTE%-MicrosoftLaurel B. Lammers-!@-EHWV$V$$V$V$V$V$V2V2V2VvVDVVV.2V*W"LWLWLWLWLWLWLWLWLWNWNWNWNWNWNWNW4WNW$VNWNW$%































































































































































































































































































































EHEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEO$&h4 `Lx#"O0<
h4 `Lx#$$)D**/;EEEEEFFFFF
FFFFFFFFFFF F"F$F&F(F*F,F.F0F2F4F6F8F:FF@FBFDFFFHFJFLFNFPFRFTFVFXFZF\F^F`FbFdFfFhFjFlFnFO&&R
~
J6vb !x##O2&R
~
J6vb !!&.'',Z-/O&
`hp!$""x("O0PX

`hp!$""x(,))/4006EFFFFGGGGG
GGGGGGGGGGG G"G$G&G(G*G,G.G0G2G4G6G8G:GG@GBGDGFGHGJGLGNGPGRGTGVGXGZG\G^G`GbG O,
$"%,),403<7:D>AD(O
`hp!$""x(,))/;006Q78=g>"?D5bGdGfGhGjGlGnGpGrGtGvGxGzG|G~GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGO
$"%x(O$
$"%,),4036)O>4<
DLT$%\&+,d-33l4::t;AAD9GGGGGGGGGGGGGGGGGGGGGGHO&4<
DLT$%x(#O24<
DLT$%\&+,d-336F

vB5even-lB5even-pB5mid-lB5mid-pB5odd-lB5odd-peven-leven-plegalevenlegalmidlegaloddmid-lmid-podd-lodd-p0Tx@|
&X~EH$EEnFFbGGH%&'()*"TimesSymbol"Helvetica"h


 December 29, 2017  Add comments

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)