ࡱ> yV& Run0time@ @aVBIDE>VxIDE@:`"* \E1\57` *-P5.?*h#xVBA\`6E6EXT.OLB(Visux.ic forxs Extensibility @MSForms>MSF(rm3"D452EE1-E08F-101A-8-02608C4D0BB@FM20.DLLb  B/;`1`*B**}#0b<#`@0m`! DD9C36`3703-4-870D-A725CCF6270FPAGE(DIR0\'.e xd.E .`M _AXDB15 _ A DL15L`b@Mu`k6D4@E5-7L042aB600w87E235 }#_wABS32\.THcrDBX  TypeírIWshbÈ>$IW"hRu`:t mpGC rnrf EVo@,i01 n``bbCompObj>nRoot EntryOBVBA_Project pr~?OVBA#pr~?\ҞGPROJECTwm 5  ?9 !"#W%&'()*+,-./01234867@:;<=>bCDEFGHIJKLMNOPQRSTUVWXZ[\]^_`acdnfghijklmopqrstuwxz{|}~PROJECTThisDrawing>JDocumentVBA5;ObjectDBXAECDocument15.C S !"#$%&'()*+,-./01235V78:;<=?ABCDFGHIJLNOPRUdZXY`[]_abc6eID="{49A70A24-34D4-4492-BEC4-933E053FCFFF}" Document=ThisDrawing/&H00000000 Module=DocumentVBA Class=ObjectDBXAECDocument15 Class=clsDIALOGS Package={AC9F2F90-E877-11CE-9F68-00AA00574A4F} BaseClass=RLB_MainForm Module=RLB_Utility Name="GetWalls33" HelpContextID="0" VersionCompatible32="393222000" CMG="9694795A8BEA60EE60EE60EE60EE" DPB="6F6D808580875888588858" GC="484AA738A838A8C7" [Host Extender Info] &H00000001={3832D640-CF90-11CF-8E43-00A0C911005A};VBE;&H00000000 [Workspace] ThisDrawing=88, 88, 895, 391, DocumentVBA=0, 0, 807, 303, ObjectDBXAE n``Microsoft Forms 2.0 FrameEmbedded ObjectForms.Frame.19q AH,o,5Tahoma ( Get Wall Info: `uTahoma`CDocument15=44, 44, 851, 362, clsDIALOGS=44, 44, 851, 362, RLB_MainForm=88, 88, 895, 406, Z, 66, 66, 873, 384, RLB_Utility=0, 0, 807, 318, =0, 0, 807, 318, DBXWrapMainForm=66, 66, clsDIALOGSVBA_Project_Version(RLB_MainForm  4E@=jDBXWrapMainForm i*WJOb M=bThisDrawingThisDrawingDocumentVBADocumentVBAObjectDBXAECDocument15ObjectDBXAECDocument15clsDIALOGSclsDIALOGSRLB_MainFormRLB_MainFormRLB_UtilityRLB_UtilityRLB0* pHd GetWalls334@j = r 'A J< rstdole>stdole f%\*\G{00020430-C 0046}#2.0#0#C:\WINNT\System32\Sc2.tlb#OLE AutomatioFn^AecXUIArchBasH DcXUIArchBasPP842B17BD-8A01-11D2-9C4U80C7D6CCA4}#3PacadProgram Files\Co0mmonNdesk Share$d\K30cAEC Uitect ural - A pplicl LibraryO$o Ao56@B_CF5`1-59F36B3EH_006E$Z6Obj: 5{Gl,4lj@jA3jjo"3Ug.$@A2 >Af0@d8B589BB-4F00dA7F1d60B0572AC8d3ĬS/3 0 `Scripting> erip zing5yrh`420B28yE718CF-893DA0C905(4221yscrrun.dll#Microsoft y5 vl0AF9 35DC2@GCFG0-ADB9PC D5oB xwshom.ocx#Windowst; Host$Moder' PThisDrawFGpyi D0zaw` u1G2~DH1"A,h+C"+RDocument >D@8cnPy!GAB2H! 15G,ObjUretPB`*ApPCeo[u +nt152.Xp E : (Z Q~clsDIALOGSGQ~c@sp aLOGmO]2The dialogs class wraps tpcR O'sr0lyrough`,32 API soatbcontrols not needed.H@DT+e i7l#g, lsw__SRP_1%X__SRP_3&__SRP_2__SRP_6"*l&!/, `%#,A `)=, `@=, `-=, `DcboGetFilesfkj,@CommandButton1 >$4lstFiles>`0 `   @ 0y10`I D/99/ aW W   W        <@8   < vMwiM4 N1NVWHWWL[x4x$  xL- 4x/ (x H l 5lr$ lX .c=[h4h/  (lhDl CtKC4c$/ltX4 pz/$l pp llpvl pp d hh $\ `` ,''>\F<>dFLll  D)ph`6L</ (t4 d\ph`L<T-t<Qtx/ (xt`-!`X4 tQ`[\hX`h l`=p`lplT llDpW4 ''4ll``MD @t$ l`=l`64 lTN hX%t$ $ l tV x c= x/ H0 x\XTdlpth`4T-t@Qtx/ K*mrU~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  @j`f[GS   xa Na R8QQqQQQQ!RYRa _ )i])Ay]]]^9^i^^^Y~q~va -_y9Yiy q!Q"Q""""" # #1#1#Y#Y####### $ $9$9$i$$$$%)%I%q%%%%%%&1&1&i&i&&&&''Q'y''&' (1(a(((( )9)i)))))*a****!+I+q+q++++ ,9,a,,,,)HI yYi 1  A M)[ ThisDrawing DocumentVBAObjectDBXDocument15 clsDIALOGS RLB_MainFormDBXWrapMainForm RLB_Utility GetWalls33F /C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA6\VBE6.DLLVBA  iW &C:\Program Files\ABS3\ACAD.TLBAutoCAD A0FMSFormsC:\WINNT\System32\Stdole2.tlbstdole  Q+@̤BC:\Program Files\Common Files\Autodesk Shared\AecXUIArchBase30.tlbAecXUIArchBase y! Y>@C:\Program Files\Common Files\Autodesk Shared\AecXArchBase30.tlb AecXArchBase !+@̤>C:\Program Files\Common Files\Autodesk Shared\AecXUIBase30.tlb AecXUIBase 1YO`W*<C:\Program Files\Common Files\Autodesk Shared\AecXBase30.tlbAecXBase a 0( B=B(C:\WINNT\System32\scrrun.dll Scripting  WFCC:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLBVBIDE q  ) .E .`M C:\WINNT\System32\FM20.DLL   67@ %'C:\PAGEDIR\VBE\MSForms.exd a  0 SetWindowText user32 SetWindowTextA Q q @ EnumWindows EnumWindows Q 1` GetWindowText GetWindowTextA Q GetWindowTextLength GetWindowTextLengthA Q MainEnumWindowsProc FileFinder FileCountGetFile ResetFiles ParseFileName MAIN_DOWN +=h8+3q(k}Nk=Z*=h8+3q1_OM8ؿZ!=h8+3qClassPgv3+3o VBInternal   ,,LL, $,0<H $$,  << <<,$,   TT,L   ,  DD,48GetOpenFileName comdlg32.dll GetOpenFileNameA 1CommDlgExtendedError CommDlgExtendedError GetDesktopWindow GetDesktopWindow Q 8GetSaveFileName GetSaveFileNameA X CHOOSECOLOR ChooseColorA x ChooseFont ChooseFontA a PAGESETUPDLG PageSetupDlgA !SHGetPathFromIDList shell32.dll SHGetPathFromIDListA SHBrowseForFolder SHBrowseForFolderA  CoTaskMemFree ole32.dll CoTaskMemFree  PrintDlg PrintDlgA 8GetPrivateProfileInt KERNEL32 GetPrivateProfileIntA XGetPrivateProfileString GetPrivateProfileStringAlstFiles xWritePrivateProfileString WritePrivateProfileStringA  GetWindowsDirectory GetWindowsDirectoryA !blnShowErrorMessagesblnUsePersistencelngPaperHeight lngPaperWidthintBottomMargin intTopMarginintRightMargin intLeftMarginintMinMarginBottomintMinMarginTopintMinMarginRightintMinMarginLeft blnPageSetup lngFontType strFontStyle lngFontColorstrFontFaceName lngFontSize blnChooseFontlngNumFilesSelectedlngColorblnCreatePromptstrGetSaveFileNamelngHWndlngMaxFileNameBufferstrTitlelngLastSaveFilterlngLastOpenFilter strDefaultExtblnAllowMultipleFileSelectstrLastSaveFilestrLastOpenFile strFilterstrGetOpenFileNamelngChooseColorstrLastSaveFolderstrLastOpenFolderstrDialogErrorlngDialogError sSetLastErrorClass_InitializefstrTrimNullStringfstrExtractFilePathfstrReplaceCharClass_TerminateflngNumberOfFilesSelectedfstrMultipleFilePathfstrMultipleFileListfstrExtractFileNamefstrBrowseForFolder blnIsFontBoldblnIsFontItalicblnPrintDialog strInitialDir fstrWinPathfstrReadStringflngWriteStringflngWriteIntegerflngReadInteger fboolReadBoolfboolWriteBoolfstrReturnSingleFileNameParseFileNames% 8(dirtory) m Tng t time tiptx|gBڬgeQN<4}r3ټ5Gf#GJnN' VXÿCi'QL1?F`frmMain!-6S` Q/"ҋB `2ҋB ` cboGetFilesȏ[qJ eUserFormi1 iI aJ F3Dynamic 0 0cboGetFiles_Change frmMain_ClicklstFiles_ClickUserForm_ClickUserForm_InitializeUserForm_QueryClose L(3ҋB ` Select by Folder Select by File ƏYl|#ҋB `gĤIx8< &Nothing Selected... ,CP13-3 Outsam   *\G{000204EF-0000-0000-C000-000000000046}#4.0#9#C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA6\VBE6.DLL#Visual Basic For Applications*\G{C094C1E2-57C6-11D2-85E3-080009A0C626}#1.1#0#C:\Program Files\ABS3\ACAD.TLB#AutoCAD 2000 Type Library*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\WINNT\System32\Stdole2.tlb#OLE Automation8*\G{842B17BD-8A01-11D2-9C40-0080C7D6CCA4}#3.0#0#C:\Program Files\Common Files\Autodesk Shared\AecXUIArchBase30.tlb#AEC Architectural 3.0 Application Library**\G{0CF50021-59F3-11D2-9B3E-000000000000}#3.0#0#C:\Program Files\Common Files\Autodesk Shared\AecXArchBase30.tlb#AEC Architectural 3.0 Object Library *\G{842B17A3-8A01-11D2-9C40-0080C7D6CCA4}#3.0#0#C:\Program Files\Common Files\Autodesk Shared\AecXUIBase30.tlb#AEC Base 3.0 Application Library.*\G{08B589BB-4F00-11D2-A7F1-0060B0572AC8}#3.3#0#C:\Program Files\Common Files\Autodesk Shared\AecXBase30.tlb#AEC Base 3.3 Object Library*\G{420B2830-E718-11CF-893D-00A0C9054228}#1.0#0#C:\WINNT\System32\scrrun.dll#Microsoft Scripting RuntimeZ*\G{0002E157-0000-0000-C000-000000000046}#5.3#0#C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB#Microsoft Visual Basic for Applications Extensibility 5.3*\G{0D452EE1-E08F-101A-852E-02608C4D0BB4}#2.0#0#C:\WINNT\System32\FM20.DLL#Microsoft Forms 2.0 Object Library*\G{DD9C36BD-3703-4004-870D-A725CCF6270F}#2.0#0#C:\PAGEDIR\VBE\MSForms.exd#Microsoft Forms 2.0 Object Library.E .`M *\G{6D4C7DE5-704F-11D2-B6D2-0060B087E235}#1.0#0#C:\Program Files\ABS3\AXDB15.TLB#ObjectDBX 1.0 Type Library*\G{F935DC20-1CF0-11D0-ADB9-00C04FD58A0B}#1.0#0#C:\WINNT\System32\wshom.ocx#Windows Script Host Object Model 'A'ThisDrawing2J411cebc9ThisDrawing+CDocumentVBA2G411ceb6eNDocumentVBAH2,ObjectDBXAECDocument159[411ceeeb,ObjectDBXAECDocument158:clsDIALOGS2L411cebc9EclsDIALOGSThe dialogs class wraps the common dialog DLL's directly through the Win32 API so that the common dialog controls are not needed.8PKaRLB_MainForm144133563e{RLB_MainFormThcRLB_Utility114133563eRLB_UtilityuPh 7D>kPEVE4՞;HUz0E`i? D9IDwE8 G?һbժϲ5PfڪNL]Xe-Wq, asByVal.debug=DimBDoubleCEachDElseEElseIfHendifTForYFunction_IfbinkismLeftxLong{MeNothingOptionalprintSetStopthenTypeofWithAutoCAD"VBAWin16~Win32MacVBA6# ACADProjectstdole`AecXUIArchBase] AecXArchBase AecXUIBase|AecXBaset ScriptingVBIDEA ThisDrawing5  _EvaluateIterateAllWallsLmyWallAecWallJmyEntu AecEntity6myLength% ModelSpace_Distance' StartPointEndPointyMsgBoxRHandlevbCrLf StyleName BaseHeightkUtility1J RealToStringacArchitecturalWx1_y1O_x2_y2P_Sqr( DocumentVBAx Add_refNoteoVBE'VBEoVBP' VBProjectOhoVBPsO VBProjects'oVBC' VBComponentoVBCsM VBComponents 'oVBR' ReferenceeoVBRsO ReferencesoVBREOReferencesEventsstrDocstrDescintPPPr Application*ChrK~vbTabc9ReturnCodePaneCaption Description InStrRevĈ vbTextCompare QSpace vbext_rk_TypeLibDEGUIDFullPath+ReturnProjFullPath strProjName%oVBAPcM sFullPathTActiveVBProject[` MainWindow6CaptionxtestpaincaptiontestShowDriveLetteryShowDriveLetterFileNamejdrvPath}\ Err_HandlerlmyUNCYFileSystemObjectNUGetDrive?+ GetDriveNameN( MyNetworkFHIWshRuntimeLibrary WshNetwork  colDrives  WshCollection DriveCounter{EnumNetworkDrivesCount0vErroClear vbNullStringoVBCPMCodePaneFoVBCPs^ CodePanesoVBPWinewindow6intPosroVBAPsT CodeModule ProjFullPathP- AcadDocumentZ GetWalls33Class1+ObjectDBXDocument15yAxDbDoc AXDB15Lib AxDbDocument~ BlockNameListg DictionaryClass_InitializenDocumentjClass_TerminatePCleanupOpenDocsNamed ErrCatcherNumber-RaiseSourceGXrefsh CollectionWGetXrefsyXRefListjacBlockoEnt& AcadEntityio_Layoutq AcadLayoutXRBlockAcadExternalReferenceLayoutsBlockqAddr BlockRefs7mGetBlockReferencesHg BlockRefListL LayoutBlk# AcadBlockacadEnt( ObjectName BlockNamesGetBlockNameCollection>soBlck colBNameListsBNameO varBNames"i`iCntB!BlocksӍReturnBlockNameҊExists]Keysq oAcadBlock clsDIALOGS1GetOpenFileName]? pOpenfilenamec OPENFILENAME35 comdlg32.dll?CommDlgExtendedErrorsGetDesktopWindowuser32*GetSaveFileNameW CHOOSECOLORP pChoosecolorV ChooseFontݻ pChoosefont PAGESETUPDLGɥ pPagesetupdlgSHGetPathFromIDListKpidlpszPath shell32.dll+SHBrowseForFolder" lpBrowseInfor BROWSEINFOY CoTaskMemFreeMpv^ ole32.dllPrintDlgp pPrintdlgbGetPrivateProfileInt~lpApplicationNamea lpKeyNameJnDefaultD lpFileName2KERNEL32_GetPrivateProfileStringgh lpDefault%lpReturnedString7nSize}WritePrivateProfileStringxlpVBFrame9*f^ZoCompObj\ai04 n`` ܺG@=jVBFrame4'RLB_MainFormvz__SRP_d!,[_VBA_PROJECT$QdirfTo StringzGetWindowsDirectoryklpBuffer>OFN_ALLOWMULTISELECTOFN_CREATEPROMPT^9OFN_ENABLEHOOKOFN_ENABLETEMPLATEOOFN_ENABLETEMPLATEHANDLE. OFN_EXPLORERLOFN_EXTENSIONDIFFERENTOFN_FILEMUSTEXISTٽOFN_HIDEREADONLY OFN_LONGNAMES=UOFN_NOCHANGEDIR͙OFN_NODEREFERENCELINKSvOFN_NOLONGNAMESOFN_NONETWORKBUTTONOFN_NOREADONLYRETURNOFN_NOTESTFILECREATEDsOFN_NOVALIDATEOFN_OVERWRITEPROMPT OFN_READONLY!OFN_PATHMUSTEXIST(xt|-!dX4 tQd[`l\dl ld= pdlphXTh lT0/TKHTh  ''>TF4lhddMD @t$ ld=hd64K hXN l\%t$ $ l tV x c= x/ D,x`\Xhptl Td4T-tDQtx/ (xtT-[P8P!PX4 $QP[LtH DtH>D1lll~ll~2lM4@X8 0k2)Dt \ TM4@>DF X8 (5 lTqT tH 8 X8 < \\5ILX\5Id?6'''X@\ p$ -6 Xf pV x/ T@(xLHp\lt(DP t- thB lt 3dpH>d1l th ll0bdH \ >d1lllCx/ t8 xhtlpd<<   ArU zzD{z4/Y 81rI wrU , pay,Q$p0Dp ay( hpa$ `, `a, `   ( `  $! `n@DLk#$ 0/$p MX@H HUpv5Ho kv ptktprktkrkpp!pMX@H HUpn5H kn Ch knk krpr Ch'nMX@H HB9 5H.nMX@H H(8(Upn6H()knD8]nMX@H H35Hfknpnkp/ kn#$*# *#k#*1h2$ Pkv#$*# kr#*#lh*F("H H`1x2$ 6(Ht,xh($ H(0   0 `  WB9 kl5/tX(l <H$A`$cboGetFilesokj$4lstFiles>,__SRP_7a __SRP_c/C__SRP_8(. >J__SRP_9 OFN_SHAREAWAREOFN_SHAREFALLTHROUGH(OFN_SHARENOWARN4 OFN_SHAREWARNd OFN_SHOWHELPOFS_MAXPATHNAMESe LF_FACESIZEFW_BOLD FW_DONTCAREU FW_EXTRABOLD# FW_EXTRALIGHTFW_HEAVYLFW_BLACKEFW_LIGHT FW_MEDIUMy FW_NORMAL2% FW_REGULAR FW_SEMIBOLD$ FW_DEMIBOLD9FW_THIN FW_ULTRABOLD FW_ULTRALIGHT ?DEFAULT_CHARSET DEFAULT_GUI_FONT FF_DECORATIVE! FF_DONTCAREv FF_MODERNL+FF_ROMANC FF_SCRIPT.FF_Sx/ D,x`\Xhptl Td4T-tDQtx/ (xtT-[P8P!PX4 $QP[LtH DtH>D1lll~ll~2lrU yMyiM4 N1Na goRprac]orO6'QrT;$$ 0 `  fx`<`I@99aWISS[OUT_DEFAULT_PRECISeQDEFAULT_QUALITY* DEFAULT_PITCHqG CF_ANSIONLYųCF_APPLY+= CF_BITMAP CF_PRINTERFONTS CF_SCREENFONTS}CF_SCALABLEONLY CF_TTONLY CF_USESTYLEO CF_WYSIWYG09CF_BOTHZCF_DIBҘCF_DIF֘ CF_EFFECTSCF_ENABLETEMPLATE CF_ENABLEHOOKlCF_ENABLETEMPLATEHANDLECF_FIXEDPITCHONLY~CF_FORCEFONTEXIST.CF_INITTOLOGFONTSTRUCT-. CF_NOSIZESEL$ CF_NOSTYLESELyCF_NOSCRIPTSELCF_NOSIMULATIONS CF_NOFACESEL-REGULAR_FONTTYPEPCF_NOVECTORFONTS CF_NOOEMFONTSPRINTER_FONTTYPE, BOLD_FONTTYPE-ITALIC_FONTTYPESCREEN_FONTTYPEܝSIMULATED_FONTTYPEP CC_FULLOPENVCC_PREVENTFULLOPEN/_ CC_RGBINITΐ CC_SOLIDCOLORw CC_ANYCOLOR~CDERR_DIALOGFAILUREMCDERR_FINDRESFAILUREHCDERR_GENERALCODESCDERR_INITIALIZATIONjCDERR_LOADRESFAILUREzCDERR_LOADSTRFAILURE4]CDERR_LOCKRESFAILURE\CDERR_MEMALLOCFAILUREDCDERR_MEMLOCKFAILURE*CDERR_NOHINSTANCE{ CDERR_NOHOOK<CDERR_NOTEMPLATECDERR_REGISTERMSGFAILCDERR_STRUCTSIZE,FNERR_BUFFERTOOSMALLcFNERR_FILENAMECODESCFNERR_INVALIDFILENAMEpFNERR_SUBCLASSFAILUREBIF_RETURNONLYFSDIRS-BIF_DONTGOBELOWDOMAINbBIF_STATUSTEXTiBIF_RETURNFSANCESTORSVBIF_BROWSEFORCOMPUTERvBIF_BROWSEFORPRINTERCMAX_PATH( lStructSize/r hwndOwner hInstance  lpstrFilterlpstrCustomFilternMaxCustFilter` nFilterIndexc lpstrFileVnMaxFilelpstrFileTitlep4 nMaxFileTitleymlpstrInitialDirr lpstrTitleoflagso nFileOffsetInFileExtension9 lpstrDefExt_ lCustData'5lpfnHooklpTemplateNamet rgbResult lpCustColorsLOGFONTw lfHeightlfWidth3 lfEscapement lfOrientationj~lfWeight&lfItalicKy lfUnderline7 lfStrikeOut lfCharSet*:lfOutPrecisionllfClipPrecision lfQualitylfPitchAndFamilyH lfFaceNamehdce lpLogFont  iPointSizes rgbColors lpszStyle& nFontTypeuMISSING_ALIGNMENT4nSizeMin'nSizeMax&POINTAPIxoylRECTiTop5Right BottomH{hDevMode hDevNames ptPaperSizez rtMinMargin)]rtMarginglpfnPageSetupHook!lpfnPagePaintHook;>lpPageSetupTemplateNamehPageSetupTemplatelhOwnerEmpidlRootdpszDisplayNamehr lpszTitleSulFlagslpfnlParam7iImageU nFromPageFnToPagenMinPage!nMaxPage nCopies lpfnPrintHook& lpfnSetupHook0lpPrintTemplateNamelpSetupTemplateNamehPrintTemplateVhSetupTemplate Z staFileNameը marrlngRGBumvarlngDialogErrorzmvarstrDialogError mvarstrInitialDirbEmvarstrLastOpenFolder_rmvarstrLastSaveFolderK% mvarlngHWnd mvarstrFiltermvarstrLastOpenFilemvarstrLastSaveFileCmvarblnAllowMultipleFileSelectmvarstrDefaultExtnmvarlngLastOpenFilter.[mvarlngLastSaveFilter mvarstrTitle}mvarlngMaxFileNameBuffer2gmvarblnCreatePrompt%T mvarlngColormvarlngNumFilesSelectedmvarlngFontSize>mvarstrFontFaceNamemvarlngFontColormvarstrFontStyle-mvarblnIsFontBold+mvarblnIsFontItalicmvarlngFontTypeBmvarintMinMarginLeftamvarintMinMarginRight2mvarintMinMarginTopmvarintMinMarginBottomܤmvarintLeftMargin>mvarintRightMarginmvarintTopMargin*mvarintBottomMarginomvarlngPaperWidth;mvarlngPaperHeightmvarstrIniFileNameDmvarblnUsePersistencemvarblnShowErrorMessagesblnShowErrorMessagesvDatabblnUsePersistencelngPaperHeighta lngPaperWidth-intBottomMarginve intTopMarginintRightMargin> intLeftMarginintMinMarginBottomrintMinMarginTopintMinMarginRight6iintMinMarginLeft blnPageSetupU&psdPAGE  lngResultQPSD_INTHOUSANDTHSOFINCHES% PSD_MARGINSPSD_MINMARGINS$ sSetLastError lngFontType strFontStyleN lngFontColorstrFontFaceName&w lngFontSize blnChooseFontHcfFONTlfFONTRstrFace ,CHOOSE_FONT_ERROR0VarPtrbfstrTrimNullString!StrConvx' vbUnicode strPrompt- intResponsestrvbAbortRetryIgnoreT$ vbCritical+}CHOOSE_FONT_ERROR_ENDp)vbAbort)vbRetrygvbIgnore#lngNumFilesSelectedlngColorKZblnCreatePrompt,3strGetSaveFileNameO strFileNamee strFileTitle ofnDIALOGnfstrExtractFilePathJGET_SAVE_FILE_NAME_ERRORhGET_SAVE_FILE_NAME_ERROR_ENDQlngHWndlngMaxFileNameBufferXstrTitlelngLastSaveFilter5lngLastOpenFilter, strDefaultExt;pblnAllowMultipleFileSelectԀstrLastSaveFile"strLastOpenFilet strFilterӥfstrReplaceCharkstrGetOpenFileName_7GET_OPEN_FILE_NAME_ERROR@MflngNumberOfFilesSelectedIfstrMultipleFileListDfstrMultipleFilePath0fstrExtractFileNameĽParseFileNamesbGET_OPEN_FILE_NAME_ERROR_ENDtlngChooseColorT lplngNewColor|?ccCOLOR`CHOOSE_COLOR_ERRORCHOOSE_COLOR_ERROR_ENDtstrLastSaveFolderILstrLastOpenFolderިstrDialogErrorlngDialogErrorvbOKOnlyintLoopSH fstrWinPath9ApptEXENamefstrReadStringpath2flngReadIntegerܬvbBlackvbWhite^KvbRedG/vbGreen_vbYellowMtvbBlueG vbMagentavbCyan+ lpstrInStringlngPos6LTrimbRTrim lpstrFileName! lpstrFindV lpstrReplace intLengthintAscii&A strResultstrChar$flngWriteStringCPflngWriteIntegerlpstrFileString]intStart?intCountPstrFilesstrPathlstrListdlngLoop lngLength5mfstrBrowseForFolder~;lphWndbi\pos blnIsFontBoldyblnIsFontItalicbblnPrintDialogMpdlg strInitialDir/( vNewValue8lpResult= lpSectioniEliResult lpIntegerTrim@ fboolReadBoolu lngDefaultԛfboolWriteBoolbstrValueKfstrReturnSingleFileNameintFileЅDBXIterateAllWalls UserForm1)MSFormsCUserFormNListBox1 ComboBox1'ComboBox1_Changea UserForm2*DBXWrapMainFormc_Filest o_TxtStream^ TextStreamgfsomyBatchEndTime̎myBatchTotalTime3TmyBatchTimeStart ReturnFolderBrowser lngFolder  Err_Catch vbNullCharY Exit_Herei FileFinder$ StartPathӉ ExtensionGetSubscDirintcnt.- Err_Controll vbDirectoryg MousePointertfmMousePointerHourGlass'GetAttr FolderExists fmMousePointerDefault( FileCount=GetFile:lngID% ResetFiles ParseFileNamePv strFullPathlngStartcmdGetBlockRefs_Click}Now%Label4,Tag&CntLBoxqkb col_Brefs genObjectD myDBXStarter8ObjectDBXDocument DbxDocAXDBLibDDBXBRefAcadBlockReferenceDBXBAtts lst_Files/ ListCount6 ListIndexQTopIndexSelectedYfrm_Main Repaint CreateObjectReplacefCreateTextFile OpenTextFile ForAppendingqTristateUseDefault9LayerInsertionPoint HasAttributes WriteLinee GetAttributes TagString TextString  vbInformationnLabel5,cmdGetAecEntities_Click&col_AECs4  aecDBXStarter$EObjectDBXAECDocumentBqaecEntspcmdGetXRefs_Click 'UserForm_ActivateZsstrBlankVisibleEnabled۪ cboSelectionMAddItem cboSelection_Click`lngCntgblnCode3Read_File_From_ListBoxACurrentListBoxFileSt dbxStarter blnLockLayrN strFileChkblnChk objLayoutMyBlockmsgQo_ent_RRtnSafetySymCategoryWriteBlankLinesstrNameZUserForm_QueryCloseCancel CloseMode؟Label1, cmdCancelcmdGetBlockRefscmdGetAecEntitiesi cmdGetXRefs$ cboGetFiles*{cboGetFiles_Change blnChecks_PathUserForm_Click ChangeUserForm_Initialize5cClick RLB_MainForm  InitializeNfrmMainXlstFiles frmMain_Click Module1b RLB_UtilitytN objDIALOG|Main,frmTESTeShow MAIN_DOWNNClass  TerminateyL  QueryCloseT  _B_var_Select'EcboGet txtFILEOPEN cmbFILEOPEN^ ZOrder strTempNam strTempNameRlstFiles_Click lstlstf _B_var_txtFILEOPEN| _B_var_ResetFiles _B_var_c_Files  _B_var_App1 _B_str_Chrm# _B_str_Space _B_str_LeftV _B_str_Right#( _B_str_Strz _B_str_ErrorR  _B_var_ElseIfqm _B_str_MidX _B_str_RTrim _B_str_LTrim v _B_str_Trim txtFOLDERhwnd/ SetWindowText EnumWindows-  lpEnumFunc GetWindowText(cch}GetWindowTextLengthEnumWindowsProc*sSaveARetslogin$iFirstjpiSecond9vNoFirstInitialLCase: GetVariable~AppHWND> _B_var_Space _B_var_LeftQcboj}strTempM _B_var_FileCount _B_var_Right9re^Itemzthe'  _B_var_the8Activate| _B_var_Chr\; _B_var_Midp_B_var_StrConv{ _B_var_Stringӊ dictWalls@ ACADObject GetAecEnts]n colAECEnts/8aecEnt@o_BlockObjectDBXAECDocument15aDBXConnzU _B_var_SetNwq^oDBXDocjoWallIoEnAecBaseApplication_B_var_AecBaseApplication varLength _B_var_ForjLoAecEntD _B_var_IfPEndwith;LengthYsTempeLenTextFeetIn Denominator{NbrFeetgrInchIn& NbrInches`PFracInM NumeratorWorksheetFunction&RoundFracTextEvennArchTextDecFeet׻ precision i_FtCount3Diom!e _B_var_Diom i_InCount,ci_CalcIn^|i_CalcFraction i_InchCountq i_CalcInch=i_CalcFractionNum s_Fraction$s_FractionText\isOdddblValueDstrpos5iCalcM2 _B_var_EndFCommandButton1|CommandButton1_ClickoDBXConn@_B_var_DBXIterateAllWalls F _B_var_oEntS3DBX̂_B_var_Distancey _B_var_DBX?_B_var_AecWall>_B_var_Err_ControlΌ AxDbLib15J_B_var_ObjectDBXAECDocument15_B_var_CollectionS_B_var_AxDbDocument_B_var_i  ParselstFiles} AUClassTitle| _B_var_ConstgDevnoteobjGen9varGentPromptmvarGeivarG varva_vmPrompof^E  {  O  &l hX'uRSetWindowTextAR8EnumWindowsRX$GetWindowTextAR|DGetWindowTextLengthA xMEh("D0<,<> < <<<< <$<0<4<8<<<` `t% (`|@  `| b@%+p@ i`ii`p@+($p $ i+DphD iXi i+ hph i+`@@h 'i i*c `l`j`hForF`X x@`Vv `fnh``p`dr0+P`@$$6iRH @``bt`iTzHꐖpH`jh+l``t Zin  (x(`%CP13-3 Outside the Box with ObjectDBX0z x%@XT (D @ `Px`hpxH`(08 h@x0H 8 8 d @lzto@8 T 8 D 8 @@ @< @8 @( @ z   ( t P ( D-00A09 X `x 'A$*\Rffff*2L411cebc9*\R0*#1c$*\Rffff*114133563em H HH PH XH `  (2 " , ,H .x < .    .( .X , . . * H__SRP_f->J__SRP_e __SRP_a+)e__SRP_bW:  Hh  X p  B )  8 PX`h p B  D $ph( @P! h x    H ( P/H X(P` B  &*  " , , 0    0 8 H]  %use the MAIN sub to set up the diarU i_1~]9AAN___ `1@ @^O1`` aQa`i3O~ ~1~@<Iq   W   W  W        _ L[x4x$  xL- 4x/ (x H l 5l$ lX .c=[h4h/  (lhDl CtKC4c$/ltX4 pz/$l pp llpvl pp d hh $\ `` ,''>\F<>dFLll  D)ph`6L</ (t4 d\ph`L<T-t@Qtx/ (xt`-!`X4 tQ`[\hX`h l`=p`lplT llDpW4 ''4ll``MD @t$ l`=l`64 lTN hX%t$ $ l tV x c= x/ H0 x\XTdlpth`4T-tDQtx/ (xt|-!dX4 tQd[`l\dl ld= pdlphXTh lT0/TKHTh  ''>TF4lhddMD @t$ ld=hd64K hXN l\%t$ $ l tV x c= x/ D,x`\Xhptl Td4T-tHQtx/ (xtT-[P8P!PX4 $QP[LtH DtL>D1lll~ll~2lM4@X8 0k2)Dt \ TM4@>DF X8 (5 lTqT tH 8 X8 < \\5ILX\5Id?6'''X@\ p$ -6 Xf pV x/ eT@(xLHp\lt(DP t- thB lt 3dpL>d1l th ll0bdH \ >d1lllCx/ t8 xhtlpdT-tPQtx/ (xt,-K!XX4 tQX[T`PX` lX= hXlhdL ld=ppW<`1l5< lpcH8p  ''>8FFP 6P0 u0xt$P0. qdld qhlh`* Jldl MP@@  @`1`5@plhqdlh l`FPl/ <,l`@@  $ xK #bt xx ltqpx<'''<l xx ,>lF\ x6\<  x$ $lx\<@<@ p$  ( 8Ph    8P hx   $log&object, which has been pre-dimensionedi (as public in the declarations section of5this module (modMAIN): this way the whole application(now has access to common dialog featuress.Mo(the dialog object is de-allocated in theC(MAIN_DOWN sub in this module so that anyr%resources used by it are freed - this'explicit method of de-allocation avoids'any memory leaks that may happen if you$trust to scope/vb to de-allocate the, resources.now show the form zB@ox`&here we de-allocate any resources used@&by the common dialog object by setting)it equal to nothing - a good practice for any object.o(AWe need the handle of the Application so lets grab it from the OSIA@(]] $' $'    A@  Autodesk* ''zkcontinue enumeration'i] ] .!Cheater Class Collection of files>Convert Decimal feet to Architectural Units in Feet and inchest stk'T Round to nearest 16thl in]0 R %'Vnd the]]]x ` %J'fis]H]iP'ld'lk R V  'be b'deP-e b d  T'`e f,e 'j f Te,e d 'de 'jd_ A If the numerator is even, divide both numerator and divisor by 28k0i nX .  e@xdk V'- d j"$z'P TX n( f'fW T'Ts f %J$l f/ T'jNh]$%CP13-3 Outside the Box with ObjectDBXxrogAttribute VB_Name = "RLB_Utility" Option Explicit Pub, Declare FuncFSetWindowText Lib "user32" Alias " BA" (ByVal hwnd As Long, lpSlng )"ExnumL hlp!K7Par am 5Boolean6GwwqMcchK$JLength M (]FobjDIALOG&clsS 'Cheater Class Colleof filesc_FA FAppHWNDA;Const AUTitleCP13-3 Outside the Box wiAObj1#DBXSub Main()1 ' MAIN s@to @set updialog @ o, whihhbeen pre-dimensed pCͬinasH this mhodu7(A")F: waywh apABBnow !acce_@.commIC- fgura 6  d9= New 9'( $c de-alloc=d b_DOW'soat any`our .d by ifreed -i@F 'e method I'!avoidc mory xkscm@'h &@4if yobu"truJa form!aYF.SE]riv@6! $Rx Dim sSavHr, R@gFs@g BS iFir{s Integer, `iSecofvNoInitqaVarianA = p(@|c= Space(@,+ 1IfLike "Autodesk*" Thea ae>=b c,.`TruL Bx`)8Ifc'"ti nue eerjIa9&  fE ArchA{}$FesDo`Ke, czy0NciM/by'ZvertimfA5itXurPzUsD2`4chCJ!_FtCoa3X) /#Nur^s_EL.@#C()"-#w= 16 ' R`d!Ine216th 9!i=A. (T-riX= V) * 12i_6=9(z0)- ' s , 0o$0S0|7= vbNull)Else={-< fA&oC*o'N ` ]=orveven, divy1bo3s?s1Not0Odd(VB$A.on))L ?/ |,K`" " &T%& "/EUD3Loop?Q2UH '-E&  & Chr(34+W=xisUdbl0]DWUȱ TInE1, E), ".",C/HCompC) > 2 hyFaf+^ SO2Vhe@w?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~x x@| @l ph X@X T (@D 0@ @0 @, @( 4@$ @  @ @ @ (``(``(``(``(``(``(`` @CommandButton1>,A`$cboSelection{(2HLabel1(2<Label4( 4lst_Filesion 4Aa`5=,I `P=nlhDl CtKC4c$/ltX4 pz/$l pp llpvl pp d hh $\ `` ,''>\F<>dFLll  D)ph`6L</ (t4 d\ph`L<T-t<Qtx/ (xt`-!`X4 tQ`[\hX`h l`=p`lplT llDpW4 ''4ll``MD @t$ l`=l`64 lTN hX%t$ $ l@  @ @ @ @ @ @  @ @ @ @ @ @ @ @ @ @ @ xXp  l  ( \ @L 8< @, ` @ 8@  @ ( @  h!(``P!( 8 P!p4  @x @t @p  P!(@   V`0$q`nM4@X8 0k2)Dt \ TM4@>DF X8 (5 lTqT tH 8 X8 < \\5ILX\5Id?6'''X@\ p$ -6 Xf pV x/ T@(xLHp\lt(DP t- thB lt 3dpH>d1l th ll0bdH \ >d1lllCx/ t8 xhtlpd<<   `WW<48@@@("8 h&(l @\ @L !< 8@, ! @ & @ &h @ @  @ @ @ @ @ @ x& @ @ P@ @ @ @ @ @ @ @ @ xX$&$x& x&l  $x&0\ @L X%< @, % @ @ % @ x&( @  x& 4 ('0x @t P',0&@', p ,l @\ @L '< @, ' @ ,P ,8 @ @ H+ @ @ @ @ @ @ @ @ (@ @ @  xX8*8,P*,( H+l `*,\ @L *< +@, + @ @ H+ @ ,!(@  $0'$#@%H&"*+, @ @ < P. 4 `-(x @t X+,h,x-P.p { P.l { @\ { @L { .< :@@, { 0. { @ { P. { 0+H. 000PH'A$8 \ 2p v   ( @ NH n R L` R J ZX p V( n V lH R j R J` N p Rp H R Nh ^ H  v P "H P&PrU , pay,Q$p0Dp ay( hpa$`,`a,`   (`  $!`nlXt@Dk#d 0/dp MT@D DUpv5Do kv ptktprktkrkpp!pMT@D DUpn5D kn ChK knk krpr ChK(nMT@D DB9 5DknpnkpD/ kn#d*#@*#l1hp lh0l"X >l1t#tMX@H H(8]t5H F$p! p l$iHtMX@ !  )p 5H _H>$p! p l$iH !  )p 5H(p! p p+Cllt/lp! p L pz$l$c2'(lkz>lFHp! p H p6H( zd{ lh 0"X  "X $Cll"X >1t/l$"X l$p! p L p'X%p! p pz$"X l$c7'(lz"X >lFHp! p H p6H(8'''(lz"X >lFH" X 6H( zd|(Hp! p  p5H lt 0Y3'':8N((@:XNHH 6H($'HtMX@p! p H p5Hlp! p >l1tp.''(:8NHH@tMX@ 6H(_H_H6$l$#l*#p p @2lp(,Xht,lp H(t x%hl! l  lhle*Xl! l  X(H]3l5X4Xl! l  X4! 4  )l45X (Xl! l D l5X.rhl! l  lhlc0e rMH@l! l D l0*,l! l  l,x $k*/,lYlx Qlt t c=t rd0 c=xTt,xt ,l4X8P t" X $ltqx/  $ 0   0   0 P  0   0   $\H Q\[XtT lt lt=x lxPHP oH1`((%8P T8xtq$(%P Td`q (%P \PLq(%P \<8q(lll l$-t-`-L-8(d68xdP<cPx x Hx x dH 9  1'''l*# *# !*#l*# *#"*#oH#*##*#o#*# *#$*#>#*#%*#l`*F8 2& 68 tT f$@(XTPt`xd!t`L8 \8xdP<(X.J \L<(, (B9 &kl5/X(l <xK 'bt (xx )ltqpx<'''<l (xx ,)>lF\ x6\<  x$ $lx\<<@8   <&0(>`X0 ) )Iqn N"!U@Q>i3 |y|W{kaX9G @qzd4  <$4$ l ^qTl1hp lh0l " X >l1t#tMX@H H(8]t5H F$p! p l$iHtMX@ !  )p 5H _H>$p! p l$iH !  )p 5H(p! p p+Cllt/lp! p Lpz$l$c2'(lkz>lFHp! p Hp6H( zd{ lh0" X " X  $Cll" X >1t/l$" X l$p! p Lp'X%p! p pz$" X l$c7'(lz" X  >lFHp! p Hp6H(8'''(lz" X  >lFH" X 6H( zd|(Hp! p p5H lt0Y3'':8N((@:XNHH 6H($'HtMX@p! p Hp5Hlp! p >l1tp.''(:8NHH@tMX@ 6H(_H_H6$l$#l*#p p @2lp(,Xht,lp H(p x%hl! l lhl`*Xl! l X(H]3l5X4Xl! l X4! 4 )l45X (Xl! l Dl5X.rhl! l lhlc0` rMH@l! l Dl0*,l! l l,x $k*/,lTlx 4Qlt t t rd0 c=x Tp,xt ,l4X8P t" X $ltqx/  $ -K3"X Mh@" X X`1x5X/bP TT lPqLT<'''8H TT ,>HFX T6X8 +/ (x$HTX84Kx Js(l M`@P  P:@]@5PK *'  *FP 1x5P lx=  lx0lx 0;xM`@P  PF@0( ]36P0+'''0 lx*FP" X 6P0 lx*#^!/Q+'''0 lx*FPt$ 6P0 "  lx*# H#k/+'''0 lx*FPt$ 6P0c'P 1x5P $iXt$ $lVrt$ $lcV3PrM`@t$ +lP`/5P rd  c=tb  lq<'''0  ,>FP 6P0 u 0xt$P0. qdld qhlh`* Jldl MP@@  @`1`5@plhqdlh l`FPl/ <,l`@@  s$ !`%$& 'Q`[\tX(  lt) lt=)x lxT(4%DT T)Dq0(%T T)plq,(%T \)\Xq((%T \)HDq$4l$l(l,l0--l-X-D4d6Dp\HcT x *x )x )x )dB9`%$& +` (,'''-l *#.*#/*#l*# .*#0*#o#*#1*#o#*#.*#2*#l*FD 2  `6D tX(#<$\XTdtxlXD  `Dp\H4 t\( lt) lt=)x lxXPX )oP1`(0%@X T)@|q,(%X T)lhq((%X \)XTq$(%X \)D@q 0l l$l(l,-|-h-T-@0d6@lXDcXx *x )Px )x )dH 9 3 1'''-l*#.*#/*# l*#.*#0*#oP#*#1*#o#*#.*#2*#>#*#4*#l`*F@ 2& 6@ t\(<$\Xt`xd |hT@ @lXD0X.J \L<(, (B9 5kl5/X(l <xK 6bt xx ltqpx<'''<l xx ,>lF\ x6\<  x$ $lx\<<@8   <`xi0Y(Zp t  $i Y0 @))@ l $ @ l $ H qx/ $ Ll Cx lx(x L- Cx/ (x H qx/ $ H qx/ $ Ll Cx lx(x @ k $ H pz/ $ L- Cx/ (x L- Cx/ (x l Cx9 1dh>dlCppx$>h1t2pld@lt #h #p #l*#d=2plhd9lt #p*#l #h*#d2plhd lt,xtplhdH qx/ $ h-K< # #*# #*1t2< # #*# #*1p2= # #*# #*1t2= # #*# #*1p2  q(t 0F xCPS tCPltC@ ltJqDlpCH lpJqL qX qX C0 q< = CTCT Lq$,$^q<$ lq l :@,l@4>1tltCx@0lx/t8l/ltCX/5@>1tltCx-@>8l2-@> lx2}@>1tltCxt lx/ lt l< CtxtltCx/] o #*#*# o #*#*#p*12 6_2'@':pNM@^p6@g Mkp>k> k> k> / @x`xi0 Y`6p t ` $i Y,< `0 @))hK qX - q`7 q`T@^qd qh $qT,T,,^q(<,T l(qP,lP l` qx qx/] o # *#*# o #*#*#p*1$2 6s2'': N$M@^p"6{ Mk"pk k k / dL,i0Y@xTi Y$ 0 L- |Cx/ (x L- xCx/ (x L- pCx/ (x H lqx/ 3$ ^!qx "p9lt[ #p9ltx $p9lt %p9lt &p9lt 'p9lt (p9lt   )p9lt & *p9ltC +p9lt ` ,p9lt} -p9lt  .p9lt /p9lt0 0p9lt0 1p9lt0 2p9lt0+ 3p9 4pl1''$:T5NDDpMd@ 6D$x$< D$#dzcv, kz8; zdv Ip<lphl6$7 ,8l L8lh*#d9*#`2phd`l  l :p ^;q\p`<Cdd=Chh@lXt2hd`XlTpl6$7 ,8l L8X>p`>Cdd=Chh@lXx2hd`Xl4TY\?Chh=CppLlT2ph:` Cdd@Chh=Cpp@l`2phd`Tpl6$7 ,8l L8X>p`ACdd=Chh@lX|2hd`Xl4TY\BChh=CppLlT2ph:` CddCChh=Cpp@l`2phd`a+pl6$7 ,8l L8lpt/pl+pl6$7 ,8l L8lpx/pl   +pl6$7 ,8l L8lp|/pl         ^D TTTTTTTTzcPhkzT zdPL BE #p*#hF*#d #`*#X2 phd`XNG*#p #h*#dH*#` #X*#L2 phd`XLNI*#p #h*#dJ*#` #X*#L2 phd`XLNK*#p #h*#dL*#` #X*#L2 phd`XLNM*#p #h*#dN*#` #X*#L2 phd`XLcO*#p #h*#dP*#` #X*#L #H*#D2phd`XLHD                * 4! 8$  0 phd`XLHDl- qt lt J1(Tlt Q #P #L02PL5Tl l lt #PO/Pltqt R#P S1x/P/ 0(xPLT- Tpt kt2ktpv;pv ktzkv Tpt ktuktpv= kvkv U1x Cx/ (x -J& U'JH U' Cl Jptvktcd(Dkvll Q 1h5D lh0lkvO vddjllCx/180xlhDx@/)pt<Ctt=CxxD2xt)px>Ctt=CxxD2xt)p?Ctt=CxxH2xt)p@Ctt=CxxD2xt)p|ACtt=CxxD2xt)pBCtt=CxxH2xt)pCCtt=CxxD2xt TYpZ @$ xtP< #h #d*#`pv2hd` kv`kv U1lt qx/pvptpr kv$ktll #hpv/h kv krpr kvptkrllJpr krqx/ (lhd`-% #lpv/l kvkv U1plp #lT=/lt lpT*1x~lpCx Cx/ ,xpl-< #l #h*#dpv2lhd kvbkv U1pl Cp%lp #lpv/l kvlpJkvlp 1xlpCx/ ,xplhd- Jqtltqpltw#(Plt Q #LT0/L5Pblplt 1x/ltqt Cx/ 0(xLP|- qT qXVC` qd,T,W,^Xq(<,T Wl(qt,W 1P+lP$4l$lt^Yq(?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_smu!ubBAUser9m_QueryClose(Cancelw, ModeXB/yxMAIN_DOWN(p3@Vđrr????3? 2 3dOar.OaOa ]}Ub ParseYH`P1z3ZH ZqPo^,qwSb[SI&6Dosq= IlnS@>,AT , `ZQr7fE/GKbA) +a {A=X8a3^P@iSz' o%}U' P(+T= mu RUser9m_QueryClose(Cancelw, ModeXB/yxMAIN_DOWN`2?0 p?@Vđrr??????A P S  h ++ x " 80 `X . p     &  (H "p < 2 D0#xF x H ,>X p $ 2  2   0 *0 $` ( . 2 0   0 $P 4` X *  ,P78h  ( @ &3pP X$x  8. &6  " h  P  % .* 4  (8.X  @ (0x H `jX  8  X " H  (      B   0 @8 B  x  "      $  <    , " P ` h p x  (   $     ((  ;P +p  +     +       @ H P X p 3             $ 0 <8 H P X B  ` h x       *          " 8 @ " !  ( 28 2p  2    "  & h   (028p  h x B 4J " @x  $<8  j(dse(o`] (o0Set up the Formec j(2rer o. Files To Search ~( C0 j(4 To Se.( n j!dA n8SSelect by FolderKTSelect by FileKT2]PPrevent Uncontrolled Loop]counterthwe can reuse this dwgA@the ames B@tFiles   'Nclear our listboxA@dp n'nkXSelect by Folder jB@8o'nCP13-3 ObjectDBX Explorer (Fi| !Add your Case selections hereSX !A@4@n8@A@'Need a variable for paths and filenames>Check the length of the return value and add path to combo boxClear the flag = T&Highlight and select our chosen folderlStr+Get files from the folder and sub folders..= P)get a file(s) name(s) for a file(s) to be$opened and display it in the listboxallow multiple file selectionow m(set the initial dir property to an empty+string in order to force the dialog to openng in )at the last folder a file was opened from ( jldercall the open file dialog !'-check on whether multiple files were selectedon w ! &add all selected files to the list box zor   % B@8  !op"select first item in dropdown list ( firdif only one file selectedk B@$bring the list forward in the zorderx $ B@8 To H e   A@4ed...  B@8 select a folder using the browse!folder dialog box and display thefolder name in the text box5note: pass the window handle of the current window to+the browseforfolder function as a parameterp  %Z' X j!d'ame H  j! j( k(  % v  j! jB@8d Ifd`( Clear the filenames collectionListP Select by File jB@8  !'mX :Get the path of a file contained in the c_Files collection $' z  !Add your Case selections hereS !A@4 n ix p %Utility Procedure to search for files]]]  $\ \'k  *.* $~' b  (Don't want system files . .. $     B@  $ e   B@d   7   B@k q k k ~'allow really big searchesA@P  !   ! $ A@ kk  (.k| !Add your Case selections hereSh !A@4PnHo@P]]'_  \'2 2     $'d 2 'k 2 'i  Files to search !~(ryhA@ B@  % B@`]L.z]h ! !(If no selection, choose FIRST list item. ! ( ,k 6 , 6 !  !d z%.. kkH 6 ]8.zo]@ ](] .t .." "54'670707272$.'*q .o D H  F J  %L'.ixp]] ]( & !, &hrU &."~ +Assumption...all walls are planar therefore~~ +distance = Sqr( (x1 - x2)^2 + (y1 - y2)^2 )~~ "70707272$.'*~~q kXPoH@V**************************************************************************************~, Project: GetWallsInformation_ADT3x.dvb |~~p----------------------------------------------------------------------------------------------------------------~ Description:~G References: ' VBA GUID: {000204EF-0000-0000-C000-000000000046}~g Type Library - C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6.DLL~K AutoCAD GUID: {C094C1E2-57C6-11D2-85E3-080009A0C626}xE Type Library - C:\Program Files\ABS3\ACAD.TLBK stdole GUID: {00020430-0000-0000-C000-000000000046}D6CCA4D Type Library - C:\WINNT\System32\STDOLE2.TLBon FilS AecXUIArchBase GUID: {842B17BD-8A01-11D2-9C40-0080C7D6CCA4}F50021i Type Library - C:\Program Files\Common Files\Autodesk Shared\AecXUIArchBase30.tlbO AecXArchBase GUID: {0CF50021-59F3-11D2-9B3E-000000000000}A3g Type Library - C:\Program Files\Common Files\Autodesk Shared\AecXArchBase30.tlbodO AecXUIBase GUID: {842B17A3-8A01-11D2-9C40-0080C7D6CCA4}F0e Type Library - C:\Program Files\Common Files\Autodesk Shared\AecXUIBase30.tlbutodK AecXBase GUID: {08B589BB-4F00-11D2-A7F1-0060B0572AC8}30-E71c Type Library - C:\Program Files\Common Files\Autodesk Shared\AecXBase30.tlbp---------------------------------------------------------------------------------------------------------------- K Scripting GUID: {420B2830-E718-11CF-893D-00A0C9054228}542C Type Library - C:\WINNT\System32\scrrun.dllaryG VBIDE GUID: {0002E157-0000-0000-C000-000000000046} j Type Library - C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLBK MSForms GUID: {0D452EE1-E08F-101A-852E-02608C4D0BB4}braA Type Library - C:\WINNT\System32\FM20.DLLK AXDB15Lib GUID: {6D4C7DE5-704F-11D2-B6D2-0060B087E235} G Type Library - C:\Program Files\ABS3\AXDB15.TLB-W IWshRuntimeLibrary GUID: {F935DC20-1CF0-11D0-ADB9-00C04FD58A0B} B Type Library - C:\WINNT\System32\wshom.ocxkphx A@0 . ] z!*.Cleanup collectionk can't process what doesn't existem 0k8 0x ![Entity Handle: "!6 8 StyleName:  "!: 8Height:  "!< Width:  "! 8Length:  *X $P |  6 8 8hdNothing Selected...  A@4GL Skipped !d$ because it  8contained no Wall Objects  A@4/Progr Entity Handle: "!6 8 StyleName:  "!: 8Height:  "!< Width:  "! 8Length:  * B !>%@  A@4g. !dk ]    h`k]p ." Stop 'Devnote"! "!: -  "!A@4 CAttribute VB_Name = "RLB_MainForm" Bas0{A0124781-5C6C-4484-AE A3-7A62779A4}{82E68AFE-7778-4EA2-BD38-7E74AD259BA9} dGlobalSpacAoFalse CreatablPredeclaIdTru BExpose0Template DerivCu@stomizD'*R ' Project: GetWallsInfation_ADT3x.dvb |-l)DesPcrip$:References: A2 A GUID: {000204EF-u0CB0p046} Type Library - C:\Jgram Files\CommonMicrosoft Sh\VBA6@E6.DLLUAutoCAD-C094C1E2-57C6-11D2-85E3-08@-9A0C62-ABS3\A!.TLBU%stdoG%@S3R @0-|SWINNT\System32\STDOLE2AecXU`IArch"842B17BD-F8C&9C4a80C7D6CCU_=H=6desk%=30.tlbu aUCF5#`U9F3B3EU00UUV%UI2/ ?/,O?/>/!?%.8B589BB-4F00#.A7F1 .60B0572xAC8?.?.6.S"cng d420B28pE718`CF-893D`@905422ʙ p run.dllWVBI DEE157`(UUUBE6EXT.OӿLMSsD452EE1-E08F-101 AV272608C4D0BB4 FM20?_AXDB1F56D4pJE`5-704 1_B6_00)87E235  jj3_RVgIWshRuntime"TF935DC2 2CFB30-ADB9C@ D5@B? _\wshom.ocx'  * OB lihcit!P Sub User$_Initialize() Q'Set up` the !QM0e.CaCP13-3 ObDBXRorer0 frm Å To Sea`o cbo`.VisiS r EnAddIw "Se"l byp ld?y Qc_pNew Col Endqm_Chan gT'pvent Uncontrd LoopStPc blnCheck AsH Bo`an'$co+erDim intc@ Integ'Need a vari paths a f[ nswe c@an reupthiRstrString@If Not Ther !CωTex &5"Ci 'sSac A us'b8row  fod+og boxBdisyo'4Q tP 'note: sswind(ow dФofBcur`t to'A4c $func as0etc= objDIALOG.f@Br9Fr(AppHWlND;9'&Ql@ength r eturn#lubeaddto combo!.Len( ) > 0 I"/ ::,J>ListC/@1Q'ClCfla*f5= DO@'Highl0t4(our chqosen fol@der cboGetFiles.ListIndex = \Count - B2ElseTextWvbNullStringAJnd If'Clear the fnames collection0Res&x#s frLom* a?subs..Fir strTemp, "dwg", Tru 'c]our "lbox*lss:or intc= 1 To C 'AddItem Մx() NAgC Case "SeAZ by"@'get aBU(s) hf-Gto bHopened_display it;BfL'allow multipl s*objDIALOG.bltnAMRD8=q#initial dir pBr@.rty 6an tyF93orA EcedogAAPat lastY was  N/G<@IDir$p"q8c * ǡ b9alou oA_ LO9*N`tcheck @on wheyr7s were8DedIf lngNum s7 !>chePlya'ba.u.rwardQz8/ ZO!='ad`]ll"-sA@᛽] ! F%`30!%S! nf?ReturdnS[le=ċ%! ac_5.9 r׈%t- , rgiAin dvdown=i0oa`Ra"" TOMsgBox "NothAV...vbInmaA, AUC~sTitl'i`dnlyl4C Ey aGɄq$, /']CBF= p B Me.frmMain.xCap2)s&, "nR9schSub Private BSCommButton1_C lick(40'Stop 'DevnotdDim oDBXConn As Obj`AECDocu@ment15 S`u ew`EntsCLmyW^AecXArchBP~.qq0varGpVariantiIntegP0J3-> 1'noOz, chop FIRST29emE-6VTop B 09(0)! ɩVPRV- 1_Vi_! +6E E".wP$()OI #&8#=).aeca$K u4 Is7M/P.Pr3`!'D+FQ5uUSkipp@" & Parsi=becau7_)vbCrLfp"co|ntpC`P, 9s/\/\)=%%Each t8In!o9TypeOfv@ec GA=I3.StyleDescriV~aRnupaB*/NpUR o >ӈ -\y 1cddPO%ŐhD()VLongj`b3%'|Get the path of a file contained in|c_F\s`llection Private Fun" J(ByVal lngID As Long)String On Error GoTo _CqrolQF = u(J) Exit_Here:' |LrrESe Casea.Number8'Ad@d yourscis h- lseMsgBox#Desc(rip Re8sum1NEn 0 HThe @Right, 1) <> "\"F >=&A E]IfA6=@;IM! *.*"L vb@:oryCFo Wh(A""Me.MousePoAer@fm HGlasp 'Don 't waKsypstemB=Nota= "."| A@Au 3">.@NO@Comp(Q , 3P), EE,;Text are)@/0a en.ad-&,EcuAtt+,H ,9ac/ a p WiASXS+Obj8G 0.Folf`stsK )aa%a~Oeih%1!'allow reAy bigDeGDoEventLoop1~'D("CouPnF@z= 1~ C!- (#KTru NLᄃG'iDefaulztS @$@chE a,à `Ÿ. ށ@|b0Parse!.ÁullPJ !Po,S!ġ!L Dosq= InS@>,AT , `ZQMfE/GKbA) -W +a {A "D`U:a3^1Sz y}K` Pet!s(+T=1ku!ubBdAIter AllWP@#xmy!AAecǡ !myEp>Pgth3?Ea`#InPisDraw5pndelSpacF=TypeOf $'?T 1t =ca1'Asc...rlls i planarre@(distance@Sqr( (x1@"x2)^2 + (yy?x)cC myPD(..~(0N11)kk" Handle: "jS .#vbCrLft 8"Styl>eCV  "HeQBc"Width*Thw&.RnToSR‚(, acAit}ural, 2PvbIn`!maq, AUC1Titl">GhKWǵDBX6colAEC@UQ4'capss what doesAex#CǠwqIs k2;o(=XA.=A=?XS$&1varT- AVa riШsTempAoB wQ AA ϏBB=  ?Q;R = .OAsDo>h?o>.%C?n>' Debug.bZ??& /?? m?_?:C "Height: " & oWall.BaseH"Width @8vbCrLf_ A "LengzArchText((CDbl(var) / 12@), 16)M" |sTempf kEnd IfN_ oAecEnt!Sub Public Function Distance(x1 As Variant, y x2 ) ;* = VBA.Sqr(/- x2) ^ 2 +D (0- y) QJSrivate [ UserForm_QueryClos(e(CZlx#CwqIs k2;o(=XA}.=A=?XS$&varT-a AVariШsTempAoB wQ AA BB=  Q;R = .OAߡsDo>h?o>.%C?n>' Deb8ug.bZ??& ߲ /?݁? m?_? & _ "Height: " & oWall`.BaseTH"Width B 8vbCrLf!LengzArchText((CDbl - Ea'8\LlGetOpenFileNameAL<CommDlgExtendedErrorRh(GetDesktopWindowrLTGetSaveFileNameAL|ChooseColorAL ChooseFontALoPageSetupDlgAh  SHGetPathFromIDListAhL SHBrowseForFolderAtt8CoTaskMemFreeVL`PrintDlgAGetPrivateProfileIntAGetPrivateProfileStringADoWritePrivateProfileStringADGetWindowsDirectoryA5;ݒOV4*=h8+3qVD9@E3Q%*/xVD9@E3Q%*/5;ݒOV4 R0RLLR(R$$RR<<RR<<R8RRRRRTTRxR RPRDDME0d  $,@SS SHJHVHZH^HnHvHHH(>"L eA%+b8 p  idif+j8px8 )leA% p`p` ir+vhp@  )x`A %+z(p  i|i~ii+(ph  i|i~iiii+ph  i|i~ii+0!0p(0?? iHiBU BBBBUCBUBB0 C BVB B0VC BBBXVCBVBB BBV@BBVBB BBVBB WBB BBHWBBpWB B B"BWB#BWXB%B dB'BW B(BXB*Bx PB,B8XB-B`XB/B B1BXB2BXB4Bh C6BXB7BYB9B  C;B(YC<BPYB>BX B@BxYCABYCCB  @CEB"YCFB&Y CHB*HCJB,ZCKB0@ZBMB4COB6hZ@BPB:ZBRB>8BTB@ZBUBDZBWBHBYBJ[BZBN0[B\BR(B^BTX[B_BX[ BaB\BcB^[ BdBb[ BfBf0BhBh[0BiBl \0BkBpBmBrH\BnBvp\BpBzBr"\8`s@J(H h|`h~xhh hhhhh  h8$$hP((hh,,h00h44h88h::h<<h@@hDDhHHV@h|Xh~phh hhhhh 0$hHh`hxh hhhhhh h8hPhh( Z8h|h~hh h0hHh`hxh h$$h((h,,h00h22h 44h88P(hhh,hhhh ^xh|(h~@hXhp h(P(%(P,%(,,P,%h<<h@@h0DDhHHHh`LLhPPnPhhhh hh h8hvh h|h~hh hhhh (h @hXhp h$$h((h,,h00h44h88h<<h@@0%mlHlx b&]tw@b*|y@b,8]z@b0`]| @b4h ~ @b6] @b:]@b>@b@] @bD^@bHX@bJ(^@bNP^ @bR@bTx^@bX^@b\H @b^^ @bb^"@bf $@bh_%@bl '@hn  0 An!$hk|+p!eip ,!n!$hPlz+! ii  ArP"#h0m|+0"$mip ,!r"#hnz+" (qi  ,!tP#"h#ox+",ui 9The height of paper selected during the page setup dialog,!v#!h#0px+#0yi 8The width of paper selected during the page setup dialog Ax$ hP$8q|+0$4}ip +The bottom margin for the page setup dialog,!x$ hqz+$8i Azp%h@%r|+ %<ip (The top margin for the page setup dialog,!z%hsz+%@i A|`&h0&t|+&Dip +The right margin for the page setup dialog,!|&huz+&Hi A~P'h 'v|+'Lip )The left margin for the page setup dialog,!~'hHwz+'Pi A8(h(Px|+'Tip "The minimum allowed bottom margin,!(hyz+x(Xi A )h(z|+(\ip The minimum allowed top margin,!)hzz+`)` i A*h){|+)d!ip  The minimum allowed right margin,!h*h|z+H*h"i A*h*}|+*l#ip The minimum allowed left margin,!P+hH~z+0+p$i ,,%`+Pk+ t%HHi  OReturns true if the page setup dialog was executed and properties were assigned $ ,@%` @B@B@B,!(-h,x+,x&i 5Font type of the last font chosen: bold, italic, etc.,!-h-x+h-|' i !The style of the last font chosen,!8.h.Ђx+-( i !The color of the last font chosen,!.h.؃x+x.)i %The face name of the last font chosen,!X/h(/x+/*i %The font size of the last font chosen,0&`/o/ +tti  .Choose a font & style from a common dialog box <0@% (0@$%` `0 `,`*,!P1h0x+0,i QThe number of files selected by the user if the multiple select option is enabled A2h1Ȋ|+1-ip YThe color last chosen from a color choose dialog box or the current color that was chosen,!p2hx+P2.i AP3h2|+2/ip vIf true, then when a file to save is specified, the dialog prompts the user to create it if it does not already exist.,!3h@z+3 0i  ,5'`04H>o31ooi 4i 2Retrieve the qualified name of a file to be saved.`t`h4p $4@ %` `4` A`5hH|+@52ip  A6h5|+53ip KThe maximum buffer size used to hold a file name: default is 255 characters,!p6hx+P64i A7h6x+65ip 9The title of the dialog box, it appears in the title bar ,!p7hx+P76 i ,!8 h7x+77$i <The last filter (file of type) used for the save file dialog,!8 hp8Ȗx+P88(i <The last filter (file of type) used for the open file dialog A9 h9px+89,ip hThe default file extension chosen for the save dialog box when the user does not enter a file extension. A: h9|+9:1ip If true, allows the user to select multiple files in the file open dialog box which are returned as a single long string with file names separated by nulls (chr$(0)),!: hz+: ;7i  ,!; hP;x+0;<=i `The qualified file name of the last file saved during the time that this class was instantiated.,!<h<x+;=Ai `The qualified file name of the last file opened during the time that this class was instantiated A=h< dk<> Eip The filter (file of type) property: use just as in the common dialog activex control, filters separated by pipes, as so: Text Files (*.TXT)|*.TXT|All Files (*.*)|*.*|DLL Files (*.DLL)|*.DLL`t,!`>h >x+>?Qi <The window handle of the form that is calling the dialog box,H@(`>>o>@Vi >i Retrieves a qualified file name using API calls to open the common dialog box. On any error, the error is placed into the properties lngDialogError (numeric) and strDialogError (string description)`t`?p $?@ %` `?`,A)`@o@AHHi @i Fires the choose color dialog and returns a long value representing the color chosen. The parameter may be used to pre-choose a color. TpA@%`P`$`",!Bh Bx+BB?i fThe last folder (directory) that a file was saved to during the time that this class was instantiated.,! `ChBx+BCCi kThe last folder (directory) that a file was opened from during the time that this class was instantiated. ,! DhCx+CDGi 7The string representation of the last dialog error code,!Dh`Dx+@DEKi /The numeric value of the last dialog error code D*`kF::O 0E+`DkG `z,E,`LkpEH#i0 Ei `2t,xF-`htkF I 8i8 (Fi `v`t,G.`pDkF$J))Xi0 Fi:Fi<Gi `Fv`>t`@r`B8Gl`Dh G/`pk(K"",H0` `k0H,L**iJ PHi `v`Lt`Nr`PHl,I1`plkI0MiJ 0Ii `v`Rp,0J2`dkI4NiJ Ii `v`Tp,J3`LkpJ8Oi8 Ji `Vt`Xp,ZK4`0k KP..i\ @Ki `dt ^TK@%`P``N,!b(Lhȹz+L QIi  ,!dLhкz+hL RNi  ,f M5`ػkL STi  h4M@ %`0,!jMh(x+`MTpi AjMhx+M U vil ,N6`@`k N<V!!i `t`np`l`Rh,O7``TkN@Wip Oi~ Oi@Oi `rt`p`l,FP8``kODX ip Pi~(PiPHPi `rt,HpQ9`xLkPHYip Pi~Qit Qi `rQt`Pp,0R:`hkQLZip Qi~QiRi ,x S;`x`kpR P[ip0 Ri~Ri Ri  `t`zp,|T<`\k`S T\ip Si~Si Si  `t`~p,T=``x+PT] i pTi >`hhkTX^%%i `z`x`Rt*BhUBBh BB@BBBBBBXC BC BBBBBH BBp BB BB BB8 BB` ,B!B B$B XB&B( B)BP B+B 0B.B @B0B B3B@ C5B B8B  C:B B=B0 B?B CBB CDB$ @CGB( CIB.pCLB2CNB8BQB< BSBB`BVBFBXBLB[BPB]BVPB`BZx BbB`BeBdBgBj@0BjBnhBlBtBoBx Bq" \Tt@b"\lu@b$pv@b(xx@b.{@b2@} @b8 @b<@bB@bF0@bL@bP @bV@bZ @b`p !@bd #@bj &@]0D` W h88 xH D\]p67h P0<B`XK%`&J^ 8D I@xYA0 P+(^)*0E(^@ pWP#] h**8^0VU`X [V(P HWp 0RW;3Y8]-$p%Yx^`C( h8.P12`]!P" `> MM hGTTp Y0!!W@U8X^X H x P^G(,U SM h '8(PY@XV0 hZx [p\0[\H \ X (YZX[8XPp2P3V Z.V @Z0Y](( )ELP (-:0hUpQV #$&P'9: _ WOUX`56xF(L P \8H@0J"X/NHZV[[Xpp7X [5=H\Zrubl0Dee]0D` W h88 xH D\]p67h P0<B`XK%`&J^ 8D I@xYA0 P+(^)*0E(^@ pWP#] h**8^0VU`X [V(P HWp 0RW;3Y8]-$p%Yx^`C( h8.P12`]!P" `> MM hGTTp Y0!!W@U8X^X H x P^G(,U SM h '8(PY@XV0 hZx [p\0[\H \ X (YZX[8XPp2P3V Z.V @Z0Y](( )ELP (-:0hUpQV #$&P'9: _ WOUX`56xF(L P \8H@0J"X/NHZV[[Xpp7X [5=H\Zp!hllm8`n!z !8l\ 0"mjP nn`lxnnnmhr `rnz njoopo%`lxht `toxpooOfOpp qqhv `vpxqppd` 0$qbrrrrhx `xrzrrrbuK %s`txhthttthz `zPtzthtPt`&Xu^uh| `|puzuupu^v`lxuuuu'0w\@xx8xxh~ `~wz(xxw \8('xZ @yyyyh y`yzyyyZ(zX{{{{h `h{z{{h{X 8)p|V8@}@}x}X}h `(}zh}@}(}V}}8*0~T8h `~z(~UT(,,p,@,X,pX h `z 0,ZTVXb\^@`df^o p(@ hhh `PxhPRh `x%8IЁЁЁLh `pxpJd Ȅh `xxxHЅh `xF000/H0h00`H؇ 0 h `z Ȇ8z@ @ @H ` @ pHȇH؆, "4$0ZFHp ,@l T(!  62$@8@ @0 JRL8N:Px8$l@ @؈ @ @  @ 4@P @h @ @ @ gxxh ``xx`D1hB88pPh ` x`8 B2(@0h `z  @43444P0Џ xh`x(z>,@@h @ @ @` 8&*.:<Th  %8Џ8@ 28@H @ @ $l4@ @ @ؐp @` @P @@ @> c@5,5>pph `XxpX>x`px`pxx<pph `XxpX<xxh ``xx`:h `hxh8`pxЗ64h `(z p`pxЗ9@@pP`@(4@@xXh `(xh@(2HH`h `0xpH00`pxz.@p @l `px=؜@؝h `@d h `xО0@?,h@>0@?@hPȟhD,`x؟4z>D,&(@ @0 @H @  .8`<F0  %C@ x8$@ @ȡ @8 @ ؠl4@ @p @` @P @@ A@> AxAXAA@ApH@0آhDH`x0, @DHVB,( %ؤ@( 8$l@ @  @У @ @ @ @ @ X4 @` @x @ @ @ @ <إh `xȥ*`h  ` xЦ(ȧh  ` xا$Шh `x"xHة0N"J$LNPR@x @t ة TVXZ\^`bdfhjll4D @`d @T @D @4 @ت$ @ @ E @x hlЫ@(v jxhl"$@@8p @l @Ph @hd @` >P,&(8@Ȭ\ @X @T 0*:246<@@B  "$&(*,.Dz.JH@PR h(l@P xPlPn@L @H @D F0RNPTVXЭZb\^`fdpEE8 Юh`x @z64 @d @T @PP @L `F HFF X8h`xGH FPGGG(hGFȱx(`@h`xP( @f x@d @T @D #j&F(8H0*@زx @t @p :2 Hس0HpHH(سh`xسz` @@h @Xd @` (IPIhIx(`@h`xP(z@l JIJHH`h`0xpH0z @l J@ȶh @d JJpJзh`x (L @` @P @L KKKxK`Kh8 hZbz`ZиxXиnjzbzp,P %8@( @$ @ @ hb `bhz hNhd `dpz pPMLȼhf `fxz x,v   %@ hj `jȽxȽ&`lx0&h `lx0XHXNN@NpN0H`pxp ONO@d @` `O OONOxOhP0h`x@h @h @d @` @\ @X @T hPO(P`hF`Fxhd @p @0l @Hh @d @` 0@QPXQ0hHhH `HxX0vh @` @\ @X Q@T @P @L QQQ`h`xhzh @0t R@Hp @l @h RSRpRR0hHhx `xz X0hz` @l S@h S@d @` SS`SSSHh| `|z h` @l @h @0d @` @\ PTP0hU`x@UTT U (z@8p @Pl @h 4__ 00@UTP Xe\e'A$*\Rffff*2L411cebc9(*\Rffff*2L411cebc9\0(*\Rffff*2L411cebc9\1(*\Rffff*2L411cebc9\3(*\Rffff*2L411cebc9\6(*\Rffff*2L411cebc9\7(*\Rffff*2L411cebc9\8(*\Rffff*2L411cebc9\2(*\Rffff*2L411cebc9\4(*\Rffff*2L411cebc9\5*\R0*#21*\R1*#f4*\R1*#10e*\R0*#2*\R0*#14*\R0*#1*\R0*#e*\R0*#10*\R0*#13*\R0*#4*\R0*#17*\R0*#f; F P "p D P 60 Fh 4  F  08H h @pH JH 0H @ 2HH  2H  0H  4H 8H @( H ,PH  LH H H H  0 ( 8 H X hx      ( 8 H X h x     &     0 @ P ` p            0 @ P ` p        0  H  X h x            ( 8  H  X  h  x   &       .  P  `  p              0  @  P  ` 4p         " @ X ` h p x                   (08@HPX`hp x  @H&P&x4 $((&P$x, &, &(4P , *& 0P "X " " (08@HPX`hpx (       0 @*P  (08 .@ ,p 2>B8N0.:0$p448>@<<H<H@BT*h0,,"($P*x..,08*h,*,6(8`>6:" P 2X B 2 "  . (0B8 .@ pxB . B .  "    0 8 B@ H  ` h " p x   B    "     B   !!"  ! (! @!H!BP! X! p!x!" ! (! !!B! (! !!" " $" 0"8"B@" $H" p"x"" " &" ""B" &" """ # &# 0#8#B@# &H# p#x#B# 4# # ##  # $ $ $ 0$ P$  `$ p$  $  $ $ $ $ $  % % % 0% @%  P% `% p%  % %  %,%  % % & &8&  @& X& h& x& &  & & & & &  & & ' '  ' (' H' P'BX' "`' ''B' $' ''B' $' ((B( ( ( H(P(BX( "`( ((B( ,( ((( ( (  )+)  (8) `) p) ) ) ) ) ) )) *  (*  $8* `*  p* *  *0 *  * *  + (+  8+,H+ X+ h+ x++ + +6+ ,@F(, h,, x, , , , , 0, $- @- P- h- p-- - - - - -- --- -.(.0. 8.X.  (`.. . (...  .:] AB/  :H/ /.2////  */00 0(00080@0H0 P0 X0 B`0 Lh0 00" 0 :0 11B 1 :(1 h1p1" x1 81 11B1 81 22B 2 2(20282  <@2 &2&=2&=2 (2 3  03(H3$ p33 33  &3 3 44 4(4  04 H4  &X4 4  4 4  4 4  4 4  5 5  05 H5 X5h5p55  5 5  5,5  $5 6 6 206h6 $x6 6 6 6 6 6&7@7  "H7p7  x77  (77 7 (7.8  08:]H8  :8 842899 9  *(9X9`9h9p9x9999 9 9" 9 >9 99" : 4: @:H:BP: 4X: ::" : @: ::B: @; @;H;BP; BX; ;;B; B; <<" < >< (X< <<" < H< H< "(= P=X=B`= Hh= H= "= >(>B0> 08> h>p>Bx> 2> >>" > B>?  . ?9P?*@p? 9?? ???B? 4?  @ 0@8@B @@ H@P@X@`@ h@  &p@ @&<@&<@@&=A&=(APA  2XA A  (A A  &A A BB B0B  8B PB  &`B B  B B  B B  B C* CHC$ PCxC  C C  C C  C C CD"D8D  @D XD  8hD,D  $D D  <D (E  8EXE  (pE E  EEE 2EF $0FXF (hF F F *FF $F- G 28G-pG G  "G GG 2GH $ H HH PH  XH xH H  H&H H  HI   I@I  (HIpI xI (I.I  I:]I  :0J pJ42JJJJ  *JKKKK K(K0K8K @K HKB PK :XKKK  KK  K K L  L  L 0L@L HLXL  `LxL  L L  L L  L,M  M 0M @M PMXM `M pMM  0MM M (M.N  0N:]HN  :N N.2NOOO  * OPOXO`OhOpOxOOO O OBO .O OOBO 2O (P0PB8P >@P PPBP 6P PP"P ,P Q  (QHQ  2PQ Q QQ QQ QQ QR R@R HRhR pRR RR" RR RS S8S @SPS XSpS xSS SS( Ȃ-ptcm0o;U LG'dU0rTl< )huo *gW332AP@ sp3aaPo~ Q jtRlRa1ntPn e01".7Ka78?!RLB_MHainhGR0B_Mpap2P*c*T A \Ut{A Ui@ipyAA&tP? ? uAqW-AVERSION 5.00 Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} RLB_MainForm Caption = "UserForm1" ClientHeight =,A `1=, `H=4CompObj pRLB_UtilityY%ObjectDBXAECDocument*fQ) `L = 0,  VERSION 5.00 Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} DBXWrapMainForm Caption = "UserForm1" ClientHeight = 4665 ClientLeft = 45 ClientTop = 330 ClientWidth = 6975 StartUpPosition = 1 'CenterOwner TypeInfoVer = 39 End Tahoma!( i*WJOMicrosoft Forms 2.0 FormEmbedded Object Forms.Form.19q! (Get (Cancel OuTahoma(Label5M.5Tahoma ( Get BlockREFs NuTahoma (Get AECEntities NuTahoma( Get XREFstit NuTahomain,$H @'}0% $#frm_Main( 8cmdCancel$(28Label5in,@cmdGetBlockRefsI0@cmdGetAecEntitiesFSI( <cmdGetXRefsR I ,5Tahoma!(( n``Microsoft Forms 2.0 FrameEmbedded ObjectForms.Frame.19qTahoma!AH,,5Tahoma((Select Files to Search5Tahoma(Label4 @Tahoma`5TahomaLabel1j8H   }N.Frame1R KQDBTahoma( 85TahomaFrame1R 8H  }4Frame1R KQDBTahoma ( 8 = 4965 ClientLeft = 45 ClientTop = 330rU H$ `8 ,A h=$ `<( ` ClientWidth = 7875 StartUpPosition = 1 'CenterOwner TypeInfoVer = 14 End  Microsoft Forms 2.0 FormEmbedded Object9q   }C66",z $#frmMains `o0M__SRP_4' 3__SRP_5 __SRP_0$ISS ST T@T HThT pTT  :T 8T 4U @U4BPUUU "U U U  *UUV V  .0V `V  B 2hVI`  "V  0V V  W W (W  *8W 2hW "W W  6W "X0X  48X pX  ZX,TX  0Y.T@Y  ,pY,4Y  Y*:Y  0 Z.TPZ  $Z,4Z  Z*:Z ([  Z0[ +[  0[ +[  ,[ \  \ 8\  0@\ +p\  $\ \  \ \ "\  2] 8] @] `] h] ]  $] ]  "]]  ^ ^0^@^P^`^p^^^^^ ^  ,^ _  _:B8_FNx_DN_DN`DNP`Pc`  ` a  a (a  0a Ha  Pa ha pa xa  4a a a a a  *a b b b b  $(b Pb Xb `bB hb Ppb 6b `b Xc  (`c c c c<Qccd  0d @dXd pd B xd @d 0d Hd B8e ee  ee e eefff  &f @fPfpff  f ffffff B f Df <@g Tg Rg <0h Dph 2h hhiii  2i$"Pi *xi$"i  &ii ,j 0j Pj `j  xjj  &j"!j  k  k0k8k "@k  8Hk k  k$)k  0k&)l  ,0l()`l  l&)l  0l&)m  $(m()Pm  xm&)m $m  m "n 0n 8n B @n .Hn .xn  n$nno  *(o$<Xo ooo o o oop  p p(p0p  .8p hp$xp p p ppp  .p (q*(q  Xq pqxq B q <qqq  q%q & r 8r  *Prr rrrr r r r r B r Nr 0Hsxss  s$<s ssstt  t%(t @tPtptxtt t B t @t 6t 2u Hu `uhu  pu uu  6u $u v#v8vPvXv`vpv  xvv vB v Pv <v R8w w wwww 8w w x 4x 8Px *x x 2xy $ y Hy  (Xy,y  4y 8yz +z%(z#@zXz`zhzpz  xz z Bz (z zz Bz *z {{ B{ > { `{ {{  {  { {  { {  |,(|  8|H|P|X| `||  | B| "| | || " | "| }  6@} :x} (}  }} B} <} 8~ >P~ ~~~~~  ~ ~ ~  ~)~    0HPX  *`   B  0  ( 8 @  P"h   Ѐ؀  B   .( 0jH h B  ,Ё؁    j(  Hhp B x &YȂ B Ђ  ,؂ . 8@  H h x   Y    ( B 0  *8 .h    Ȅ ؄   j(  H `px  B  X  Z Tp Ȇ ؆ "  * 0 HPX  2` 0,)Ї    6($<` D  % :-0& pF0H PЊx?***************************************************************eprogrammer: kevin pisarskylast modified date: 12/15/014=purpose: encapsulate all functionality of common dialog boxes"I so that cmdlg*.ocx and/or third party dll files are unneccessary0compiler: visual basic enterprise edition v6 sp3@Methods: the class exposes methods to invoke common dialog boxes- and allow the user to set propertiesDbDo?***************************************************************)api call to show the open file dialog box0:api call to get the last error resulting from a dialog boxDapi call to get the desktop window handle as a default window handle)api call to show the save file dialog box,api call to show the choose color dialog box"+api call to show the choose font dialog boxway to*api call to show the page setup dialog boxP.api calls to show the browse folder dialog box8%api call to show the print dialog boxEapi calls for ini access functions: used to persist property settingsh((*constants used for common dialog open file]D@U]D hU]D h]D@U]D]D]DU]D]DU]D ]D0]DV]DX]D0V]D]D]DXV]D]DV]D]D@ ]DV]DH ]DV]Dp ]D constants used for font dialogs]D V]D ]D W]D  ]D ]DHW]D 8 ]D,pW]D` ]D ]D W]DX ]D W]Dd ]D  ]D W]D( ]DXl32.]DPP p]Dx ]D08XGetP]D tA]D@`X ]D  ]D  ]DXx]D  ]DX4]D@ ]Dh ,]DX]D  ]DYU]D s]D c]D(Yra]D   s3]DPYrt]D0 in]DX e]DxYw]D \]D Yy]D@ w]D p]D@Yf]D  m]DYe]D e]DHe]DZl]Dpwi]D@Zs]D 2s\]D@c:]DhZam]D\c]D Zfi]Dto constants used for color dialogsg]D8om]DZau]D`\g]DZor]D0;'constants used for common dialog errorsn]D\a]D[k ]D\"]D0[og]Dle]D(n]DX[]D P]D [ro]Dxil]D ]D[s\]D sk]D[d\]D0og]D0le]D0[00]D0@pr-constants used for browse_for_folder functionc:]D \a~]Dhon]Dod]DH\]D]D p\]Dstructure for common dialogopen file function0^H^`^x^^^^^^^ ^8^P^h^^^^^^^pchoose color type(^@^X^p^^^^^^ptype for choose font^0^H^`^x^^^^^^^ ^8^P^ hptype for choose font^^ caller's window handle^ printer DC/IC or NULLg^^& 10 * size in points of selected fonthm ^0 enum. type flags^H returned text colorTId^` data passed to hook fn.^x ptr. to hook function^ custom template name^ instance handle of.EXE that contains cust. dlg. template^ return the style field here must be LF_FACESIZE or bigger^& same value reported to the EnumFonts& call back with the extra FONTTYPE_ bits added^^ minimum pt size allowed &+'^  max pt size allowed if CF_LIMITSIZE is usedp used for page setup dialogs8^P^hp` used for page setup dialogs tV x c= x/ LH0 x\XTdlpth`4T-t@Qtx/ (xt|-!dX4 tQd[`l\dl ld= pdlphXTh lT0/TKHTh  ''>TF4lhddMD @t$ ld=hd64K hXN l\%t$ $ l tV x c= ^^^^p type for page setup dialogs^^(^@^X^p^^^^^^^0^H^`p` "browse for folder information typex^D^Dpyr^D^D^D^D^D ^D8p "browse for folder information typeprinter dialogP^h^^^^^^^^(^@^X^p^^^^^^^p 'local array to hold multiple file names&returned from getopenfilename function+']@+local variable(s) to hold property value(s)]@\]@\#/last error number resulting from a dialog error]@\%4last error description resulting from a dialog error]@$@folder that open and save dialogs open up to if assigned a value]@]("last folder a file was opened from]@(last folder a file was saved to]@+handle of the window calling the dialog box]@8] filter (file of type)]@&&last file opened (qualified with path)]@`]&%last file saved (qualified with path)]@@2*allows user to open multiple files if true]@h$0default extension when user does not specify one]@]&.last filter (file of type) used to open a file]@&.last filter (file of type) used to save a file]@]9the title of the dialog box that appears in the title bar]@).maximum size of a file name used to set buffer]@'2if true then prompts the user to create a new file]@]4the color last chosen from a color choose dialog box]@(Ethe number of files selected if the multiple select option is enabled]@^ size of the last font chosen]@0&!face name of the last font chosen]@X!color of the last font chosen]@(^#style of the last font chosen N]@%true if font is bold]@P^'true if font is italic]@ type of the last font chosen]@(the minimum allowed left margin]@x^) the minimum allowed right margin]@'the minimum allowed top margin]@^*!the minimum allowed bottom margin]@ %left margin (1/1000 of inch)]@H &right margin (1/1000 of inch)d]@^$top margin (1/1000 of inch)esc]@p 'bottom margin (1/1000 of inch)]@^"(width of paper selected (1/1000 of inch)]@ #)height of paper selected (1/1000 of inch)]@ %0name of ini file used to persist property values]@_)(use ini file to persist settings if true]@ ,,show error message dialogs when errors occur0!,show error message dialogs when errors occurS} p'lm`!,show error message dialogs when errors occur l'nm!(use ini file to persist settings if true p'jmP"(use ini file to persist settings if true j'rm"(width of paper selected (1/1000 of inch) f'tm8P#(width of paper selected (1/1000 of inch) d'vm# Bottom MarginL p'bm$ Bottom MarginX b'xm$ Top Margin p'`mhp% Top Margin `'zm@% Right MarginLib p'^m`& Right Marginrar ^'|m& Left Marginbra p'\mP' Left Marginibr \'~m'!the minimum allowed bottom margin p'Zm@8(!the minimum allowed bottom margin Z'm(the minimum allowed top marginp p'Xm )the minimum allowed top margin T X'm) the minimum allowed right margin p'Vm@* the minimum allowed right marginS V'mh*the minimum allowed left margine p'Tm*the minimum allowed left margin T'mP+-returns true if the dialog was used to assignCrpage setup propertiesew],](, constants]@,ta]X,rt]p,r window handle of ownerta , (~rt set flags    (set initial propertiestsminimum marginsD Zer Select by FileMain MAIN_DOWN B;HtY- ƏYl|#ҋB ` ZOrder &Nothing Selected... ,CP13-3 Outside the Boxqhod of G ~avoid @ mory leakBhmNh@Lhif youB trustAJscope/vb6@ e*.[sh\Hfor.mAF.S@ End MKhe@?we7eAK KJ~'@Kxht in@Uequal7nong @-  !( T !( V !( X !(marginss b !( \ !( ^ !( ` !( paper size d !( f !(structure sizeib  (|ycall api function $^' Rassign function resultLiand set properties  rtassign function resultt 'minimum margins. !!'Z !!'T !!'V !!'Xmargins !!'b !!'\ !!'^ !!'` paper size !!'d !!'fd'A@set the error valueski,type of the last font chosenDa R'mh(-style of the last font chosenxt L'm(-color of the last font chosenDf J'm8.!face name of the last font chosen H'm.size of the last font chosenont F'mhX/&choose a font from a common dialog boxy]/]0]00] H0brintialize arrayt$ $ z'  Li"set logical font structure options  ( B  (yp   (Dr (Ad (ct  (Ty  (ra  llE  ,e L!set choose font structure optionswindow handle of owner/parent.0 , (~Lilogical font structureUn $ (eX flagsl  " 4   $  ( font type 0 (vechoose font structure size  (|ocall apif $Z' b set result  0 set function resultEPl'set point sizeyp ! Gd (j ! X 'F3size of the last font chosene set face name T ! $$ 'HUface name of last font chosen set color !'J(color of last font chosenLiset typex !' R.0 set style !' LEx)if no style is set then use the font typeflags to determine font stylerD L T ! 8ry'NBold' L.0dx'Nk boldfa ! :Typ'PItalic' Lid('Pk italic dRegular' Lk mvarstrFontStyle$ Lid'A@set the error valuesk"exit function before error handlerzph]h0user error message prompt]0user response to message prompt set message promptError #: $  8 $  8 $'  Ty3get response from user if option is set, else abortyI lre    CHOOSE_FONT_ERROR$4'Sd0(k #handle error based on user responsecy  RT RT  RTni0Ethe number of files selected if the multiple select option is enabledra D'm8P14the color last chosen from a color choose dialog boxt 1 p'Bm24the color last chosen from a color choose dialog boxerv B'mp22if true then prompts the user to create a new file p'@m8P32if true then prompts the user to create a new file @'m 3]h4]4]4]45Note: mvarlngMaxFileNameBuffer& should not exceed 254ol set buffer lengths for variablesi$ z >$ $ z' r$ z >$ $ z' 1!set window handle of calling form , (~esset dialog flagsi @%set file creation prompt      ( Kd`     (ik8  set initial directory to open inb &ns * (ied & (1.k  set file nameI  (Shset maximum length of file namee > (ryset file titleie  (doset file title max length > (ne set filter . (raset filter indexo : (l set dialog titlea <cr < (dld Save File (rkp set structure size  (|acall api function $T' bdetermine results of function1.  L !$ ' T E+set last folder that a file was opened frombra $ ' *oset last file that was openedy '2set last file filter Ty !':raddialog error occurredTA@set the error values' set filename to nothingokassign new initial directoryntr *' &assign function resultn ' "exit function before error handlerz0(]4user error message prompt]4user response to message promptHset message promptError #: $  8 $  8 $' ibr3get response from user if option is set, else abortry lpda    GET_SAVE_FILE_NAME_ERROR$4'radk#handle error based on user responseFor  RT RT  RTpnh`iX58the window handle of the form that is calling the dialog8 p',m`5.maximum size of a file name used to set buffere p'>m6.maximum size of a file name used to set buffer ( >'m`p69the title of the dialog box that appears in the title bar p'<m79the title of the dialog box that appears in the title bar <'mp7;the last filter (file of type) that was used to save a fileX D :'mP8;the last filter (file of type) that was used to open a filea O 8'm87the default extension of a file where the user does notb!specify an extension or file type p'6mp9Bif true, allows the user to select multiple files in the open fileBdialog, which are returned as a single long string with file namesseparated by nulls (chr$(0))yM p'4m:Bif true, allows the user to select multiple files in the open fileBdialog, which are returned as a single long string with file namesseparated by nulls (chr$(0)) AP 4'm:*qualified file name of the last file saved 2'm;+qualified file name of the last file opened0 O 0'm8<<the filter property used in the "file of type" dropdown listsof]='replace pipe chars with nulls - chr$(0)t p|$ z$' 2 $ $ z$ zO f $ z$ z'.d8 '.k(m =-the window handle of the form that is calling the dialog ,'m?`>]?]?]?]@? set buffer lengths for variables 4$ z$ $ z' $ z$ $ z' d?$ z >$ $ z' $ z >$ $ z' k>,initialize the number of files selected to 0' D!set window handle of calling form , (~ set initial directory to open in & ( (d= & (k= set file name  (set maximum length of file name  (set file title  (set file title max length  (set dialog flags 4       (d<      (k<set open filter . (set filter index 8 (set dialog title < < (d;Select File(s) To Open (k;set structure size  (|1call api function to fill the ofnDIALOG structure $F' determine results of function  6parse file name depending on multiple selection option 4get # of files selected !$' D"if more than one file was selected D set file name list !$ '  ' +set last folder that a file was opened from !$ ' (set last file that was opened $ ' 0"put multiple file names into array A@d one file was selected !$ ' @one file selected ' set last file that was opened !$ $ ' 0+set last folder that a file was opened from !$ $ ' (kp8d single file name returned !$ '  ' +set last folder that a file was opened from $ ' (set last file that was opened ' 0k7set last file filter !'8ddialog error occurredA@set the error values' set filename to nothingk7set new initial directory (' &assign function result ' "exit function before error handlerz66]@user error message prompt]0@user response to message promptset message promptError #: $  8 $  8 $' 3get response from user if option is set, else abort l    GET_OPEN_FILE_NAME_ERROR$4'd@585k05#handle error based on user response  RT4 RT 4 RT4n44i4H@3allows the user to select a color from a dialog box]XA]xAset error handler84set color dialog options window handle , (~ set result  (d3  (k3 custom colors$ $ (dialog flag options @ D H (structure size  (|call api $V' assign function result  !' B B' d2' A@set the error valueskh2)exit function here to avoid error handlerz02(2]Auser error message prompt]Auser response to message promptset message promptError #: $  8 $  8 $' 3get response from user if option is set, else abort l    CHOOSE COLOR ERROR$4'd0Fk0#handle error based on user response  RT0 RT 0 RTx0np0h0i`0A(the last folder that a file was saved to *'m0B+the last folder that a file was opened from (' m/`C7the string representation of the last error experienced $' mp/D/the numeric value of the last error experienced "'m /D&set the last error that occurred using this classset long error value N' ",translate long error value into string value for property " JRTDialog Failure'$ LRTFind Resource Failure'$ NRTGeneral Codes Failure'$ PRTInitialization Failure'$ RRTLoad Resource Failure'$ TRTLoad String Failure'$ VRTLock Resource Failure'$ XRTMemory Allocation Failure'$ ZRTMemory Lock Failure'$ \RTNo Instance Handle'$ ^RTNo Hook'$ `RT No Template'$ bRTRegister Message Failure'$ dRTStructure Size Error'$ fRT File Name/Title Buffer Too Small'$ hRTFile Name Codes Error'$ jRTInvalid File Name'$ lRTSubclassing Failure'$S+ Unknown Error'$np+3get response from user if option is set, but ignore2the general codes error that results when the user.cancels a dialog box without choosing anything l " NG $   DIALOG ERRORA@4jkp*oh*Dset initial values]E#initialize multiple file name array  + intLoop%'set use persistence property to be true'j,modified by Richard Binning for use with VBAoryset initial property values*show error message dialogs to user if true'llast error default values' "N/A'$$maximum size of the file name buffer+which determines the size of the file namesthat can be saved/retrieved' >/handle of calling window set to desktop so thatdialog will fire in any case P' ,-read persisted settings from ini file if true jSdefault open/save folder is the app path if nothing was persisted from last sessionDIALOGS InitialDir x!$' &*default last open folder is the app folderDIALOGS LastOpenDir x!$' (%default last open filter to all filesDIALOGSLastOpenFilter$' 8default last open fileDIALOGS LastOpenFile$' 0*default last save folder is the app folderDIALOGS LastSaveDir x!$' *default last saved file filterDIALOGSLastSaveFilter$' :default last file savedDIALOGS LastSaveFile$' 2d$Sdefault open/save folder is the app path if nothing was persisted from last session x!' &*default last open folder is the app folder x!' (%default last open filter to all files' 8default last open file' 0*default last save folder is the app folder x!' *default last saved file filter' :default last file saved' 2k mvarblnUsePersistence=true+turn off multiple file selection by default'4default file extension' 6default dialog title' <default create prompt is false'@default color is silver/gray$@' Bdefault custom colors +  "+  $+  &+  (+  *+  ,+  .+   " + intLoop%%default number of files selected is 0' Ddefault dialog filter(s)All Files (*.*)$ z*.*$ z' . .Batch Files (*.BAT)$ z*.BAT$ z' . .INF Files (*.INF)$ z*.INF$ z' . .SYS Files (*.SYS)$ z*.SYS$ z' . .HTM Files (*.HTM)$ z*.HTM$ z' . .Text Files (*.TXT)$ z*.TXT$ z$ z' .default font color ' Jdefault font face name' Hdefault font size ' Fdefault font type 0' R'N'P-minimum allowed margins for page setup dialog'T'V'X'Z$preset margins for page setup dialog'b'\'^'`default paper width and height*'f4!'dox0EIcomments : trims a string at the first occurrence of chr$(0)/null marker/parameters: lpstrInString is the string to trimYreturns : string containing the lpstrInString with no null chars and any spaces trimmed]E"replace all null character strings with spaces' 2 2 0b 0 2$ $ zG $ z 0 2 j 2 ' 2*trim any resulting leading/trailing spacesfrom the string 0$ 6$ 4' ihE:purpose: extract the path part from a qualified file name)parameters: the filename to extract fromBreturns: string value with trailing backslash or original filename<note: if no path part is found the empty string is returned]HF]`Ffind first backslash 8\'assign initial result  'd'kloop until last backslash found  b  8\'  G 'jP assign result  8 $ ' d' kixF>comments : replaces all occurences of one string with another5parameters: lpstrInString is the string to operate onN lpstrRepChar is the character to replace non alpha characters withLreturns : string containing lpstrInString with all occurences of lpstrFind5 replaced with the lpstrReplace$ character>note: this function is used to replace the pipe character with, nulls (chr$ 0) for the filter property]8G]PG]hG]G]G+trim replacement character to one character < G <$ ' <j$trim find character to one character : G :$ ' :j assign instring to result string 0' B%get string length to avoid a repeatedcall to the len function 0'>  >get character from string B $ ' D compare and replace if necessary D :G < B  jintLoop% assign result B' iG1save settings to ini file for persistence if true jdefault open/save folderDIALOGS InitialDir &A@F*default last open folder is the app folderDIALOGS LastOpenDir (A@F%default last open filter to all filesDIALOGSLastOpenFilter 8A@Hdefault last open fileDIALOGS LastOpenFile 0A@F*default last save folder is the app folderDIALOGS LastSaveDir *A@Fdefault last saved file filterDIALOGSLastSaveFilter :A@Hdefault last file savedDIALOGS LastSaveFile 2A@Fk mvarblnUsePersistence = Trueerase array used forholding custom color values roG'determines the number of files selected(if the multiple select option is enabled]pHposition of nulls]Hstart search position]Hcounter]Hfile name string$remove double nulls at end of string J$ z$ z'  J  $ ' Pd0no multiple files wereselected so exit here' zkinitialize vars''L'N'count the number of nulls in the string  b L P$ z'  N 'N  'Lk(account for a single file selected while"multiple file selection is enabled N P G'Nj assign result N' i`H6returns the path from a multiple file selection string]PI]hIget position of first null J$ z'  if a null was found J  $ ' R#add trailing backslash if necessary R$ \ R\' d0 R' k d no null found' k i IHreturns only the file names, separated by nulls and ending with a double)null, from a multiple file selection list]J]Jremove any ending spaces J$ z$ z'  J  $ ' Td J' Tk remove path string T$ z'  T T  $ ' dh T' kX iP 0J:purpose: extract the name part from a qualified file name/parameters: the path:\filename to extract from+returns: string value of the file name only note: none]J]Jfind length of string 8' V V' X0begin searching at last position, move backwardsuntil first backslash is found V b 8 V$ \ 8 X V $ ' z k V ' Vh  assign result 8' i@ JJcomments : opens up a dialog box allowing the user to browse for a folder5parameters: lphWnd = window handle of the applicationKreturns : string containing the name of the folder chosen or emtpy string]`K]xK]K]K2Fill the BROWSEINFO structure with the needed datathe calling app \ ^(.Pointer to the item identifier list specifying1the location of the "root" folder to browse from.$If NULL, the desktop folder is used. ^(,message to be displayed in the Browse dialog Select Folder ^(the type of folder to return. n ^("show the browse for folders dialog ^$j'd-the dialog has closed, so parse & display the2user's returned folder selection contained in pidl z$ '  d $b $ z'`  ` $'  ' Zdx' Zkh dApiPK"true if user selected font is bold N'bm(L$true if user selected font is italic P'dmL8returns true if the dialog was used to assign a printer,and/or print properties]L]Mset initial propertieswindow handle of owner , h(~structure size h h(|call the api function h$v'  'fd'fA@set the error valueskXiP Mthe initial folder that theopen and save dialogs show &' jmMthe initial folder that theopen and save dialogs show0set this property to an empty string "" in order3to force the dialog to open/save at the last folder!which was opened from or saved to l' &mM5comments : get the directory windows is installed toparameters: none7returns : string containing current windows directory]@N]XN]pN]N set buffer'  $ ' call api  $' n parse result n  n$ ' Rd' Rk$assign slash to end for final result R$ \ R\' d R' kiN)read a string/text value from an ini file]`O]xO]O set buffer'  $ '  call function p ~    h$' r assign result r  r$ ' d ' k~i~O(write a string/text value to an ini file]hP write string p ~  h$' rassign return value r' FiH~P%write an integer value to an ini file]@Q]XQ assign value t$ $ v'  write string p ~  h$' rassign return value r' Hih}pQ read an integer from an ini file p ~  h$z' i}0R%read a boolean value from an ini file'0 is returned as false, nonzero as true]R]Sassign default value ' zdP|' zk@|get value from ini file p ~ z h$z'  assign result 'xd{'xk{i{ S$write a boolean value to an ini file'0 is returned as false, nonzero as true]S]Sassign default value -1' ~dz0' ~kzwrite value to ini file p ~ ~ h$'  assign result '|d`z'|kPziHzTRpurpose: returns a single file name out of a string containing multiple file namesreturns a stringSparameters: lpstrMultipleFileName - all file names in a string separated with nullsN intFile - the number of the file name to return (ordinal position) $ ' iyT$parse the file names from a multiple)file selection into the class level array]T]U] U,assign path used for multiple file selection (' R)add slash on the end of path if necessary R$ \G R\' Rjinitialize variables'0remove double nulls from end of parameter string $ z$ z'    $ ' 3&delete file name from parameter stringkv '  b $ z'  R   $  + Kset array value  'increment counter    $ ' G&delete file name from parameter stringdu  R  + k len(strFileName$) > 0k intPos% > 0uouu  x!.ini' h;ini file to be located in the current application directoryx(ui file to be located in the current application directoryt ``0` I`WW0 `  _Dlp! p >l1hp lh0? lh0Z"X "X $dCll"X >d1t/l`"X l`F'P%p! p pz`"X l`cL%7',lz"X >lF<p! p Hp6<, zdL(<p! p p5<U  3'': N,,@:P N<< 6<,_D_Dc0Xht(ldp<,0 8  0   0   0  ( 0 0  <48@@@(The dialogs class wraps the common dialog DLL's directly through the Win32 API so that the common dialog controls are not needed. )H pOpenfilename pChoosecolor pChoosefont pPagesetupdlgpidlpszPath lpBrowseInfopv pPrintdlglpApplicationName lpKeyNamenDefault lpFi     ,!"#$%&'()*+=-./0123456789:;<K>?@ABCDEFGHIJLMNOPQRSTUYZ[\]^_`bcdefghijkmnopqrstuvwxyz{|}~rU q,ap4$I(p$!Tp, |p4,p4,p4,Ip4,Q p9Q,A8pi4(1`p,p48p )I@ p iI8!p yI,!0p($h(A$h!#(#h%(#h)#("h- ((A!h1(( h5 ( h9&(h=i(AhA&(hE(hI&( hM)(IhQ&(hU(hY&( h] (Iha&(heQ(hi&( hm(Ihq&(%`u#(hy (( h} 0(IhY ((h 0(h (( &`Y #(Ih ((h (h(( hy (I h#, '`q0( h( h (I h(( h ( h0(  h((I  h((  h(  hy(  h#(I  h 0( h0( h( h1(,I (` q0, )`(( h0( h 0(Ih0(ha($*`$ +` ,I,`00,-` 008.`$90000$ /`(,I0`,a0(,1`0a00,2`4a00, 3`800,I4`(0(h#(h#( 5`#(Ih 0(h (6`<08 7`@ i00008I8`D y000(89`H 00((8:`L i00((8 ;`P i00##8I<`T i00##,=`&0(>`X0 ) )IqnrU _P8i3B;I6!6q66!66)7i77 8I88 <8y<19Q9991:Y:::1;Y;;=!q==< Y@qAQ@1I)aaJ9AAJ1KJi5 L!BBB@Iq PWWW_____ _    _    _    _    _   _______0 0!  0 !  0 !  0 P"  0 "  0 P#  0 #  0 $  0 $  0 p%  0 %  0 `&  0 &  0 P'  0 '  0 8(  0 (  0 )  0 )  0 *  0 h*  0 *  0 P+  0 ,  0 (-  0 -  0 8.  0 .  0 X/  H qx/ s$ 0 P1  0 2  0 p2  0 P3  0 3  0 5  0 `5  0 6  0 p6  0 7  0 p7  0 8  0 8  @ k $ 0 :  0 :  0 ;  0 <  0 =  h-K< # #*# #*1t2< # #*# #*1p2= # #*# #*1t2= # #*# #*1p2  q(t0F xCPS tCPltC@ ltJqDlpCH lpJqL qX qX C0 q<= CT+CT Lq$,$,^-q<$ ,lq ,l :@,l@4>1tltCx@0lx/t8l/ltCX/5@>1tltCx-@>8l2-@> lx2}@>1tltCxt lx/ lt l<CtxtltCx/]. /o 0#*#1*# /o 2#*#1*#p*12 6_2'@':p3NM@^4p6@g Mkp>k> k> k> / @x`xi0YBp t  D$i OYXLSUDS-C0 @))0 H@  0 A  0 B  0 `C  0 D  0 D  dzcv,kz8; zdv Ip<lphl$ ,l Llh*#d*#`2phd`l  l p ^q\p`Cdd Chh@lXt2hd`XlTpl$ ,l LX>p` Cdd Chh@lXx2hd`Xl4TY\ Chh CppLlT2ph:`Cdd Chh Cpp@l`2phd`Tpl$ ,l LX>p` Cdd Chh@lX|2hd`Xl4TY\Chh CppLlT2ph:`CddChh Cpp@l`2phd`a+pl$ ,l Llpt/pl+pl$ ,l Llpx/pl  +pl$ ,l Llp|/pl      ^ TTTTTTTTzcPhkzT zdPL B #p*#h*#d #`*#X2 phd`XN*#p #h*#d*#` #X*#L2 phd`XLN*#p #h*#d*#` #X*#L2 phd`XLN*#p #h*#d*#` #X*#L2 phd`XLN*#p #h*#d*#` #X*#L2 phd`XLc*#p #h*#d*#` #X*#L #H*#D2phd`XLHD               * 4!i8$( 0 phd`XLHDl0 0E  0 E  0 xF  x@/)ptCtt CxxD2xt)px Ctt CxxD2xt)p Ctt CxxH2xt)p Ctt CxxD2xt)p| Ctt CxxD2xt)pCtt CxxH2xt)pCtt CxxD2xt TYpZ @$ xtP< #h #d*#`pv2hd` kv`kv 1lt qx/pvptpr kv$ktll #hpv/h kv krpr kvptkrllJpr krqx/ (lhd`-% #lpv/l kvkv 1plp !#l"=/lt lp"*1x~lpCxCx/ ,xpl-< #l #h*#dpv2lhd kvbkv 1pl Cp%lp #lpv/l kvlpJkvlp !1xlpCx/ ,xplhd- Jqtltqpltw#(Plt 5 #L"0/L5Pblplt !1x/ltqt Cx/ 0(xLP|- qT qX%C` qd,T,&,^'q(<,T &l(qt,& 1P+lP$4l$lt^(q(?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_;2pl kxpx Jkz简 !' _ J]lt *#pkx8;/p;l(tplh !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_Attribute VB_Name = "clsDIALOGS"D Bas0{FCFB3D2A-A0FA-1068-A738-08002B3@371B5} |G lobalSpacFalse dCreatablPredecdlaIdCE xposeTemplateDerivCustomizEDescriptionThe dia logs Pss wraps ta comm DLL'srectlyroughWin32 API soat con@trols @not ned.OGlicit '*;@programmer: kevin pisarskylast modifi@Sd@V: 12/ 15/01urAAc: encCu^ all funcNality of 9box4es Ccmdlg*.ocx and/or@Hird par"dAileGunnecces+* @p@1visual basic@&terpriedisv6 sp3Methods:a:s es m to invoke]0+A>owuse.o set XpertiB<@lMapi c[ (shopen, fA @- &Pa`7 Dk FA3 GetO FbLibo032.-" Al ias ",A"X (pAa nAs OPENFILENAME) Long,g "#f"Kerr@ini abw E~t Ndrns4oy.]~v?h"iProdIKERNELS n"lpAppaQ~l 9S"#`lpKey&nD^@'Uo0 s etD!S"  xAnyw sRBrneds(nSize*g???WriteAe Og Hz j SsDiѿxory BuffV 0:Pstants 8:v׋ConYOFN_ALLOWMULTIS ELECT&H200N_CREATEPROMPv@PBLEM@KN_CTEMPLP4HANDLEM8XPpER$0 qEXTENSIONDI@FFEREN 4MUSTEXIS1 HIDADONLY4N_LONGS"NOCGEDI N_NO!B CELINKS = &H10 Private Const OFN_NOLONGNAME4NETWORKBUTTON2XREADONLYRETUR-8-TESTFILEC5TE-VALIDA'%OVERWRITEPROMPTVS:PATHMUSTEXIS$dSHA&W&FALLTHROUGHe2NO'1 0OWHELP$1S_MAXA8A@ 128@ 'cants used fornt dialogsLF_FACESIZAo33FW_BOLD70N!3TCNEXxTRA_BLxIGHAh (HPEAVY@ 9R BLACK@ 3MEDIUM@5NORMALREGUxLAR P SEMIA6RD 0 THIJUL-/B#eDEFA_CdSE4NZEGUI_FONb7F_DECORATIVM8F IF_MODE4]kFF_ A#6pSCRI64WISc/`OUTC PpRECIN% QU`TUVPITCaCF_ANLSII&HN&#MaPPL &HeBITMA!yPRINTE>R4P `%EENg> SCALABLERO RUSYBLB&H80WYSIWYG# Q'BOT*(ROr )P8DIB` J DI F 5pEFFECT(ENa$`TEMPLHOOa HAND$2/ FIX*/ FPyeSET+NOSTu/?b< % IMU04p 13ide the BoxVBE6.DLL 4  4S ( u!= &u!= &5!6 .ini N/A DIALOGS InitialDir LastOpenDir LastOpenFilter LastOpenFile LastSaveDir LastSaveFilter LastSaveFile All Files (*.*) *.* &rU~~~~~~~~~~~~~~~~~~~~~~~~~~~I   hwndlpString lpEnumFunclParamcch StartPath ExtensionGetSubslngID strFullPath!The dialogs class wraps the common dialog DLL's directly through the Win32 API so that the common dialog controls are not needed. I pOpenfilename pChoosecolor pChoosefont pPagesetupdlgpidlpszPath lpBrowseInfopv pPrintdlglpApplicationName lpKeyNamenDefault lpFileName lpDefaultlpReturnedStringnSizelpBuffervData9The height of paper selected during the page setup dialog8The width of paper selected during the page setup dialog +The bottom margin for the page setup dialog (The top margin for the page setup dialog +The right margin for the page setup dialog )The left margin for the page setup dialog "The minimum allowed bottom margin pQ0The minimum allowed top margin  The minimum allowed right marginThe minimum allowed left marginOReturns true if the page setup dialog was executed and properties were assigned5Font type of the last font chosen: bold, italic, etc. !The style of the last font chosen !The color of the last font chosen %The face name of the last font chosen %The font size of the last font chosen .Choose a font & style from a common dialog box M^ oAcadBlockQThe number of files selected by the user if the multiple select option is enabledYThe color last chosen from a color choose dialog box or the current color that was chosenvIf true, then when a file to save is specified, the dialog prompts the user to create it if it does not already exist.lpstrInitialDir 2Retrieve the qualified name of a file to be saved.KThe maximum buffer size used to hold a file name: default is 255 characters M]sName y @9The title of the dialog box, it appears in the title bar <The last filter (file of type) used for the save file dialog<The last filter (file of type) used for the open file dialoghThe default file extension chosen for the save dialog box when the user does not enter a file extension.*If true, allows the user to select multiple files in the file open dialog box which are returned as a single long string with file names separated by nulls (chr$(0)) strProjNamedrvPath`The qualified file name of the last file saved during the time that this class was instantiated.`The qualified file name of the last file opened during the time that this class was instantiated0The filter (file of type) property: use just as in the common dialog activex control, filters separated by pipes, as so: Text Files (*.TXT)|*.TXT|All Files (*.*)|*.*|DLL Files (*.DLL)|*.DLL<The window handle of the form that is calling the dialog box Y Nxy1x2y22Retrieves a qualified file name using API calls to open the common dialog box. On any error, the error is placed into the properties lngDialogError (numeric) and strDialogError (string description) lplngNewColor"Fires the choose color dialog and returns a long value representing the color chosen. The parameter may be used to pre-choose a color.fThe last folder (directory) that a file was saved to during the time that this class was instantiated. DQ0X FQ0hx1kThe last folder (directory) that a file was opened from during the time that this class was instantiated. 7The string representation of the last dialog error code /The numeric value of the last dialog error code lpstrInString lpstrFileName lpstrFind lpstrReplacelpstrFileStringlphWnd vNewValue lpSection lpIntegerintFile strFileName y// y//( y/ 08 0Q0HCancel CloseMode QqQ0 y/q y/1rCurrentListBoxFirU~| 4;I6!6RRaX TJyUUUUI)VWq=WX L>R9SaSS XIXi3AY1\Y\\\iY\\ iMYY@ZAZ!i5G HiZKO \9A+HL$ ,L lH=x)LHLx QLplptD'4 4:$:' :: t D >Fp:` PLt D >LH F8(:' : :' :xh`1X/H6(4pP8(ht 4 >1TpR=lXF$'4 4::`1X64lTJF25ElT 1L>L#^pR2L&lXkRlT #*#L*1X2L'4kRlT  1T54JlXlT*#*1X/lTJFlTJF5ElT 1L>L#^pR2LalXF$'4 4 kRlT F:`1X64'4kRlT  1T54lTJEVlXF$'4 4 lTF:`1X6 4[VlXF$'4 4 lTF:`1X6 4=lXF$'4 4::`1X64Lt @ QL[dd`c\d @l\VlXF$'4 4 d $>F::Ld (>LFpP:8'( (:` :Hd 4>HF:h`1X6(4pP8(hTlXF$'4 4 d $>F::Ld (>LFpP:8'( (:` :Hd 4>HF:h`1X6(4pP8(h d`>|lX*F'4 4:$' :::p:`P`1X64pP lX  CX tDP lX   X@ Dd`htTpdlx`X\pLHLH4pP8(hD+dh#$$ d%h ld=t)hdht 4Qhp`p D l` =/`Dd FP%ht h Qdo<%Lt 4L,)hL5<A`ht @h ( '>`F< & `1lh6< 4ll'lMP@< ( <`1l5<llCx lpoP%ht 4h,hpD4xlpt(`hdL< X )Cxx 1t2xt $ xt+hl#$$ d%l lh=x)lh'h:X*%lx l Qhtl;'''$Tt l>TFD +F4 ,6 D4$-0ptx,TlhD4$$K -p@PTX `\p $.lXp L.T />P1t2\XTcp 0LTL <1lT=2HT)D@H 2l@l8'(DM`@H 2(ltF]35((lDi(H 2`1x6( Dg8 3TTHT Cx-t$8 xpLtH$\XPT(+LP$ ,P lL=t)PLPt (QPlPt QP\P F<%\ QP`P` \ QPTP(<%T QPX`48LPX ,P dL $8 ( l4 !*#0204)PL8V48LPX ,P dL $8 ( l4"pf/4)PL8I48LPX ,P dL $8 ( kfl4 1x/4)PL8LH0 xTlX`thp\ 40PL8+hl#$$ d%l lh=t)lhAdlt @l ( '4>dFT$ &$`1pl6T4$4lp'pMD@T ( T`1p5TlpCx-X0xpt$dlhT4$M`P i00##8I<`T i00##,=`&0(>`X0 ) )IqnrU $`(`0$`$`(!`/(I`0$q`n,`   (`  $!`n PWWW_____ _    _    _    _    _   _______0 0!  0 !  0 !  0 P"  0 "  0 P#  0 #  0 $  0 $  0 p%  0 %  0 `&  0 &  0 P'  0 '  0 8(  0 (  0 )  0 )  0 *  0 h*  0 *  0 P+  0 ,  0 (-  0 -  0 8.  0 .  0 X/  0 0  0 P1  0 2  0 p2  0 P3  0 3  0 5  0 `5  0 6  0 p6  0 7  0 p7  0 8  0 8  0 9  0 :  0 :  0 ;  0 <  0 =  0 `>  0 H@  0 A  0 B  0 `C  0 D  0 D  dzcv,kz8; zdv Ip<lphl$ ,l Llh*#d*#`2phd`l  l p ^q\p`Cdd Chh@lXt2hd`XlTpl$ ,l LX>p` Cdd Chh@lXx2hd`Xl4TY\ Chh CppLlT2ph:`Cdd Chh Cpp@l`2phd`Tpl$ ,l LX>p` Cdd Chh@lX|2hd`Xl4TY\Chh CppLlT2ph:`CddChh Cpp@l`2phd`a+pl$ ,l Llpt/pl+pl$ ,l Llpx/pl  +pl$ ,l Llp|/pl      ^ TTTTTTTTzcPhkzT zdPL B #p*#h*#d #`*#X2 phd`XN*#p #h*#d*#` #X*#L2 phd`XLN*#p #h*#d*#` #X*#L2 phd`XLN*#p #h*#d*#` #X*#L2 phd`XLN*#p #h*#d*#` #X*#L2 phd`XLc*#p #h*#d*#` #X*#L #H*#D2phd`XLHD               * 4!8$( 0 phd`XLHDl0 0E  0 E  0 xF  x@/)ptCtt CxxD2xt)px Ctt CxxD2xt)p Ctt CxxH2xt)p Ctt CxxD2xt)p| Ctt CxxD2xt)pCtt CxxH2xt)pCtt CxxD2xt TYpZ @$ xt0 G  0 H  0 I  0 0J  |- qT qX%C` qd,T,&,^'q(<,T &l(qt,& 1P+lP$4l$lt^(q(?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_Batch Files (*.BAT) *.BAT "INF Files (*.INF) *.INF "SYS Files (*.SYS) *.SYS "HTM Files (*.HTM) *.HTM $Text Files (*.TXT) *.TXT5 4L H 4 h \ 4   4h  4j  Autodesk* 4  2CP13-3 ObjectDBX Explorer " Files To Search pj).`gĤIx8<3 @ Select Folder 4i fĤIx8< 4 ( 4 H 4 h5Ғ3@ `3u4ZI?2^% 8Tptx|]4^MTYPc*װ,V !O5 OEM"%b+.1f[IT0JCk;mC@n>SEDǑcolp/­C ULLOP6E\J XVE8NTFyn]pRG>B*  SOCOLO|G?=0YYoacommon er(rorCkR_DIA3AILU:R$FFINDRESFmSGENERAL~C r/sIZxERR_xLOA^}3STRY S LOCK OWMEp}I9 qANOSTANCTE oKfnP@uupߖPCtvOOpe#>zbrow!foldpinmc`BROWSEINFO < h.7pidlRootszDis0y  0z#culF± fn lParamiIm7U '??E~;Dl.3o,.ev.nFromQ"əSTo_ n 0o `axo nCopie71;?A`n/311lprvh $hz4lo arrayJ `rh4 mi^p}2AP\'Ff geta< fP(2<55"u2P&variable(s)prrpR| HŒM@B(qualifiwith pathFB`blnAllowMAple@8eSelectABoolean 'Gows usoÅm sstrDefa@ ,ExBdC e xtensAwh@does not specify on̚uTdTOeA/C/CKjV t= a.@c9@Tit`N(?MtQNRr@appear*n#Tcbar.Max6NameBu ffSc!maximum size6 $on@et b+ CCreP`pA`A=hn psCcc"!newCClol!cBBbchosAĦ`Ges`7Num!!sW@h-! !4s s\ YDis en ablednFontSA+ - c{=@ Fa\ce!7mEcf` b4`? ! *c&DStyKTs_@EIsB D ,f!`)bS+!fIt@ciBT`qa>_@intMinMarginLef]Integ4'minB4"P":lAmRilghrRaW Top O =E t0{Bott`*bc!: H (1 /1000GinckPO'_JP`?'{O'*z'PaperWidz@w(pFHe#,h=a5FE-Y` siP]ty s. ;UsePerpence@` v%setCb0ShowBMessag@fsmf ccuArublXic kc Lanln.(ByVal vDataX 0'zo _ U = Ep , G/ R(t   = o   oa b# 1 &%rtyߌ 1k /+ uB=3!= Atbu;.VB_D(= "Tp@Ѻidu1kp3s" 'OIp_D  "KooQ_Y"OB ?t?pYS?7th = mvarlngPaperWidth End Proty Public@ Let intBottomMargin(ByVal vData As Integer) Attribute d.VB_Description"The bU mV for tpage setup dialog" ' ˯ XGj)e86A$Toptop@QlP (ON NdMRig\htMH TNr $OOH,PHP Q Q$RLef(y(l (ka o(' _( x/(a ('g'¡MinP?")minimum allowedd+c,dl++/,_?0+0@//@/b/.g.` ?.3.@-!D+i- -P_oFN+SX+0YO.eryC)Cl.d ?~II=ooEX[_UH/.in! //0. P "Lm.FuncblnPSѦ6Boolean'ɬI"Rrn s trupFf "> was execбd a0p3ies were assignedsrO԰dustoDQ'(1Dim psdPAGEaqSETUPDLG`ResultLong1'constantsC PSD_INTHOUSANDTHSOFINCHESp&H4MARGIN2IN1 'win dow hple of ownerD .hwndOA HWnd !1' fla~g2 E O~r 5 V ztu '+MJrtG.4ͿB i-t}0/.M?nrOCcc A' .  sk   r p size) ptS`.xW& e5.yYHeAơ s1Bctup?MlSAPLen($ cY api ftL ;&` >@E) 0'assign function @resulthnd set propertiesXIf lngRL& > 0 THhen2  blnPageSetup = 0True5;minimum margink mvarintMinMBottom>psdPAGE.r.N 8pLeft6 R8igh TopP 'ubwXr`o] O6- 4pa@p sizwAb@PAWidth5ptS .xD lHe ` y AELlsʒFasLastError 'the evaluIfA EF Pub lic Py G@8FontType() As Long Attribute.VB_De scrip= " t ofJ A$l) f@ chosen: bold, ita, etc."''Y H&@^WEC%SstrStyldSi@ sCZa It0Color:5"tc{Z2 3B t@*"3FaceNam3tf n4%K5?55"jNh95 5!TEaChoxiBooleaG4 a&$jfra commdialogxCjeu1Dim cfFONT!LlLOGa%O 9%QSC` * 32a1On XGoTo CHOOSE_q@_ERRORe' p Pb arraK_$Sp$(31) & Chr$(0!^0icalsucture oW! .lfW%gFW_DpCAREaaChar@d`DEFAULT_C@HARSETZPitchAndF amilyFF! Or PITCH6o0js[OutPrecis= OUT_RECIS:QualitEQUALITYQ1F0qbŝ= 1f ` &<()  Nexң 4(8tr'window@ handlf owner/p0aren").hpwndO lHWnd1rlpLog8VarPtr( G#flagr!$CF_SCALABLEONLY FORCEQ+ EXISTDNO(OEMASBOTHEFFECTINITTOA5STRUC5USESTYL( w" n q R@EGULAR"4T|YP/01Ol:$NLen(w@4l apiA"B7A7Zá"Ȁ$zQPCA Select C 1 IA<0 #KK " Nex1pC0\ \aa Pub`^perty G BlngNumFiles! ed()aLong Atbbute .VB_DescriH= " numbbof f J by}NAmultipleHQenabledb'A X_ @ &T\0\ !(%'L'Color(ByVal vData_'V'&c "l chn 9Bta ` d{ box currentthat wasd' a%"$B]"DJbH?D6E)3t Areate`8m4Boolean4L5t,aYHn w a. A0_save Tpecifiedb[udsW0c np,Pdoes @not aldy ost..'o a newB | A/.c'_ t? D[  \_o"LUMq SP!LN`ame(OH8lpgInealDirQ9C~MN˼"\ie@,LquQ n O b0M` d䆏E TitPofnDIALOGOPENFILENAMEWKhlL[  'Note:" 3Max%Bufferhould'exceqX254bR lengths iY0Chr$(0Space$(t1tV window `lѝ mQ.hwnd(Ownj=EHW#ABAo`lder$4.* 2!Q? 1 p1Q1maximumT5aC>.n:4/rt1Dao eE=qS 6/" p 4 e  tso $32@"dexA'n` Ingil&!PQ(> '#y Ti3tle$ Elsep ofnDIALOG.lpstrTi = "Save File"`nd If$'set Xucture sizStr8S0PLen(6)@  Fcall api functionlngR@esult&:G etName FDdetermine r6s PIf S> 0 The5C e0$:frimNullding>$<dlast folder that aD f waGpened fromX mvar=1Ln","  Vn to nothg Eassign new init# directory aIDir`Sf DDūi  oA a'exi 0befoCJhandler EA F GET_SAVE_FILE_NAME_E`RROR: DimxPpt As 'usmessage pintAnponseInteg@k# .A3Oca!">#:" &$()`vbCxrLf2DBJcag Al Bif op! is , e abort` blnSho*wb M"s MTr,ueh#%Ms0gBoxrd, vbA! RetrPyIgn9+CFrO, "U7"GBzDZAme _xEND]FDhbason#!#Sel` Cb>%a I b+b!+ c% Nexb4a#_a" ` fPublic `4perty L EHWnd(ByVal vData]Long0'window d*ofe`rm#J֠!J D cE tMax@BufferAttributeڎ.VB_Depscri#_ maximum b" z!dShgj!U: defaw P255 cDhahersb'!qvdnX7BX /Q/@U!)Q w R!O =y!Y%ro%NSX&O"Atb'#& box, cappe<(bar #!,ge A1, 55(R5  _5>$#{ > z4k"(/type)4 |QC'4Q5a(K ~DO@0GF1gqSP2n#9RG wa&DO  ( &Ff « dlD=$'!ElseyIfvt lngHWnzduL@Owin 1 handėform`L`!Aa?c#a'ddp4Fun`\/ ^ 4%uN(O`plpInilDirGI2l $Reevda Quo API  vo F_: . On any error,R b.a3y4iDBxEq (numeric)dQ'P1dWk)A6e6Tit !e ofn@DIALOGOPENFILENAME Res0( p GoTo GET*____ERRORuffЊlengPths ) pixablc;!8leTrue(;O:AB=Sp@F$@(2048);; t=eB_e_ >?/a0$! pMa*x Br&tr! 1aEiC3izщ`umb`A[ad7A0z)0 Numsed&<(BAm&%.hwndOwn=U0MA"$"!! dirory7iBY$!0@!""H 7=CbFolder$A5G\bqapqRmaximum 1a:.nT%Lenn/rtQ?!/7 3(1B ' ; K $gflagb?>>R0OFN_EXPLOR@ER Or TENSIONDIFFERENTJMUSTEXISFNOCHANGEDIALLOWMULTISELECHIDADONLYO$G. _(3@1 (a?#) ) dex+n 0 Then 'parDseLe n3 de:ding EYmEiplelecopf!/mvarblnA`llowMYScTrue:;5 156A@{Tlist]5 |%u$Hf)INL $2A<Blast folderb =t a|=o|ed fromG A_L B+Path+ z G ExtractN( ;x@^0put `s inarrayPs u El e'om !V@)s@5@fI`n'>z; (;_zazk*If9J I) Eh0# /Cil@k&.!`Indexaa9dialog error occurrG8!@USetqE2zvalu4est$\"" ""tFnot~h`#QGn$ewPIitP ddiruorIInDir/DYassign׆/CJhQ10'exiPbbefQrrdler5aEQFT GET_OPEN_FILE_NAME_ERROR: Dim!P0fpt As P 'usi#message >pBQp[0ponWpInteg P !/@!E"#:H" &Q $()vbCrLfo4Dr%31rwэ u  Bit, eQeabor"'Show2MssP.̔%MsgBoxQl , vbARetryIgne+@Cr% , ""b?3 me _END|.c#$7basp`Q]ԢCz% bI c? '5 i[ Nex21 //0 3Public ChooseC@olor(Oal lpqewbA13Long) Attribute.VB_D`escri!"FEspe c\ cPGQaXre1msplP NŀnpPent:Pc0sen.  `AXmay bea.dΠ-Ra."'ow ;22a bor\@cc COLOR1CHOOSEQQ*lF1B@~LOn 5 GoTo _#- d<`wind8ow .T .h@wndOwnJ=HWn΂P?UrgbT= 07:/=[$&'custommElpC'7VarPtr(m qGB(0Rflapb'qACC_FULL!b Or RG BINITANY'Z K T!#(ccCOLOR) 0'assign function resulthIf lngR<& > 0 Then2@ mvar8Color& = .rgb`LDhooseP p$Else,-1sSetLastError 'set the evalues(End If  'exithere to avoidhandlerEF CHOOSE__ERROR: Dim strPrompt As String 'user.messapge pintponseInteg S!} E $"#:" R&R$()vbCrLff@Dialogg\'f4 :if opis e, es` aborŐAb@lnShowMEs@*TrueF%@MsgBox(6, vbAARetryIgnot+Critical, "m m m"ºme Ow_ENDBx̑CDubasxed ɂ?EDHSelect C I2 I=0 #> ÃFK Nexdc\! abPublic ^perty G`B3!sSaveFo@lder()a  AtcbuteQ .VB_DescriH= "I l| fB (dir`*ory)~at a file waM 2dzduBotiI;ththQc` sinstantiated."'i  ?Sek#&$ 8&Open?&!{?&:&o `Ww&sX& &2 ('g+'?'tAHhMt& :rep@xentabofLeCPd~codNe#exdiencedd!!; ta( Lorivp: Sub (\H;occurr.us0>U@"l <{ aCommDlgExtended k&1'transl `o*A&6'fЋSO)ccCDm_DIALOGFAILUREQ /`)H" F`ailur,F@INDRESrFi kourdcee ns GENERALCO8DESo a General CP6s_ZINITIZATION yIn`aliz=o LOAoroLoad{oqSTR"r礤 CKO_ Lock ҊHMEMALLOCC "Memy Alloc/K NOHINSTANC0qNo Ir+H"] 8OOK%%Ho ok2:NOTE`MPLAT/ - T8emp1DREGISTERMS"?O I RegisztMǟ`)UCTSIZ_ Z )uctD Siz,e RP F>R_BUFFERTq$ FNam e/TitPBuff Too S0mall/"FI@LENAMEEt~rOE  INVALID In@]` SUBCLASUa//"Sub1c oIUnk0nown ۾ V 'get response from user if option is set, but ignorethe general codes error thault@s when"elcancels a dialog box witho^choosing anyth2If mvarblnShowEdMessagr= Tr0ue Tf* a,lngD^.& <> CDERR_GENERA@LCODES6 0MsgBA1str$, vbOKOnly +Critical, "DIALODG (OR"aDir$*]R S0ng("S"` aw?hpJLastOpenF?ail`TaCa?lC "@NF@f!#DJ#1!s?$@` "" F/S@p/ ߡ(Hd#1D GT2_n^_3Jn4eojEl#C}';P;g;m ;r;8C8s94A,8_ _t55a851bY:@y6 wӉ/H0E q/HtrQ on" lt!-)&`//** : s n'e=g'turn ofP9selqAllow6MxS cFa/E 6ensfaPDXExt5zDytitlFxPTG*cxдmppȀw"CP= c":col1ilver/ga IC1RGB(192, EN ustRmp 00qvbBlXackA1WXhitW2Red<3Green4Yeq5BŜ6M0nta7XCyaL8A161 vb ođnumb0$)@rNum(s(ew(d%7(s2%0% .  (*.*)" Chr$(@& ~"   @BatchGBAT7o@r INFgo@oox SYSaoes (*.SYS)" & Chr$(0)H" mvarstrFilt er$ = @& "HTM >(/TextWTXTWW'default font c0olorilnTgF C &kvbBlackface na\me F Ns ""sliz:S 910typ T REGULAR_FONTTYPE HblnIs!hBoldgFa ls!Ital ic 'minimum allowed margins@Mr page setup dialogEintMinM! Left@254#IRighTopBottom+pre@$Ϧ)C*@50I).--M&paper width and h^eAAGPHcB$110G%EWB= 8D,  ESub Private Function f@TrimNullString(lpInC As C)Gbcomments : ms a   at @the fi` occurren!`aof c/n A1kebk'paFr bs: ifs D to "r]KrN!ckaRng+ wi*no bch ,any sp`r 1 !med aDi$m *osaLonX!'repfe_ ac sB  xDo While & <= Len +0$)A If Mid$,e0, 1)@BThen=32d #%+ 1Lolopa'= 'y j!>lead/trailg'fr@qAc4ANaLQ$(R9j7$) XEW IYExctaPath&aXYpurpose: r@9"Hp  ra qu逡fif!7Ż X" @V% A!B(DW:%fvalueTF(bslash or@i$aljlenotif ZG@ffou`~.empt\6b C\ஂP\Integcr?_A?&(" fi#> $%(BD(10*!E%$, "\"''assign ;t`b%Q.> 0 ,q t qEk[OIf! 1'l, until t G1V9  `2_U; %Aq1s6c"[5/"5 v$CT "/h!eq8 eRQC VJ7@$&fDϯggXgllffs fon0s/rXza2hffJ;o0y1son2 2J  5e`?ebnvalphapnqbs>"@AlP3B BF 9> $d DN$ Eth fs5usO apipeAv~ pf0LAPQ1rprQty1Fq]HengQ"JApscii"fRes&2m4!%9{%) > 13>}ft8߁{RU*$/fG>$BWA?ndpW1"?W{Aq@ e$w 'get%l`ipavoi6dРPe3'c1+A  %qQU@ QF $\qo1TpS9b GW  Q "w,e6@K! wecessar,^2p%!1 qN '1a?1\5Sub Cps_TerpP("savTettings to ini file for persistence if true If mvarbl nUseP= TD ThenN 'default open/savlderilteralls;Integ x1z &$|w!rFWHe8q5XS@XXdTY ;UVPVXVBVeGVEVEndA'ԁ'erasrray use@Ao'h@custom colvalueE marr@RGBSub Private Func tion AGNu@mberOfADsSelected8(lppA$vAs #) @LongBde 3mineonb of7xs s b`tmip B xenabledaDim tPosA='posÀ nullBdStarts"search E Coun+c!_ bd!'Dname 2 a 'remo@do u  at Ne?in% = In (1, .$, Chr$(0) &%)a ಥ> 0ư AB8$ Left$m8@ %- 11 Elsno &3s wer8 so exit hfVH&1! EANA'a!a'iCize @:%= bb;A&B70 9b7 tL'Q0inG0Do WhDL% ) 3f,g,3(@U}12 &`d+ f`!'%LoopacCa s`PjRF5w':49?+7%( 'Ap+`(Len(`%)}a) q2assign re~sp>"DA" N 7"J fPMCPathJzJ;r returnEcJp fr TaK/=EpE1AqgetGQr@(}@lD@2&A?n '`UaF wasЏunT bA _AgUA'addail@ backshQnecessa ryC Righ0G`,F <>0 "\"0Oth uN SI  y+IfQ 'Ma""Q7*t@ *L`**t*ponlyJ 0  If Mid$(lpstrFileName$,, 1) = "\" The"nh fZEx`tracthLRightengPth -X)JExit Functio_End lIf =:E1 'assign resu20lp+ߴz#,CBl 5psP5#@, m±DD 1 1|c,~& E(ysBs5)h`e1QfinZ ؠNT&a &aۑ ,A MLri-ReadS@ Key ADefa0{Grp` +/ text "W fq:PAR f (i*qRq,ӣ Ow1_*zeR*5T*Rbe!*nm $+B Qp$<%., GK3 'assign result If liRp& > 0 Then` fstrReadString$ = Left$(lpReturne2,)tElselpDefae|$)nd  E Functio Pri vate  flngWriteSe- As pKeyName )Long= 'bw, a zv/text value to an ini fillDimy $"!3,= ]jPro%Jd$_!mvar+IniFAo$X<&ކE[[Integerj[ F [ZATBnYB_pFCC5rnl Tri8m$(RAD)&)BR o lşoBp* qjp;t38rCb8fr) > 0HDPos%'0@ @Sub  qp1@~LastOpen&((:'Dc@ãB"LPLLLLLP<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<0Xa . $ X(N0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}!(%\%%% %"4H@% ` x+8 ,!0h x+  %)( t A % p` lk<  `P h+ i  ,P` k $ i 0Kmi  ȳl ,`Xtk("%) 'n%,`k@&%)( p% tHm% pha  % Pl% h% d %,@`tk,@%)8 %,0` oDD%) tD% !tro% #pam(% l% 'h(C:%,* `tkxp0 \%) %,, `kH `%) % /t((% 1pH%`2l@4P\ `6X`8T,< `pdkL x)C (%i  tP% /pp(%`2Xlh"8x@, `oP8P 00 tp0)@ % d%`l `% \ % @x (  % %0p@0PP ( 8 x( p X P p X% h (%P P h h 8 8 (@l 8 8 p P H `t`tH@ l H` 8 (l@h Xh 8Xph  `@z  X@%`t`tH`tH`tHp @Pp x@l X@h p@d @@` @\ @L @< @, @( @ @ @ hP0( ( x((%@(t @t p@0@(@`( 8@%  xX@%p@@ ` @` @\ @XO @TO  (@XD (@p4 @$ @ @ @ @ ( % x(%(t @t 8P ( % x@%@hd @d @x` P@\O x@XO pOb@T (@D (@(4 @@$ @X @ @ x@ hh(+ `h% +Hx(%h(H,t @t 0hXp(- % -xx@%@ xp< @P @0L HX@HO X0x@D @04 @2 @` 0@ X@ @H @  @ yext@( @,* `tk4 %) @%@@ @X @ @ (8x`(@h<`<xP(O x@hO (`< H@d h`(+ % +hx%h @t x x   h!( ( % x%`@ p @X @P T h ( nV@x PO H P @LO H!x @!< @8 @ ( @! @0! @ @ X!x P @ P HT0 'A*\Ra*#f5*\R7*#6*\R0*#1c*\Ra*#ec$*\Rffff*9[411ceeeb*\Ra*#c2*\Ra*#b0*\Ra*#e3*\R1*#e3*\R0*#19*\R6*#1*\R7*#5*\Ra*#5b*\R7*#5*\Ra*#58*\Ra*#5b*\Ra*#5c*\R6*#55*\R0*#1b*\Ra*#f4*\Ra*#f4*\R0*#13*\R1*#86*\Ra*#5c*\Ra*#80*\Ra*#59*\R0*#1b<  "  0 B8 @P "X `h B px B  $"v(0 B8 @P BX`hpx  "! ( D  8 @ P  ,`   B  B! .0`p "6H    6 X hx  B  B !4( `)x   6  ( B 08@HP ` p    B  B (08 (@!h   H   .X 0 8@ HP x]@P]@ .svcoH .ersm(0A@op.ixh Gzj  B@'z80Just pass it back out ! ! ! ! B@t AkiP .i]0]P]p]] Get list of availble Xrefs  !"For Each acBlock In AxDbDoc.Blocks !.Do  l $  !6 B@k l( )0s& Return list of Blocks in this drawing,0 ! .dH.k8i0 .#li@]]]]  !(T' Get list of available Block references !." & " &!(AcDbBlockReference(, Simple way to avoid duplcates in collection & &!6 B@k p0 Return list of Block references in this drawing< ! . .! 8 B@ 8 '8kXkP .< !@'4 6 4 4 6$4 0B@< 6 0.,<i]8]X]x  B< ( .$<'2kx  2 B!'2k@ 2'<i0( .*3;fi]]x ]] ]x]]p" Get list of available AecEntities  !s;w !.0  t .dt3 !'en rs  !6 B@ k 3\h :\p ! .rogdH.k8.i(' Return list of AecEnts in this drawinge Attribute VB_Name = "ObjectDBXAECDocumen@t15" Bas0{FCFB3D2A-A0FA-1068-A738-08002B3371B5} |GlobaBlSpacIFalse dCre atablPr@edeclaIdCExposeTemplateDerivCustomiz EOption 0licit  P"& AxDb As AXDB15Lib^.  t .VarHelpID f-1'BlocBkList*Scri?ng.DDicCary @Sub Class_Initialize() Se!P= New(End @ ub@9 Property GE():E 6D< /TerminTE/Cle0anup 'FunB@> 0Rai `,.SourcecDesSLonCleSaaNextc$C' Return -! in `s drawB CouDk!(%V\ EA aL$mn #/7b&c7'pwKk 8L8 .?8!n q)Blk3"-x$3a%;;O300! O8l2 NV1Ac ?4u9 `v3 `' .rlpAcDvbD"4RmR8esu@0' Sie way to`Foid duplc{sa0c\\D:t ߱:R :v0 ou PÚ68bq>>2>p>ivQg?Ne|w @P@X Base.!ityCBA str o_eB‡˘& o_Lay8out#XRExternalReference On Err@ResuC' Q lisf avai0labl@aitxies ǹE(AxDbDoc.&D uF= 5.B,A RGDhLe=ĐȮA Noř Is =@h@P'G.Add , Handl+)fAlqw('d{f0#Os in this draw Cou`> 0 jcjgEls#dH!F1 ? turn(oBlck),@End IfNxextg{F"" d.0*I@ = F@unctio_ Public ! aecs()Colle<h2'HxME< $(04)L))!) )L(!0!8()@(!H!,P)LX> <LLPLPLLL"LLLPLPPLPLLPL<<<<<<<<<<<<<<<<<<`TcXx\b`dhlp8Hi `p (8% RxX% Wtx% [ph% _l % c`h% fd % k`% o\8%`r X`tT`vR @`xz8|~@L Rt% p %`l `k N+`` k= Rx% t%`p+`kXWI `t L$% H(%`D+~`` 0k(pi  R(t`% p,% l0% h4%`f  `% \% _X8 % cTX%+` $k  Rt%`p N0 % P`p\k;;`X@p@H@X (@ @H @X DO @p4 T@$ @ (@CompObjKp @ @ @ @@ @0 @ @` @ @x X@p @ ` @P @L @H p@ 8 (@8 ( @  @P  @h @ @@ @ @ @ @ @( @@x @h @@ d  X (@`O  ( @\  1O (5@ Hh0 `~xrU @n;I6!6RRaX TJyUUUUI)VWq=WX L>R9SaSS XIXi3 iMAYiYYY@ZAZ!i5G HiZKO \9A1\Y\\\\\+HL$ ,L lH=x)LHLx QLplptD'4 4:$:' :: t D >Fp:` PLt D >LH F8(:' : :' :xh`1X/H6(4pP8(ht 4 >1TpR=lXF$'4 4::`1X64lTJF25ElT 1L>L#^pR2L&lXkRlT #*#L*1X2L'4kRlT  1T54JlXlT*#*1X/lTJFlTJF5ElT 1L>L#^pR2LalXF$'4 4 kRlT F:`1X64'4kRlT  1T54lTJEVlXF$'4 4 lTF:`1X6 4[VlXF$'4 4 lTF:`1X6 4=lXF$'4 4::`1X64Lt @ QL[dd`c\d @l\VlXF$'4 4 d $>F::Ld (>LFpP:8'( (:` :Hd 4>HF:h`1X6(4pP8(hTlXF$'4 4 d $>F::Ld (>LFpP:8'( (:` :Hd 4>HF:h`1X6(4pP8(h d`>|lX*F'4 4:$' :::p:`P`1X64pP lX  CX tDP lX    X@ Dd`htTpdlx`X\pLHLH4pP8(hD+dh$ dh ld=t)hdht 4Qhp`p D l` =/`Dd FP%ht h Qdo<%Lt 4L,)hL5<A`ht @h ('>`F<  `1lh6< 4ll!lMP@< " <`1l5<llCx lpoP%ht 4h,h pD4xlpt(`hdL< X #Cxx 1t2xt $ xt+hl$ dl lh=x)lh'h:X$%lx l Qhtl;'''$Tt l>TFD %F4 &6 D4$0ptx,TlhD4$$K 'p@PTX `\p $(lXp L(T )>P1t2\XTcp *LTL <+lT=,HT)D@H ,l@l8'(DM`@H ,(ltF]35((lDi(H ,`1x6( Dg8 -TTHT Cx t$8 xpLtH$\XPT(+LP$ ,P lL=t)PLPt (QPlPt QP\P F<%\ QP`P` \ QPTP(<%T .QPX`48LPX ,/P d0L $18 (l4 2*#0204)PL8V48LPX ,/P d0L $18 (l43pf/4)PL8I48LPX ,/P d0L $18 (kfl4 1x/4)PL8LH0 xTlX`thp\ 40PL8+hl$ dl lh=t)lhAdlt @l ('4>dFT$ $`1pl6T4$4lp!pMD@T " T`1p5TlpCx0X0xpt$dlhT4$MDiݾI)&ÀI"GƠK &|BY2_^aSCg.Hߧ:-OiK(j3ݥN_`Ggi D 0@ dwg0sܰKh>@ TCAOfAŽ1xF9$K?9BCBt8e $kA0+'l@jtB4v% aF 0 Files to search . ..C @B( *KzK6\qGGУ  4k  4 0 4C P 4V p ,Select File(s) To Open Error #:   0GET_OPEN_FILE_NAME_ERROR 4  StyleName: [S 4w }LmOp`5  C:\Program Files\ABS3\AXDB15.TLB AXDB15Lib yLLLhu!= &]`VIA_ c'u!= &kUBpEeF]Xh{ _ AcadDocumentIterateAllWallsDBXIterateAllWallsDistance @(x`5ʉO`W*2qx$ZD Entity Handle: W[`5%5OՊ  Height:   Width:  Length: Jm 4f h  Add_refNoteReturnProjFullPathtestpaincaptiontestShowDriveLetterShowDriveLetterReturnCodePaneCaption ProjFullPath fF OĦ References: ~F GUID: Type Library - 1Z$3K6\- **************************************************************************************   Project: `F .dvb | - -------------------------------------------------------------------------------------- Description:    Project -   4` 4 eFkF [ 4x  acad ACADǣ 5OՊ C:\WINNT\System32\wshom.ocxIWshRuntimeLibrary ZZZ NMChFHd|uJzM{$? y@%PKt'5OՊ bFdFnFvF .dvb  - GѾn  *6Aܯ=jDocument}LmOp`5CLEANUPOpenDocXrefsGetXrefs BlockRefsGetBlockReferences BlockNamesGetBlockNameCollectionReturnBlockName%^I`5 H48}LmOp`5A_]}TnQ`5W[`5()`5 Handle $AcDbBlockReference $coBB$co`` *MODEL_SPACE *PAPER_SPACEdiKxfM}f4@% 8grm FiTs\ystdptx|  Bold Italic RegularUserForm_Activate "CHOOSE_FONT_ERROR 4  4 8  Save File 0GET_SAVE_FILE_NAME_ERROR | $CHOOSE COLOR ERROR Dialog Failure *Find Resource Failure *General Codes Failure ,Initialization Failure *Load Resource Failure &Load String Failure *Lock Resource Failure 2Memory Allocation Failure &Memory Lock Failure $No Instance Handle No Hook No Template 0Register Message Failure (Structure Size ErrorK,N6NEŒ '- @File Name/Title Buffer Too Small *File Name Codes Error "Invalid File Name &Subclassing Failure Unknown Error DIALOG ERROR 4  X 4  x  -1 0ZGmܯܫKr-}]eM^a0p0V  0V,= H` x ,( X` & (0 |    2  B  (+0HXDhA(4 " "   ( +0 'H ;` x B     @  6  & 0 8 BH  )  '  (            B ( 0 8 @ H P X ` h p +x       4` 0V( &IX    B   + A (4   0 x ]@]`]]]]]] ]@]X]p x!T.R R!\.Z V Z #,'$zV************************************************************************************** 8'$z | PrrU q,ap4$I(p$!Tp, |p4,p4,p4,Ip4,Q p9Q,A8pi4(1`p,p48p )I@ p iI8!p yI,!0p($h(A$h!#(#h%(#h)#("h- ((A!h1(( h5 ( h9&(h=i(AhA&(hE(hI&( hM)(IhQ&(hU(hY&( h] (Iha&(heQ(hi&( hm(Ihq&(%`u#(hy (( h} 0(IhY ((h 0(h (( &`Y #(Ih ((h (h(( hy (I h#, '`q0( h( h (I h(( h ( h0(  h((I  h((  h(  hy(  h#(I  h 0( h0( h( h1(,I (` q0, )`(( h0( h 0(Ih0(ha($*`$ +` ,I,`00,-` 008.`$90000$ /`(,I0`,a0(,1`0a00,2`4a00, 3`800,I4`(0(h#(h#( 5`#(Ih 0(h (6`<08 7`@ i00008I8`D y000(89`H 00((8:`L i00((8 ;`P i00##8I<`T i00##,=`&0(>`X0 ) )IqnGzj  B@'z80Just pass it back out ! ! ! ! B@t AkiP .i]0]P]p]] Get list of availble Xrefs  !"For Each acBlock In AxDbDoc.Blocks !.Do  l $  !6 B@k l( )0s& Return list of Blocks in this drawing,0 !rU _eIIqz=y<caddi3QcyccaJ9AAJ1K di5Ae) yee=IaJ fIiff!gg hqhh9iijqjjjYk ll mamm n;I6!6q66!66)7i77 8I88 <819Q9991:Y:::1;Y;; LQnn<q=Y@qAQ@1! !B1oQoIzqz@Iq PWWW_____ _    _    _    _    _   _______@ k $ H pz/ -$ @ k $ H pz/  $ H qx/ *$ H qx/ *$ @ k $ H pz/ -$ @ k $ H pz/ n$ @ k $ H pz/ *$ @ k $ H pz/ t$ @ k $ H pz/ -$ @ k $ H pz/  $ @ k $ H pz/ o$ @ k $ H pz/ -$ l q( q4 qL q@ qH qD q\ qP qX qT q8 q< Tq$,$^q<$ lq l Qpz lL l@ lH lD l\ lP lX lT l8 l<apz/ l\Di0 |CProgram $i l|CCommon F IIH qx/ *$ L- Cx/ (x H qx/ l$ L- Cx/ (x H qx/ -$ 8\KZ+ # #* 2 q    q q   d l f q@ ^qH qPpl <q<,<pp^ql<p< llqpl@pzlL : dqLlL F@&TYlM@`0 0`Ǹl250 lT kl lh 0- kl     kl   ( ;  Ppz/ ] o0 #*#*# o #*# *#p*1,2  602'':N00,M@@^p*60 SMk*pk$ SQk< QkQ / \pi0 |Cype LibrT"y C: 31tt l|/ lt l< Ct|tltCx/] o #*#*# o #*#*#p*12 62'@':pNM@^p6@ Mkp>k> k> k> / @x`xi00,|C430-0000p 0t C -$i 0,|C00046} 0 @))@ l $ @ l $ H qx/ $ Ll Cx lx(x L- Cx/ (x H qx/ $ H qx/ $ Ll Cx lx(x @ k $ H pz/ $ L- Cx/ (x L- Cx/ (x l Cx9 1dh>dlCppx$>h1t2pld@lt #h #p #l*#d=2plhd9lt #p*#l #h*#d2plhd lt,xtplhdH qx/ $ h-K< # #*# #*1t2< # #*# #*1p2= # #*# #*1t2= # #*# #*1p2  q(t 0F xCPS tCPltC@ ltJqDlpCH lpJqL qX qX C0 q< = CTCT Lq$,$^q<$ lq l :@,l@4>1tltCx@0lx/t8l/ltCX/5@>1tltCx-@>8l2-@> lx2}@>1tltCxt lx/ lt l< CtxtltCx/] o #*#*# o #*#*#p*12 6_2'@':pNM@^p6@g Mkp>k> k> k> / @x`xi0/,|Cp/eh/e`/eX/ep H/t 8/ (/$i /,|C /e$e/exe0 @))hK qX - q`7 q`T@^qd qh $qT,T,,^q(<,T l(qP,lP l` qx qx/] o # *#*# o #*#*#p*1$2 6s2'': N$M@^p"6{ Mk"pk k k / dL,i0>\|CecXArchBTi e\|C*\G{0CF50021$ 3-0 L- |Cx/ (x L- xCx/ (x L- pCx/ (x H lqx/ e$ ^!qx "p9lt[ #p9ltx $p9lt %p9lt &p9lt 'p9lt (p9lt   )p9lt & *p9ltC +p9lt ` ,p9lt} -p9lt  .p9lt /p9lt0 0p9lt0 1p9lt0 2p9lt0+ 3p9 4pl1''$:T5NDDpMd@ 6D$x$< D$#dzcv, kz8; zdv Ip<lphl6$7 ,8l L8lh*#d9*#`2phd`l  l :p ^;q\p`<Cdd=Chh@lXt2hd`XlTpl6$7 ,8l L8X>p`>Cdd=Chh@lXx2hd`Xl4TY\?Chh=CppLlT2ph:` Cdd@Chh=Cpp@l`2phd`Tpl6$7 ,8l L8X>p`ACdd=Chh@lX|2hd`Xl4TY\BChh=CppLlT2ph:` CddCChh=Cpp@l`2phd`a+pl6$7 ,8l L8lpt/pl+pl6$7 ,8l L8lpx/pl   +pl6$7 ,8l L8lp|/pl         ^D TTTTTTTTzcPhkzT zdPL BE #p*#hF*#d #`*#X2 phd`XNG*#p #h*#dH*#` #X*#L2 phd`XLNI*#p #h*#dJ*#` #X*#L2 phd`XLNK*#p #h*#dL*#` #X*#L2 phd`XLNM*#p #h*#dN*#` #X*#L2 phd`XLcO*#p #h*#dP*#` #X*#L #H*#D2phd`XLHD                * 4! 8$  0 phd`XLHDl- qt lt J1(Tlt Q #P #L02PL5Tl l lt #PO/Pltqt R#P S1x/P/ 0(xPLT- Tpt kt2ktpv;pv ktzkv Tpt ktuktpv= kvkv U1x Cx/ (x -J& U'JH U' Cl Jptvktcd(Dkvll Q 1h5D lh0lkvO vddjllCx/80xlhDx@/)pt<Ctt=CxxD2xt)px>Ctt=CxxD2xt)p?Ctt=CxxH2xt)p@Ctt=CxxD2xt)p|ACtt=CxxD2xt)pBCtt=CxxH2xt)pCCtt=CxxD2xt TYpZ @$ xtP< #h #d*#`pv2hd` kv`kv U1lt qx/pvptpr kv$ktll #hpv/h kv krpr kvptkrllJpr krqx/ (lhd`-% #lpv/l kvkv U1plp #lT=/lt lpT*1x~lpCx Cx/ ,xpl-< #l #h*#dpv2lhd kvbkv U1pl Cp%lp #lpv/l kvlpJkvlp 1xlpCx/ ,xplhd- Jqtltqpltw#(Plt Q #LT0/L5Pblplt 1x/ltqt Cx/ 0(xLP|- qT qXVC` qd,T,W,^Xq(<,T Wl(qt,W 1P+lP$4l$lt^Yq(?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_%PP%<%<%`6`* H / Hh p8 `VCommandButton1MXHN;I w 08 CommandButton1_Click Pa2(wVhM+m+a8L Cleanup Hs8QC$ĝ KMQP 4O$LNNgTb@kRJK5iɎe"}hI62'5;ݒOV4VD9@E3Q%*/4MSMREF触X4xe(F`R'+D|I1/dRAl 9{ 0  / 4 H 4 h*eTNFڣh2g>H8A]&>f. .If Len(d) > 70 ThenGA9.In@`Rev(Left$, 69),7", -1," extawarNe%C= &A. :!!o= Mid+ 1hElsD7 & 3End8 If& Whxile/,!D= , ,uC7Space(16!,9j%&_0'<=FNEO8 M9Wend_Eil(7-!>wG w'Debug.|nt$4 aRa.TR.Typ!vb0;_rk_LibAe;;^y'21#D^&IGUID a[Bd"2 @ rary -rdFullPath+'MsgBPox "v :R 40D"se(}R.4bdw___T tR'( V UBiz1""Q$N.'/ߕڄg7 @ "5P3s'.DThisDraw._HNSub7Funcs!$!! )_mEAs$FHa$ A` veVB sUA<>!S&;E.LbVs9)e c@(MainWi ndow.$, \25](F,c(8"[")pDѨ{`A(a !+testp cT # "acad[.S' ShowDeLetterOO_%Z*_%4B,W%"ACAD"TShowDriveLetter(oVBAP.FileName) End Sub Public Function drvPath) As String  On Error GoTo_HandlerIWshRuntimeLibrary.'k _Class.Set .=cG/IcolesÁICollzA 9CoberLoÁH-=N.Enum0 "'x the uswhic(h l‰sy have mapped to C6dDAF@}J$= ,1 !.* -Step 2k If (I) =DThenH @ DExitFHAIfNext S"@rr:B.0Clea"vbNullReturnCodePaneCapA(strProjx݁EVBIDE0.VBE1CPe P%d;dPWinwindowgintPobIntegi~@AVBA{ |APF+Componen}Cf!c%= App`a,%C`= V2 MD w8Q sV V BtCCCs(1E' C.A@vate#0 hInC((1,CMoPduleF.C6. dK, K& ".dvb", vbT@_are) 0> 0 o$== ?-"qO `s`` .Left$!on, &a ~E~MtMAVF{@z( pCOUps_ehx$AE T@hisDra`&g&.S= !Mid!E.Mainsq;25A(F,W8"["~)xS qL:B.0Clea"vbNullReturnCodePaneCapA(strProjx݁EVBIDE0.VBE1CPe P%d;dPWinwindowgintPobIntegi~@AVBA{ |APF+Componen}Cf!c%= App`('+C#< 4O$LNu!= &NgTb@kxNgTb@k 4O$LNME@[LSS6"<4q??32231@ (qz4)QE3i3 @ 4i5F 1~х JQ9AA1H<19H9GQGIG HI NOAOOiMPiOK PAPPAwIXP!لD)4/Y 81rI w` <Q0!"y0`0 `   @ 0y10`I D/99/ aW W   W        :l%,X! X @XX! X XX! X X+'8:lNHHX! X X6H8+'8:lNHHX! X X6H8  D$  XH8(_Hlp! p >l1hp lh0l " X >l1t#tMX@H H(8]t5H F$p! p l$iHtMX@ !  )p 5H _H>$p! p l$iH !  )p 5H(p! p p+Cllt/lp! p Lpz$l$c2'(lkz>lFHp! p Hp6H( zd{ lh0" X " X  $Cll" X >1t/l$" X l$p! p Lp'X%p! p pz$" X l$c7'(lz" X  >lFHp! p Hp6H(8'''(lz" X  >lFH" X 6H( zd|(Hp! p p5H lt0Y3'':8N((@:XNHH 6H($'HtMX@p! p Hp5Hlp! p >l1tp.''(:8NHH@tMX@ 6H(_H_H6$l$#l*#p p @2lp(,Xht,lp H(l x%hl! l lhl*Xl! l X(H]3l5X4Xl! l X4! 4 )l45X (Xl! l Dl5X.rhl! l lhlc0 rMH@l! l Dl0*,l! l l,x $k*/,llx 4Qlt ltc[ t,l! l X>,$'d':N@:HX8::: /$l6X8d t rd0 c=x,xt< ,$l4X8dP t" X $ltqx/  $ -K3"X Mh@" X X`1x5X/bP TT lPqLT<'''8H TT ,>HFX T6X8 +/ (x$HTX84Kx Js(l M`@P  P:@ ]@5PK  *'  !*FP "1x5P lx=  lx#0lx$0;xM`@P  PF@0( ]36P0+'''0 lx*FP" X 6P0 lx*#^%/Q+'''0 lx*FPt$ 6P0 &  lx*# H'k/+'''0 lx*FPt$ 6P0c'P "1x5P (iXt$ $lVrt$ $lcV3PrM`@t$ +lP`/5P rd  c=tb  lq<'''0  ,>FP 6P0 u0xt$P0. qdld  qhlh`* Jldl MP@@  @`1`5@plhqdlh l`FPl/ <,l`@@  $ !`)$* +Q`[\tX, lt- lt=-x lxT(4%DT T-Dq0(%T T-plq,(%T \-\Xq((%T \-HDq$4l$l(l,l0--l-X-D4d6Dp\HcT x .x -x -x -dB9`)$* /` (0'':4N@1l *#*#2*#l*# *#3*#o#*#4*#o#*#*#5*#l*FD 2  `6D tX,#<$\XTdtxlXD  `Dp\H4$ c t\, lt-  lt=-x lxXPX -oP1`(0%@X T-@|q,(%X T-lhq((%X \-XTq$(%X \-D@q 0l l$l(l,-|-h-T-@0d6@lXDcXx .x -Px -x -dH 9 6 11l*#*#2*# l*#*#3*#oP#*#4*#o#*#*#5*#>#*#7*#l`*#*#*# 8 2,  t\,$<$\Xt`xd#|hT@ @lXD0X.J \L<(, (B9 9kl5/NX(l <xK :bt xx ltqpx<'''<l xx ,>lF\ x6\<  x$ $@  @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ 0   \ @X @ H P TO p  Ph `  0H 8 @( @ (  @ @ p  @ 1@ _]  @ @ # 8`@tx xx@tt'A$*\Rffff*2J411cebc9488 hX XAttribute VB_Name = "ThisDrawing" Bas0{8E75D913-3D21-11D2-85C4-080009A0C626} |@GlobalSpacFalse2'[BrQ}J( 4:d4.FRFZ 1 0P}NL|5'8"%djLe]rEM#'r)>BϋpQgBtė Q 0@)6IafTBYE'*BOaCHNjPXYBZ'K$U8 q 0" _]  @ @ # 8 dCreatablPredeHclaIdTru BExposeTemplateDerivBustomizD2xx@tt'A$*\Rffff*2J411cebc9488 hX XAttribute VB_Name = "ThisDrawing" Bas0{8E75D913-3D21-11D2-85C4-080009A0C626} |@GlobalSpacFalse dCreatablPredeHclaIdTru BExposeTemplateDerivBustomizD2 @ 8@  @ 8@  @X @TO O P`H h8 @( @  @ @  @ @ h @ @ P4 Hx t @d ` @P L @< 8 @( @$ @  @ @  @ @  @ @ @ @ @ @ @ @  @ @ @ @ @ @ @ @ 0PP J+ 0iD4EJ+^֠%Q(MtEaMc`ϦB;v# 0 P 8*h_hB\/ l1hp lh0l " X >l1t#tMX@H H(8]t5H F$p! p l$iHtMX@ !  )p 5H _H>$p! p l$iH !  )p 5H(p! p p+Cllt/lp! p Lpz$l$c2'(lkz>lFHp! p Hp6H( zd{ lh0" X " X  $Cll" X >1t/l$" X l$p! p Lp'X%p! p pz$" X l$c7'(lz" X  >lFHp! p Hp6H(8'''(lz" X  >lFH" X 6H( zd|(Hp! p p5H lt0Y3'':8N((@:XNHH 6H($'HtMX@p! p Hp5Hlp! p >l1tp.''(:8NHH@tMX@ 6H(_H_H6$l$#l*#p p @2lp(,Xht,lp H( x%hl! l lhlo*Xl! l X(H]3l5X4Xl! l X4! 4 )l45X (Xl! l Dl5X.rhl! l lhlc0o rMH@l! l Dl0*,l! l l,x $k*/,lclx 4Qlt ltcX t t rd0 c=xT,xt ,l4X8P t" X $ltqx/  $ -K3"X Mh@" X X`1x5X/bP TT lPqLT<'''8H TT ,>HFX T6X8 +/ (x$HTX84Kx Js(l M`@P  P:@]@5PK *'  *FP 1x5P lx=  lx0lx 0;xM`@P  PF@0( ]36P0+'''0 lx*FP" X 6P0 lx*#^!/Q+'''0 lx*FPt$ 6P0 "  lx*# H#k/+'''0 lx*FPt$ 6P0c'P 1x5P $iXt$ $lVrt$ $lcV3PrM`@t$ +lP`/5P rd  c=tb  lq<'''0  ,>FP 6P0 u0xt$P0. qdld qhlh`* Jldl MP@@  @`1`5@plhqdlh l`FPl/ <,l`@@  f$ !`%$& 'Q`[\tX(  lt) lt=)x lxT(4%DT T)Dq0(%T T)plq,(%T \)\Xq((%T \)HDq$4l$l(l,l0--l-X-D4d6Dp\HcT x *x )x )x )dB9`%$& +` (,'''-l *#.*#/*#l*# .*#0*#o#*#1*#o#*#.*#2*#l*FD 2  `6D tX(#<$\XTdtxlXD  `Dp\H4$ c t\( lt) lt=)x lxXPX )oP1`(0%@X T)@|q,(%X T)lhq((%X \)XTq$(%X \)D@q 0l l$l(l,-|-h-T-@0d6@lXDcXx *x )Px )x )dH 9 3 1'''-l*#.*#/*# l*#.*#0*#oP#*#1*#o#*#.*#2*#>#*#4*#l`*F@ 2& 6@ t\($<$\Xt`xd |hT@ @lXD0X.J \L<(, (B9 5kl5/6X(l <xK 6bt xx ltqpx<'''<l xx ,>lF\ x6\<  x$ $lx\<<@8   <D܏Y٭NbV< JCP13-3 Outside the Box with ObjectDBX_cx&EY(EMbUH得A܋Uv NvbH(ExxSVhOP@ Q 0 Skipped   because it  2contained no Wall Objects ՔL(#-W,O7oTTmdHzMk9xwN8~t%UVͲC=Sh(UIKc