ࡱ> Y V$ !"#BU&'()*+,-./0123456789:;<=>?@ACQEFGHIJKLMNOPRSTWX[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root Entry F:9Workbooke+ETExtDataJ_VBA_PROJECT_CUR"pӢpӢ  \pycj Ba=  ThisWorkbook=m:/8c@"1[SO1[SO1[SO1[SO1[SO1h[SO1[SO1" N[_GB23121[SO1[SO1>[SO1[SO1 [SO1 [SO1$[SO18[SO1 [SO1h8[SO1[SO1,8[SO18[SO1?[SO14[SO1 [SO14[SO1[SO1[SO1<[SO+""#,##0;""\-#,##05""#,##0;[Red]""\-#,##07""#,##0.00;""\-#,##0.00A""#,##0.00;[Red]""\-#,##0.00i*2_ ""* #,##0_ ;_ ""* \-#,##0_ ;_ ""* "-"_ ;_ @_ W))_ * #,##0_ ;_ * \-#,##0_ ;_ * "-"_ ;_ @_ y,:_ ""* #,##0.00_ ;_ ""* \-#,##0.00_ ;_ ""* "-"??_ ;_ @_ g+1_ * #,##0.00_ ;_ * \-#,##0.00_ ;_ * "-"??_ ;_ @_ /\$#,##0_);\(\$#,##0\)9\$#,##0_);[Red]\(\$#,##0\);\$#,##0.00_);\(\$#,##0.00\)E \$#,##0.00_);[Red]\(\$#,##0.00\)0.00_                 *  *   / , )    - +                P P      $    ff7  /   ` a> * +    >    ,  -    9  $  .  .  1  ,  1  5  3  4 8 8 8@ @ 1<@ @ 8@@ 8@ @ <@ @ 8@ 8 @ 8@@ 8 @ 8@ 0@ @ 8@ 8 8@@  8@@  8@ 8@ @ 8@ @ 0@ @  8@@ 0@ 0@ @  8@@  8@  8 @ 8@@ 8@  8 1< @  8 @ 0 @ 8 @ 8^ĉ!20% - :_eW[r 32&20% - :_eW[r 3 eQeQ!40% - :_eW[r 32'40% - :_eW[r 3]]!60% - :_eW[r 32(60% - :_eW[r 3  lʑ lʑ!60% - :_eW[r 22$60% - :_eW[r 2 h 4h 4 fJTe,g fJTe,g hh!ʑ'`e,g 5ʑ'`e,g "h 1h 1 #h 2h 2!$60% - :_eW[r 12 60% - :_eW[r 1 %h 3h 3!&60% - :_eW[r 42,60% - :_eW[r 4 'QQ ({{)hgUSCQ40% - :_eW[r 62340% - :_eW[r 6!?60% - :_eW[r 62460% - :_eW[r 6ccXTableStyleMedium9PivotStyleLight16`& ~Tgbl'YRNXTDyO[`Q  [ ^ ;N b XTyY TQu eg?el b ] \O US MO S L Rb TNbM ,gN@bkXN NOo`w[ gHe Y gZGP ,gN?abb1udkNuvNRTg0 b TN~{W[  2022t^ g e!#  O[g`Q [gN t^ f[ S 7b M| [ g ` Q  [gNbՋ[g`Q [gN ldkhN_$NN0 $   %+)  dMbP?_*+%&?'?(zG?)zG?" dXXRQ?RQ?&U} } `}  }  }  }  } @   @ @ @ @ ?@ ?@ ?@ ?@ @ @ @ @ @ (@ @ V@ @ @    @AAAAAAAA B BB BB BC DH B BB BE B FG^ DHIJ B K JG^ B B B BB L B B BBBBBBLBBB BBB BBBDHBBBBBBBMNB BBI KJ OI KJ I J I KKKJ B _ B P QQQQQQ` B B B B B B BBB BRBCB S SSS BRBCB I KKJBRBCBI KKJ T UVVVVVVa W X YYZ L X YZ L! LL ["\\\\b #]]]]]].(dRThNVL4d...4V>">@<d           G !OqQRVXT-NqQZQXTvQ[ b(b(222ggDSheet1   !"#$%&'()*+,-./023456789:;<=>?@ABCDEFGHIJLMNOPQRSTUVWXYZ\]^_`abcdefghijklmnopqrstuvwxyz{|~ @c A. ')5VBApӢpӢ{|1{|2dir1yxME (SS S<N0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}@(%H@0]cxAttribute VB_Name = "1" Bash0{FCFB3D2A-A0FA-1068-A738-08002B3371B5} |@GlobalSpacFalse CreatablPredeclaIdC@ExposeTemplateDeriv%Cus tomiz E )NxME (SS S<N0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}x h@%@@p]c " ophڰAttribute VB_Name = "2" Bash0{FCFB3D2A-A0FA-1068-A738-08002B3371B5} |@GlobalSpacFalse CreatablPredeclaIdC@ExposeTemplateDeriv%Cus tomiz E P Sub Class_Initialize() End u0* pHd VBAProject4@j = r ]c J< rstdole>stdole h%^*\G{00020430-C 0046}#2.0#0#C:\windows\SysW ow64\e2.tlb#OLE Automation`EOffDicEOficEE2DF8D04C-5BFA-101B-BDE5EAAC42Egram Files (x86)\4 2007\OFFICE12\mso.dll#Microso(ft 1k Ob LibraryEMSForms>SFrms3 D452EE1-E08FZA-8-02608C4D0BB41-FM20.D,LLH-B# ,/;#1$mItAHt00}#0Bt# ;0 t<398F17AE-8E2A-4E7D-9B03-C0E0D51CAC1BWfd@@SgA900W8<.4C^@MSWORD.OLB+1# ~ ")sThiirkbookGTsi LkbokT2` H1%-,",vJ""+@1G{|1;D2F? 45# ( CMemoryDCGRM m7yDC`2C/`Sheet@ASe.etA2Ϣ.:**2*2*2*2/ `/-6N`@mainGamain &2/ R-/'2!3eAsa@vePicGBs v&P c 26CClipboPardG@@DC@ipcar-'26QGlobal owhich replacthe intrinsic with enhancedfaA܀ and opA`s.H oa 0-bjEcw w=cP e lqps h tsij naqd[pqf3ato n`1pjin`E..A!E녯% P bgatG0lp6qa@2 s An element of qs collP, 3offers[bout a speci  available onWe$P AeUeP}etoCc l,if@rQ^Vupa p0cuf0c0 1vuia&Aanupt!ep1M=Eiis?qTiqXq$8t+$&?+ $&@+ $&A+ $&B+ $&C+ $&D+ $&E+ $&F+ $&G+ $&H+ $&I+J+$ $(K+ K $    ,  B@B  ' ~'@ B@* ɣA@,o]  . 0 2 %6%8!:!d'4 4$>$<'4 4 $>$<'4 4$@'4 4$B $>G 4 4 $'4j 4 $> $> $> $<'4 4'&i8 F . 0 2 H%6%8!:(do  N  L ,i R'Pzxkp] ]X R.$X'T Z$Z$T$\ 'V$T$\ Z$^ G V 'Vj V V 'Pzk V$F$@'Pip]]]0]H]` 'd d$B\G d\ 'dj .jpg '' d  $f  ' _ $F .jpg ' !h!j  %hB@H !lB@n !h!j e %pB@H !lB@nd@'(z0k( `!r.^ ^ d  A@t `B@v.^ '(ix]Scripting.FileSystemObject$.z x z%|n "m'fdp'fk`iXf4$%:A@i4$%:A@e7:f8$%:A@e9:f10$%:A@i7:j8$%:A@i9:j10$%:A@c6:e6$%:A@e11:j11$%:A@e12:j12$%:A@e13:j13$%:A@b14:j14$%:A@b16:j16$%:A@e3$%:A@g3$%:A@d6:d7$%:A@d8:d9$%:A@d10:d11$%:A@h6:i7$%:A@h8:i9$%:A@h10:i11$%:A@c5:d5$%:A@d12:i12$%:A@b13:i13$%:A@b15:i15$%:A@o 0]]]]]0$ $>$< $>$X'   ! ]`7l?''     $$@  '** ******  ?'**  !Gyj E. Pet  !(~o8 H *  "  %!'LastRow= A@,o Attribute VB_Name = "main" Public TR As Integer Dim dmPtnewXN Word.Docu0ment@App @ation Sub D oit()/i,@ j, r0 filenwSngDataPathW Buf(75) xls htksheePhoto' = Thisnkbook.p<+ "\pic\ F=putBox("ĵĿ¼", " ·Bc:\dd\""}If #""9en Exit@ Sub Left(, 1) <>BRPSetc= CreateObject("ȁ"'docapp.VisiblTruejCQ= CPs("ɲ.Activ@ 'r0@Range("c2").End(xlDown).Row + 1 H Cells.Fi What:="*@M_ SearchDir1:=xlPrevious, HOrdeRrABysH p j&= @FX@$"*.B5Do` hAYo[s.OpenE~ MoA@x= - :2#j@2)-@."3GetText(1, 2 4@= 46@ E 7 , 6853n9l10-'ְh1$ald$ 'n%m%,~1%@ & @1=:*&@J&5, @ 2b"5@"b#7+62# 8, @93 3103  3 KȠְN3Ccl #1>,?3*#q2(C3*#"#*i@Jh 4&:i 4Z JPZ#'Z5@    Z%  5w 5 5 5 5+5    P? 6 6 6 6 6@?     1PK 7  7, 7*< 7:L 7B= Save2#, &A`>For i`1@ To 75Q V c(+i+riN@ iClosjpx LoopQCQuipMsg "ɣ@ FuRnPonvrLong, cШ+* Dte^mUq2=.$Ta@s().(r.DReplace(, Chr(7)`1_poTrimP@Right#!1` ThDL`)P1{Ot3 + p  ! E` 0"stC#pAOM` @S  ".*!+4"0G Q d.0 Month+`Then A- 1T2< 0 A > 150 0"GetA= ""Trim(st "\"W 1;@|+ = CB .jpg_i% 0 Wh) Not ReportFStatus + s=iP_"Smi)" W enN8dmtnew.InlineShapes.Countɑ (1).SelectC3DocApNppyElse/#[E\et Q= L.`uacbs \JPGZ1 +E/CCl|S zo   !  hl L)6nGdiplusStartup8pnGdiplusShutdown\$GdipCreateBitmapFromHBITMAPHGdipDisposeImage+yxGdipSaveImageToFileCLSIDFromStringxRRRRRRRRME P@d@@@<<<<dh0hHh`(xhh hh3 W((dH@****%h`wanthlxbitmhinat hj/ ( How%+  i@)`h%i+$ i+0H iPipin+x i+0 iPip)%i+@ iF)8% t55)%ii %``` p%  %@@]c(*\Rffff*07635d074e\0(*\Rffff*07635d074e\1(*\Rffff*07635d074e\2(*\Rffff*07635d074e\3[ 0 8@HPX` hpx  H H  H H  H H "08@H P hx          B   h    :     0 8( 4H         ,  (^^0^H^`pH^^^^p^(^H^`^xph^^pH  P@]]](]@ ʼ GDI+l (bitm  $'inat  Ӿ GDI+ ͼ/ ! $'% s]X]x ʼGUIDʶ&{557CF401-1A04-11D3-9A73-0000F81EF32E}$ A@  ý (j !  Quality  õQualityGUIDʶ&{1D5BE4B5-FA4A-452D-9CDD-5DB35105E7EB}$5dA@99l $9q ͼ    $  $' GDI+ͼ A@kP GDI+ A@k( ܱͼ  B@8qkoAttribute VB_Name = "savePic" PrivapType GUID Data1 As Long"2"Integer(3(4(0@ To 7)8Byte End d tdiplusStartupInput\GVersionHebugEventCallback Sup@pressBgroundThreadExternalCodecsWEncrParVNumberOfValue+_TF1rr.Raise 5, , " " &I"*Sub1Y  q   9 i i   VBAProject ThisWorkbook1 CMemoryDCSheet52mainsavePic CClipboard CClipFormat CClipFormatsSheet1F4C:\Program Files (x86)\Office 2007\Office12\VBE6.DLLVBA  A0F5C:\Program Files (x86)\Office 2007\OFFICE12\EXCEL.EXEExcel !I@0FC:\windows\SysWow64\stdole2.tlbstdole aPL-[DR 3C:\Program Files (x86)\Office 2007\OFFICE12\mso.dllOffice Ai`.E .`M 4C:\Program Files (x86)\Office 2007\OFFICE12\FM20.DLLMSForms IIqp9*}Nd:\asd\Excel8.0\MSForms.exd YI F6C:\Program Files (x86)\Office 2007\Office12\MSWORD.OLBWord a DoitGetTextSetTextk FSaveDataGetAge SavePhotoReportFileStatusAjust AjustCellFFgdb rU~~{ rcindstr  doc__SRP_1 }=__SRP_2__SRP_3 ZCMemoryDCZVr0c0databirthnamepathfilespec  DstLrU~|  >rU $`0` aq(((@`aq0(((=0` ((0(!` 0,I`!900(q`Q0$`,`=q$ `n)Z>rC)"2cCreateCompatibleDC"<CreateCompatibleBitmap"h(SelectObject"TDeleteObject " xGetObjectA8&GetDesktopWindow(8GetDC8ReleaseDC"4DeleteDC"T GetPixel "t@SetPixelsel"`BitBlt8GetSysColorl,OleCreatePictureIndirect1xRRRRRH RME( $SS S@`@ d` i<i at+@  i dm+B@@ i `triDiF+H`` i iD l6iF@iJ+L iNiDegiFi& i(@mpiP`iRiTifiV+X  iZ+\ `,, )^ %)b%if)hon%nhp(exhr@htXdlhvphx.dhzh|ll`H  h~.dhl h exh0 hdld` hx llh h ll(    %b bP b bC`C 0 ``e p  A il  nc%,!P 0 i A ine,! i e  P )p %   %,! ++%) n%  e. %`no ^X % hx% l.%@Lof`C Axi0oniP)p$%,!(ii.ipc$%)  $% Ah i ,! i  AH(i,!i ,! i ,!phHi ,!i ,!(i ,!hi ,!i ,( iHi @L !!`` 0ixP%" bb b( bx x0 ( HH   P `(P p h( `x    %% PH x PJH]c(*\Rffff*03635d074e\1(*\Rffff*03635d074e\2(*\Rffff*03635d074e\0 F L BP  L L LX 2 L0 88H pH xH H H HH H H H H H H H   (08@ HPX`hpx   ( <8 &x <"  0 (8H  Xh  x  $  " 0 8X &h  & " $ $0 X x    <  < " `h  0p $ VP X B` h p " x    B   "  & &    $(  P  ` p  x .  B          & H  h  x    ,  .  0  *8 h  p     .  $   ( .H x  (     "    B  8 " @ :H 6 4 6 80 0h : B "  B  (8 <@ & <B B  B  (8 B@ HX B` hx B  <  <B 8@  4P  "  "(0  ,8hp &   ( , *( Xhx  ( *(0 " 8 ,@p  &     00  "H p   .F *********************************************************************< Copyright 1997-2001 Karl E. Peterson, All Rights Reserved http://www.mvps.org/vbF *********************************************************************E You are free to use this code within your own applications, but you00E are expressly forbidden from selling or otherwise distributing thisgr, source code without prior written consent.7\OF *********************************************************************2 Win32 API Declarations, Structures, and Constants` `  Bitmap Header Definition^^(^@^X^p^^p^^^ ^ ^0 pH ^` ^x ^ ^ xpH Member variables]@]@]@]@ ]@]@( ]@P ]@  Private constants]D x 5 ****************************************************rt Initialization and Terminationu5 **************************************************** ] ] * Get desktop DC, and create compatable DC.$6'm $:'e $' Clean-up.  A> Create initial 1x1 bitmap''A By default, kill last created bitmap at Terminate.'o0  Clean up resources!nsf  Yank bitmap from memory.  A* Only destroy bitmap if not one the user passed to us..   Destroy created bitmap, unless  instructed not to. WARNING:ll  This may induce a memory leakl  if not handled appropriatelyl  outside this class!!!k.  A.mkhk`kX A@mo@5 **************************************************** Public Properties5 ****************************************************p ] ) Make sure we have a valid bitmap handle, or else raise error and bail.   $0 Ad  CMemoryDC.hBitmapInvalid handle. B@km 'mP 'Amh !t'mH  Create a temporary instance of this class to measure/blt from.]x ! ( Redimension this DC to match. !' !'A BitBlt from temporary DC.    !  AL m0 ]](]@]`]]] Create a temporary instance of this class to blt to. .  (  ( (% BitBlt to temporary DC, grab handle, and release. !     AL !'.$ Fill in with IDispatch Interface ID 9;F;qX( Fill PicBmp struct with necessary parts ^ ^9~! Length of structure 9l! Type of Picture 9! Handle to bitmap9! Handle to palette (may be null)q! Create and return Picture object ^  h$\  h.k m    $AHmx   $B'm(3 WARNING: *****************************************/ You may not want to destroy created bitmap at. termination some cases, such as when passing/ handle to clipboard. However, if you set this1 property to False, and don't handle destruction* yourself, you will induce a memory leak!3 ************************************************** 'm 'm 'AmH !r'm5 **************************************************** Public Properties (read-only)5 **************************************************** ' m !p'pmh !v'm !x'm( !z'm !|'m`5 **************************************************** Private Methods5 ****************************************************]h. If high bit set, strip, and get system color.    $X'dH 'k8 i0 ]] Ready to create bitmap yet?  | k % Get current bitmap out of memory DC.   A* Destroy existing, if necessary.  A.k8 k0 " Create new bitmap, select it into& memory DC, using desktop DC to insure$ we get full-color rather than mono.$6' $:'   $$'  $*'  A>" Update properties, especially set$ flag so we know this is our bitmap!   A0'o % Get current bitmap out of memory DC.  A* Destroy existing, if necessary.  A.k8  Cache handle. '* Select new bitmap, and update properties.  $*'   A0 Update tracking variables. !t' !r'( Set flag so we know this is our bitmap!'o0 ( Attribute VB_Name = "CMemoryDC" " Bas0{FCFB3D2A-A0FA-1068-A738-08002B33 71B5} |GlobalSpacFalse dCreatablPredecl2aIdCExposeTemplateDerivCustomiz E' *A ' Copyright 1997-2001 Karl E. Peterson, All Rs ReserYhttp://www.mvps.org/vb GQYou @Z free to uthis code win your own applications, *expressly forbiddenom sell ing o@therwi@disAs@Fout pri@writt@cpent. A@ h OpA4 @7it Win32 API DBaD=Structu@:, andynstants  P e FuncBeCo mp@@DC Lib "gdi32" (ByVal hAs L`ong) (B itmap, c nWidth qHeiUFSelectObj D #olepro32.dll" (pic9c,yfIID1PGUIDEfOpwnsH`PVIqc&fZH eader0cfi nib7/Type BITMAP bm$\4 BytesA QfPlanCIntegert sS/WEPF s5p Size" hImag;D1Zpysr e Qr/&I A3M4(7S' bvaria8m_bm.m_8S`BU BoP*an]Te m_!!TermKill""*5Ct SRCCOPCVU&HCC0=* Iya1al12a i|na!\*7Sub Class_e()#im h0tScn;(qDCm2'!}D d3} DCScAeP!DC @==D"C( $= (cc Clean-upCaqu,a J1x1 bҦ&= 1&3PE`B'fault, k' t d4 at eS m_3+= Tru1APHG'` up 0Is!RIf@4hq7The@7 '` Yankm_y(b,:On"troyEif not on @rpr p*0헲& Nm_B G ' Destroy created bitmap, unless  'H inucnot to. WARNING: NThis may`duce a memory lHeak f Ihandl{app roprily (outside tZclass!!!!If m_TermKills Then!CallleteObject(m_hBmp)End If'#DC!DC!Sub 0 ' *0 Public Pertie& %y Let hB(ByValmp As LongADim bBITMAPBB' Make sure we havAuvalip, or else rai1@erry b0ail.@lGeRtb(ha,@(n(@), )Jp\pUser0 ,EB@xErr.RNumber:8=vbz@+ 01, _E Source:="CMDC.H" criptio2n@ In=."BEo a;h (/a b$m_Width BOr2T' 4B} `VC,l 0B ,J2, DCSRC0COPY`,Wt $2(@'4b*+*!Z-pUa AlI aCID_IDispC,!GUIDCo` PICTYXPE_×,1S_OKaA@0B?K0-K!J XI= Icc e?@d4B in`#bـ:mapFa'&BtoA, 0graḇAreyseSM" h #I"Bb=%s RozngB1B' Fyp wi0Interfa<W.Data1&H2040suP4(0)C}7s46r.!B7 'h S necFpart# +SizeLen(`) %'mgofdNvTypq+|' P0 f0.hImagQ5' JHb~U0Ipate (be nullWg3pre nA o2c~Ole[ I0ndir1, IY, True@R;%d!BR qx5PixelColDorTgRowA,~ -=BqOLE_COLOR?4 XP, @heckSyjs(u) b(y 1w  Y   m ދIapd BooFn &>'V¯b ' 0 YouQwabnA de9 latEDmTysome cases,ch as w p0iIӜq3clipboard. However, if ysȅʐyaY, V0don'චle @erself,BwQ'OOВi/t / b%t_bjh%$Qz#i+%7d>ؿ t  !2 ݑ (d-onlyPB|ә  pG 2erty Public Prop Get bmType() As Lon g P = m_bmp.` EndxWidthByte>s W#]PlanYInteg|erX#TBitsPerPixelZ -0 ?1 (%' B*0 ' ivate Met0hodsPrFunction CheckSysColor(ByVal KConst High<@<&H80n' If h bit set, strip, agsystem c}. @ DThenB)SF-GNo')BExlse C IfClEFDKSub Recre`=map(Dim hWndScn DC'ady to CI yet?B Cm_ <= 0 OrHe@Tt #Ex,"/z&'currenit out of memory DC&0m_hBmp .all Sel@ectObj(1DC,aTmp!' De<oy existing, if necessary 4m_UXser CaD`teg& vC4w*O a$into#, us des0ktop"A3insurCG' we Vfull-V rather than monvoEA=.! WindowEhcB9C(/= #Compatible$Nc!/BCcB2c6c",R!"aseD, GC c$Updpies, especi4y{flag soA%know #is @our0!"Bw ;AI:, Len`)BD= Fay=b]hsI[$X?a&aB^ ^Z^ ]0\ache 'dles'#qb S 01XuMi/$7?B  uA$track6varia-sN PB0B'PJt _(_(%Trup>%CClipboardYCClipFormat CClipFormats.7ThisWorkbook  E)8}}OpenClipboard88pnCloseClipboard8\$GetClipboardOwner8HSetClipboardViewer8pGetClipboardViewer8ChangeClipboardChain***8**SetClipboardData8(GetClipboardData8PRegisterClipboardFormatA8<CountClipboardFormats8lEnumClipboardFormats8GetClipboardFormatNameA8EmptyClipboard8(IsClipboardFormatAvailable8XGetPriorityClipboardFormat8DGetOpenClipboardWindow tGlobalLock GlobalSize GlobalUnlock LocalAlloc 8LocalLock X$LocalUnlock xDRtlMoveMemory dlstrlenA lstrlenW"DeleteObjectxME PSS SLBB@ LBD LBHHLBL LBNpLBRL0@RL`T@  %    ,!X 8    %)0 $& %PReturns collection of information about formats present on the system Clipboard.$&,!\   i $&)Returns window handle of Clipboard owner.,v` i  : Clears the contents of a control or the system Clipboard.,r(##i0(K%)P $%`^``B@B %`b ,f@ i i  ^Returns a value indicating whether an item on the Clipboard object matches a specified format.,d##? X (  i hx```^,&0 i 0Returns a text string from the Clipboard object.`^```j,n "")%i@i  x%```b ,D0 ii  WPuts a text string on the Clipboard object using the specified Clipboard object format.```j p,l8ixXi p`z,~(iHi p`z%B&0LB( LB,( LB2x LB6 LB< LB@ LBFh LBJ LBP L"T@ @ ` P   p @h @ @H  X @@  x ( H 0 ''_]c / D BH D B @@ @  D  "(H PHXH`H hHpH xH H H HH H HH H H H H H H H H ( H  H (H 0 $8 ` p            0 @ P `  p        8 &( 8P"  " 8  8BH 6P   B 0 $   8( ` 8xB 0 2  0@HP B Xhpx    " &  8 H 0X                " 8 @ B H 2P 4          B ( 0 8 @  *H x  :   & ,( .X *     4 "P x  0 2 . "@h  p B    "  .0` p ,      B  (0 8@ 2H       " & &(PX h  (   B   &@ (Px * $  $  H "X  8  8B @HP X`p x   B    ( H hpx > *************************************************************own< Copyright 1999-2001 Karl E. Peterson, All Rights Reservedx http://www.mvps.org/vb/> *************************************************************; Author grants royalty-free rights to use this code within: compiled applications. Selling or otherwise distributing: this source code is not allowed without author's express permission.> ************************************************************* Clipboard Manager Functions`@@  Other useful APIs@@@   Predefined Clipboard Formats]D]D0]D ]DX]D( ]DP ]D]Dx ]D ]D  ]D  ]D ]D  ]D]D ]D@ ]D ]Dh ]DH]D ]D ]Dp]D  Private variables]@1 ************************************************ Initialization and Termination1 ************************************************H .ToX .To@1 ************************************************ Properties1 ************************************************ / Expose "New and Improved!" enumeration object. TB@Z T.XmP ) Return window handle of Clipboard owner. Useful(?) if conflicts occur.$'\m1 ************************************************ Public Methods1 ************************************************ * Clear the clipboard of all content. (Same+ behavior as standard VB Clipboard object.)$ X,'vAki (]X]p]] (KT  Check for desired format. ( L 4 %d'^  -1=None requested, 0=Empty ^ Get handle of clipboard bitmap.$ ^$'`* Use class to create disconnected Picture. `. ` ( ( !.r.k  Clean upAkkS  To be implemented... :-(ni+ Check if the requested format is available- on the clipboard. (Same behavior as standard VB Clipboard object.)$ $'fkAki]H]]$ Bail, if no formats were requested. X Gzj3 Transfer desired formats into a non-variant array. Xh  X Double conversion, to be safer.& Could error trap, but that'd mean the' user was a hoser, and we wouldn't want# to insinuate *that*, would we? $X$\X +h  Try opening clipboard...$. Check to see which format is highest in list.$h h $'^Adx) Clipboard may already be open by another+ routine in same process, try anyway to see( if we can get a successful result. Not clean, but worth a shot.$h h $'^k Return results ^'dih]h]] Check for desired format. & 2 J %d'^ -1=None requested, 0=Empty ^ ( Grab text from clipboard, if available.$ ^$'` % Slurp characters from global memory. ` `$'j j$l'& `AkAkki (]`]] (KT + Use class to disconnect image from object..  / ( !'`.S0  To be implemented... :-(n If we have the handle to data, attempt to place on clipboard. `$ `$X,'bAkp! May need to destroy data object? b'nd0 `A.a kki]]] Try to set text onto clipboard.$! Convert data to ANSI byte array.  t v$r'p# Allocate enough memory for buffer. R p $'` `  Copy data to alloc'd memory. `$'j j$p p A `A  Hand data off to clipboard & `$X,'Dk` AkP iH 1 ************************************************ Private Methods1 ************************************************]x] x x$"'z z z p$p x zA@ p |$r'lk( k i ]h]  $$'z z z p$p  zA@ p'~k k ix p Attribute VB_Name = "CClipboard"D Bas0{FCFB3D2A-A0FA-1068-A738-08002B3@371B5} |G lobalSpacFalse dCreatablPredecdlaIdCE xposeTemplateDerivCustomizEDescriptiono object which re5ces t he innsic with @enhanc@i@nforma#and o)s.' *9 ' Copyright 1999-2001 Karl E. Peterson, All R s `ReserFhttp://www.mvps.org/vb/&Author grants royalty-free ,No uthis co$deNin&compil@PapplicaAPs. Selling Eo]rwid|is@_@Bs8ournot allowhou('s expresspermiss@~.W//O11DelOrDgdi A82finPM#C8Const CF_TEXT1WBIT(MAP2_METAFILEPIC3/_SYLK4_DI F5_TIF6_OEM V7 B 8_PALETTE9_PENDA$TA10_R1F_WAVQ1F_UNI0CODEF_8ENHUF_PHDRO1Fp_LOC Fp_MAX_ _OWNERDISPLAYP&H8F_DSP F" ""o pE$d Const LMEM_FIXED = &H0 ' Private variables Hm_Fmts As CClipFormat>l*,3 Initialization and Termin3VSub Class_ee() Set e= New gEC&O%oth ing !' *,Properti1!Public#y Gy()pAtt0ribu} .VB_Descripf= "Returns collecBof i nfpbout s present @vthe systemdipboard."c' Expo0se "AbImproved!" enumeraibj@. Co.Refhu.obRytEOwnerELoAoCBwindow h-le @CsB7 oA8N  2' Useful(?) if[nfr@occurC@B&:uI=%Method|-]`cFun#FClea-Boon --Fs HPcontJs-a#trol or?L" @D4f allB . (Same$0behavi as sFt; V VBW oQCIf OpenF1(0&) xThe@= C(EmptyCClaf9IfY%)Y+AData(Obval ByVb~[FCF_B ITMAP"St0dPic`{cDixm n"ha dcACMe@moryDCn@^!<Se Ca`~#@f' Check! desireda@@`= Me. oPrity# ( ,b @DSPIB&0-1=None requed, 0=7?b> 0j> -@'bGcObitmapI>I`C1= E?4#F cq to credis5n@V!  -cSX@!uz!idc.hB2?0)BHPFwKills&Fals3+!0- { 7l @*L upC=/;> 2E' To be implemKed...@ :-(!?6CԁC2CngRBvi) CLng((i)) Next iGB@Hry n`e.0_yc'}P se0 hich;hig@n listV%o5,L6( 0),mt$+ 1&?Yd" iV zmp1dalrdyaW1 by`cer r iin sPocessanywp7kLcg`Nuc1 ultip]NoXcf"worth1Rhoetormat(Fmts(0), UBoundx) + 1) E`nd If(' Return results(GetPrior@ityFor H= n |Function Public $ 9Text() As String ABtbute.VB_Descr,ipH]"s Ha t? s: from the Clipboard object."VUserMemId*0fDim^HLoG hData lp #' Check for desired.9Me.(CF_TEXT, OEM8DSP̄2-1 =Nonequested, 0@=EmptyIff> 0 The€f' Gr,abOBMcEL, if availpable+ OpenV(0&)wJCH=m AG(;C-@ ' Slurp char@actersnglobal memory @?0`@Lock(  D]PoinToÜ A(C Call GUnlǃ Close@?b@ Se"tPByVENewdPice, Oŀ D A:BITMAPBooleaÁAdcAZC``@.DCb]nn#BSell Case #B'f' o class to disconnimage#Bw@" = !  @.# &Hdc.TerminateKillsBitmap@`False(N=9.h'oth"Ek ' To be implemePd...:-(_B)A'@ we have›handl@&`,' atte)place on+ih^{?= C?({#>, nhabMay neA@roy dAc@? LAeq8Truf8l/D`UteOLA/E\tBOtkn'Ǡ0Put81 usNBspecifi'3$`'7{dTdC@BufferyByts`,ry&setsdonvd'%pronve rtANSI b arrag`0[C0(s= & vbNulTlCd,F@U@nicode(' Al\> en0ough4f b2 05?dalb(LMEM_FIXEDv)w)1p,Peo(c'don D= @l V@iCopy#[(s', c cbm0 ' H`F$8ff c,pAk_)66cBdBUqi8' * ' pvQ Metho>dOPriB E!sx?@3 66nL *************************************************************own< Copyright 1999-2001 Karl E. Peterson, All Rights Reservedbou http://www.mvps.org/vb/> *************************************************************B; Author grants royalty-free rights to use this code within: compiled applications. Selling or otherwise distributing: this source code is not allowed without author's express permission.> *************************************************************] ] ɲAttribute VB_Name = "CClipFormat" Bas0{FCFB3D2A-A0FA-1068-A738-08002B3371B5} |@GlobalSpacFalse dCreatablPredeclaIdC@ExposeTemplateDerivCus tomizEDescriptionAn element of the s c ollec, whichfers inf#about a specific  availE5-boarDd.' *9 ' Copyright 1999-2001 Karl E. Pet@*on,@ All R s ReserPhttp://www.mvps.org/vb/&Author grants royalty-free ,s to uthiZde win&@compilza@pplica`s. Selling o@Trwidis@Bsourco nohllowl('s e@xpressp@ermissv.;LBB LBD8LBH`LBLLBNL"T`T % P ,!x i^%) %PReturns a CClipFormat object from the collection of available Clipboard formats.,!j( i LReturns a value indicating the number of formats available on the Clipboard.,! @ p h %) %,  i^ i  ^Returns a value indicating whether an item on the Clipboard object matches a specified format.,x 55i^ i @Returns the textual description of any numeric Clipboard format.@b ` Z  %`^  %B&H LB(LB,LB2XLB6LB<LB@LBFHLBJpLBPLX( x P p 0 Hp ` @ `8H  x @ ( x  G]c  D BH D B @@ @  D  "(H PHXH`H hHpH xH H H HH H HH H H $    ( 8 H X h x            ( 8 H Xp 8x & 8" ( "08@ 8H  8B  60 B8 @P 8X  8B , 2P` B h 2p 2 &(08 B @HP <X     & 0  &8 `  ,h      (          (  0 @  H `  h                0  8  P X ` h 8p  8 "   "  8 0H x                  ( > ************************************************************* a< Copyright 1999-2001 Karl E. Peterson, All Rights Reserved http://www.mvps.org/vb/> *************************************************************; Author grants royalty-free rights to use this code within: compiled applications. Selling or otherwise distributing: this source code is not allowed without author's express permission.> ************************************************************* F Clipboard Manager Functionsry`@@  Predefined Clipboard Formats\O]D 2\]DH .O]Dro]Dp or]D O]D0Li]D u]DX]D  07]D ve]D ve]D  63]D ]Doa]Dli]D ]D8]DH]D`]Dp]D]D Local variables]@1 ************************************************ Initialization and Termination1 ************************************************ B@ZoP.To1 ************************************************ Properties1 ************************************************/ Guard against request for non-existant format. ^X T%.mx T!j'jm1 ************************************************ Public Methods1 ************************************************( & This property allows you to enumerate+ this collection with the For...Each syntax T!.m + Test for availability of requested format.+ Could map directly to the standard object, but here's the API equivalent.$ ^$X,'Aki ]H ]` 5 Translate numeric constant into textual description. ^ &KT Text (TXT)' (KT Bitmap (BMP)' *KTMetafile (WMF)' ,KTMicrosoft Symbolic Link (SYLK)' .KTData Interchange Format (DIF)' 0KT$Tagged Interchange File Format (TIF)' 2KTOEM Text' 4KTDevice Independent Bitmap (DIB)' 6KTPalette' 8KTPen Data' :KTRIFF' <KTWave' >KT Unicode Text' @KTEnhanced Metafile (EMF)' BKTDropped Filelist' DKTLocale Identifier'S($' ^  $'b b Unknown: ^X 'd  b$ 'kn 'i1 ************************************************ Friend Methods1 ************************************************x ] ]  Reset the collection object .T* Fill it with each format on the clipboard$_p. ^$'^ ^ ^ ( ^ % (  ^X TB@k ^AkosAttribute VB_Name = "CClipFormats" Bas0{FCFB3D2A-A0FA-1068-A738-08002B3371B5} |GlobalSpacFalse dCreatablPredeclaIdCExposeTemplate DerivCu@stomizEDescriptionollecobj that offer`s infa bout s @presenne system board".' *9 ' Copyright 1999-2001 Karl E. Pet)on, All R s R%r@Hhttp://www.mvps.org0/vb/&Author grants royalty-free ,s to u@this code win&@compil@ra@pplica`s. Selling otherwidisC@Bsour@not all\owAka('Ps exlsp@ermisst.;`.any "X t+6Dim n@CsLE:`ransl a con!4tI e0c1See CaseX ")CF_TxEXTeUT  (TXT)t(BITMAPpBitmap (BMPMETAFILEPIC afi(WMBFSYLK0Microsoft@ Symbo!L`ink (DIFData Interchange CP (oTIFTag~g`ke o OlEM/  A0/DIBQevicedendq 1PALETTE0 PalettePENDATbA1en A(NRG3%nWAVWavOUNICODE4'Unicode'ENHP0En?c8QEQPHDRO_D@lpFlist^LOC"Locp Ia]rxElspP8 4:Space(256QD`U`KG#(bO T, , Le|n(U[0_ [ ": " & CJSZ  Left$r,rO E\KBTX!o^ϓ“Frie`ϓC** 4S@ub Refh(3 \\Cc _ńj@'s eHc_`6'l` ݲe#UczzDor u1 = m 3 =v ѣ,(sn"&ThSP.!7Xn|Me.!DAdd: 0,*0 d у Loop Wh[d2 3U+"+ubq1xME (SLSS<N0{00020819-0000-0000-C000-000000000046}@(%H@0]cxAttribute VB_Name = "ThisWorkbook" Bas0{00020P819-0C$0046} |GlobalSpacFalse dCreatablPredeclaIdTru BExposeTemplateDerivBustomizD2ID="{504A5B75-1318-4091-8435-04CDF791C2CF}" Document=ThisWorkbook/&H00000000 Module=main Module=savePic Class=CClipboard Cl_VBA_PROJECTs%PROJECTPROJECTwmSummaryInformation(a *\G{000204EF-0000-0000-C000-000000000046}#4.0#9#C:\Program Files (x86)\Office 2007\Office12\VBE6.DLL#Visual Basic For Applications*\G{00020813-0000-0000-C000-000000000046}#1.6#0#C:\Program Files (x86)\Office 2007\OFFICE12\EXCEL.EXE#Microsoft Excel 12.0 Object Library*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\windows\SysWow64\stdole2.tlb#OLE Automation*\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.4#0#C:\Program Files (x86)\Office 2007\OFFICE12\mso.dll#Microsoft Office 12.0 Object Library*\G{0D452EE1-E08F-101A-852E-02608C4D0BB4}#2.0#0#C:\Program Files (x86)\Office 2007\OFFICE12\FM20.DLL#Microsoft Forms 2.0 Object Library*\G{398F17AE-8E2A-4E7D-9B03-C0E0D51CAC1B}#2.0#0#d:\asd\Excel8.0\MSForms.exd#Microsoft Forms 2.0 Object Library.E .`M *\G{00020905-0000-0000-C000-000000000046}#8.4#0#C:\Program Files (x86)\Office 2007\Office12\MSWORD.OLB#Microsoft Word 12.0 Object Library   ]c ) ThisWorkbook01635d074eThisWorkbookv-{|102635d074e{|15-CMemoryDC03635d074eCMemoryDC0C Sheet10;635d074e Sheet1:-{|205635d074e{|2N`main0<635d07a7mainxR-savePic07635d074esavePic6RCClipboard08635d074ecCClipboardGlobal object which replaces the intrinsic with enhanced information and options.ECClipFormat09635d074eCClipFormatAn element of the CClipFormats collection, which offers information about a specific format available on the Clipboard.CClipFormats0:635d074eWCClipFormatsCollection object that offers information about formats present on the system Clipboard.*Hx`0xxB}n;6)KHכلh0mEH9KCko_:YK=\Q