邢唷; x T8衫\p颯 Ba= ThisWorkbook=BZKx-8X@"1媅SO1媅SO1媅SO1媅SO1媅SO1媅SO1媅SO1Arial1媅SO1h>媅SO1,>媅SO1>媅SO1@媅SO1媅SO10媅SO1媅SO1媅SO1媅SO1Arial1Q媅SO1媅SO1媅SO1媅SO1媅SO1 媅SO1 媅SO1媅SO10媅SO1媅SO1媅SO1 媅SO1媅SO1媅SO1媅SO1媅SO1 媅SO1>媅SO1媅SO1 媅SO1媅SO1媅SO14媅SO1 媅SO1媅SO1 媅SO14媅SO1<媅SO1?媅SO1>媅SO1媅SO1"Microsoft YaHei UI1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO1@媅SO1媅SO""#,##0;""\-#,##0""#,##0;[Red]""\-#,##0""#,##0.00;""\-#,##0.00#""#,##0.00;[Red]""\-#,##0.007*2_ ""* #,##0_ ;_ ""* \-#,##0_ ;_ ""* "-"_ ;_ @_ .))_ * #,##0_ ;_ * \-#,##0_ ;_ * "-"_ ;_ @_ ?,:_ ""* #,##0.00_ ;_ ""* \-#,##0.00_ ;_ ""* "-"??_ ;_ @_ 6+1_ * #,##0.00_ ;_ * \-#,##0.00_ ;_ * "-"??_ ;_ @_ \$#,##0_);\(\$#,##0\)\$#,##0_);[Red]\(\$#,##0\) \$#,##0.00_);\(\$#,##0.00\)% \$#,##0.00_);[Red]\(\$#,##0.00\)""#,##0;\-""#,##0""#,##0;[Red]\-""#,##0""#,##0.00;\-""#,##0.00#""#,##0.00;[Red]\-""#,##0.0050_-""* #,##0_-;\-""* #,##0_-;_-""* "-"_-;_-@_-,'_-* #,##0_-;\-* #,##0_-;_-* "-"_-;_-@_-=8_-""* #,##0.00_-;\-""* #,##0.00_-;_-""* "-"??_-;_-@_-4/_-* #,##0.00_-;\-* #,##0.00_-;_-* "-"??_-;_-@_-"Yes";"Yes";"No""True";"True";"False""On";"On";"Off"],[$ -2]\ #,##0.00_);[Red]\([$ -2]\ #,##0.00\)0_);[Red]\(0\)0.00_);[Red]\(0.00\)0_  0.0_                 # # # # # # # # # # # # $ $ $ $ $ $      P %P      & # # # #   #  #  ' ( )a   *  +攆f , - .`   / 0 1  2 $ $ $ $ $ $    @ @ @ @  @ @ 1  1 1 1@  1 1@ @  1 1@  1@ @ 1@ @  1 1@  1@  1 1 1  x@ @ 7  x@ @ , 1@ @ 1 #1@ @  #1 #1@ @  1@ @  x@ @ , #1 1 1 1@@  1 1@ @ 1@ @  ""@ @ !""@ @  !@ @ !@ @ !!@ @ 1@ @  @ @ 1@ @ 1@ @  1 1 1@ @ 1@ @ 1 "1<@ @ 1 1 1 1@  !@ @  1@ @   1 1 1 1@  487 58 687 78 887 98 :87 ;8 <87 =8 >87 ?8 @87 A8 B87 C8 D87 E8 F87 G8 H87 I8 J87 K8 L87 M8 N87 O8 P87 Q8 R87 S8 T87 U8 V87 W8 X87 Y8 Z87 [8 \87 ]8 ^87 _8 `87 a8 b87 c8 d87 e8 f87 g8 h87 i8 j87 k8 l87 m8 n87 o8 p87 q8 r87 s8 t87 u8 v87 w8 x87 y8 z87 {8 |87 }8 ~87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 87 8 ||_\}-} 00_)}-} 00_)}A} 00_)ef[$ -}A} 00_)ef[$ -}A} 00_)ef[$ -}A} 00_)ef[$ -}A} 00_)ef[$ -}A} 00_)ef [$ -}-} 00_)}A} 00_)蘈[$ -}A} 00_)蘈[$ -}-} 00_)}A} 00_)蘈[$ -}-} 00_)}-} 00_)}A} 00_)23[$ -}A} 00_)23[$ -}A} 00_)23[$ -}A}  00_)23[$ -}A}! 00_)23 [$ -}-}%?_)}A}( ?_)俏[$ -}-}) ?_)}-}* ?_)}-}+ ?_)}-}, ?_)}-}/ ?_)}-}1 ?_)}(}3  ?_)}A}4 a?_)騎[$ -}-}5 ?_)}}}8 鷠?_)[$ -##0.  }}9 ?_)ゥ[$ -???##0.??? ??? ???}-}: ?_)}-}; ?_)}A}< 鷠?_)[$ -}-}C ?_)}A}D ?_)[$ -}A}E ?_)[$ -}-}F ?_)}A}G ?_)[$ -}A}H ?_) [$ -}A}? 渆?_)霚[$ -}}}@ ????_)???[$ -???##0. ??? ???}}A ??v?_)虣[$ -##0.  }(}B  ?_)}x}I?_)膊虣[$膊## 膊 膊}-}L ?_)}-}N ?_)}-}P ?_)}-}Q ?_)}-}S ?_)}-}T ?_)}-}U ?_)}-}W ?_)}-}[ ?_)}-}\ ?_)}-}] ?_)}-}a ?_)}-}b ?_)}-}c ?_)}-}d ?_)}-}g ?_)}-}j ?_)}-}n ?_)}-}q ?_)}-}u ?_)}-}x ?_)}-}z ?_)}-}} ?_)}-} ?_)}-} ?_)}-} ?_)}-} ?_)}-} ?_)}-} ?_)}-} ?_)}-} ?_)}-} ?_)}-} ?_) 20% - @wr 1G 20% - @wr 1 ef苕 % 20% - @wr 2G" 20% - @wr 2 ef蜍 % 20% - @wr 3G& 20% - @wr 3 ef腭 % 20% - @wr 4G* 20% - @wr 4 ef溥 % 20% - @wr 5G. 20% - @wr 5 ef陬 % 20% - @wr 6G2 20% - @wr 6  ef % 40% - @wr 1; 40% - @wr 1 % 40% - @wr 2G# 40% - @wr 2 蘈娓 % 40% - @wr 3G' 40% - @wr 3 蘈劁 % 40% - @wr 4;+ 40% - @wr 4 % 40% - @wr 5G/ 40% - @wr 5 蘈忿 % 40% - @wr 6;3 40% - @wr 6 % 60% - @wr 1; 60% - @wr 1 % 60% - @wr 2G$ 60% - @wr 2 23跂 % 60% - @wr 3G( 60% - @wr 3 23淖 % 60% - @wr 4G, 60% - @wr 4 23睜 % 60% - @wr 5G0 60% - @wr 5 23捦 %! 60% - @wr 6G4 60% - @wr 6  23 %"~vR詋 #h槝h槝 $h槝 1h槝 1 %h槝 21h槝 2%?Э &h槝 3h槝 3 'h槝 4h槝 4(頬5頬 俏 %+8^膲 %)8^膲 1218^膲 12 % *8^膲 2/8^膲 2 %+8^膲 2 238^膲 2 2 %,8^膲 2 338^膲 2 3 % -8^膲 3 .8^膲 4 /8^膲 5/8^膲 5 % 08^膲 6 18^膲 7/8^膲 7 %2 8^膲_hQ齎L?e:SR鉔x3(厤  4}Y5}Y 騎 a% 5Gl;`+Gl;` %6'^7 '^[0] 8梴c梴 鷠% 9纇錱USCQ$CSMOR敄[0] ?-N7-N 霚 渆% @搹鶴c搹鶴 ???%????????? ??? A搹eQo搹eQ 虣 ??v% B 0 騗繈顣剉厤   C@wr 1/@wr 1 % D@wr 2;!@wr 2 繮M % E@wr 3;%@wr 3 浕Y % F@wr 4/)@wr 4 % G@wr 5;-@wr 5 K % H@wr 6;1@wr 6  鳀F % I鑜蕬^ 鑜蕬 膊膊膊 膊XTableStyleMedium9PivotStyleLight168覽櫃3ffff燙櫶櫶虣虣3f3燙櫶fff枛3f3檉33333f33333\瓊`Y{禰璣蟸Nm酧o`菓茤鉔xh垍凳曪嬦Oo`VV!  =" 媖緐+R;MP" 媖緐{|+R;.1-Km諎@b g!h寶膲Rv^SbpS曪嬦Oo`" 6r蚹t^劅;pq" 6r蚹噀S;gh" 6r蚹LN;km 7bM|;|~, 禰璣bXT蛻'Y緐舥;bd, 禰璣篘GWt^6eeQ凈V;VW* 禰璣6eeQeg恘{|媁;3:& 禰璣(Wf[篘pe;" 禰璣D崸N;SS" a峽Q篘;xy  /f孴&T;2 亃裇aY婲鯪wQSO臽礠蟘饛;^_& f[90OO縖9;tu. 陙6q~p砙wQSO臽礠蟘饛;Z[ff餻餚 @F>瘌xMOS A咥@臕@  G#  familyMembers suortMembersfamilyYearIncomedisasterDescribefamilyDebtAmountfamilyDebtReason checkDiffName歔餠緰+R T饄 checkSqyyCode3u鲖t1ux媖緐NO軴 checkSqyyName3u鲖t1u T饄 checkYesNo/f 禰璣;N亯6eeQeg恘{|媁familyIncomeTypeNamecheckFamilyIncomeType茐汻媖緐,T汻媖緐zf汻媖緐vQ諲媖緐錧D0VY褢0%m40e4崒TvQ諲砇≧6eeQ粂O褢0鶺,g{Q褢0鶺,gu;m901YN軴i栄鐍b0譙`崍N0鶴遹b鶴.U禰璣"崸N穬梍剉6eeQ a峽Q90歜(vb){Q9陙 孡N6eeQ vQ諲擽S_eQ禰璣剉6eeQ checkNamecheckXfcheckDisableTypecheckDisableLevel checkInt0,1,2checkSuortMembersDescribecheckParentJobscheckParentCulturecheckParentAgecheckInSchoolCountcheckFamilyDiseaseDescribe checkNum0,6,2checkLen0,1,60checkFamilyYearIncomeRangecheckFamilyDisasterTimecheckLen0,1,100 checkFamilyBurstTimecheckLen0,1,100checkFamilyProperty  禰璣蟸Nm酧o`菓茤1xmsfzjhjtcysyrsldlrk burstDescribeisLowIncomeFamily isCyzdshbzisFiledPoorFamilyisTkzgjtisOrphan isJlsyfzl isDisabilitystuDisabilityLevelisAloneParentssuortMembersDescribe parentAgeisFamilyDiseasefamilyDiseaseDescribeisParentsLaborisParentsDisabilityisFamilyDisasterfamilyDisasterTime isFamilyBurst覻 T珟齆翄鯪鱏f[90OO縖9 蜽aNgNOu;m軴湒7b/f&T鷁ch藌aS禰璣yr餠L錧P[sY/f&Td[?Qf[u,g篘/f&T媖緐媖緐{|+R媖緐I{a峽Q篘鉙pea峽Q篘禰璣bXT1YN篘pe6r蚹LN6r蚹噀S6r蚹t^劅砇≧汻篘鉙禰璣篘鉙禰璣(Wf[篘pe 禰-N/f&T g'Y舥禰璣bXT蛻'Y緐舥 臽礠 N+T媖緐 /f&T6r蚹1YNb'N1Y砇≧齹汻/f&T媖緐篘P[sY6r睳媖緐I{蚹睳媖緐I{禰璣 k:P褢潣 k:P烻郪禰璣篘GWt^6eeQ 禰璣篘GWt^6eeQ凈V 禰璣/f&Tm愖S陙6q~p砙 禰璣m愖S陙6q~p砙鰁魰 陙6q~p砙wQSO臽礠蟘饛 禰璣/f&Tm愖S亃裇aY 禰璣m愖S亃裇aY鰁魰 亃裇aY婲鯪wQSO臽礠蟘饛禰璣D崸N7bM|耂gqf[u@b(WNN0f[!h剉f[9嵤SOO縖9耂gq 03u鲖h 0f[u鶺,g臽礠h剉蜽G昇O6eeQ餠緰禰璣耂gq 03u鲖h 0f[u鶺,g臽礠h剉蜽aNgNOu;m軴湒7b耂gq 03u鲖h 0f[u鶺,g臽礠h剉yr餠L錧P[sY耂gq 03u鲖h 0f[u鶺,g臽礠h剉d[?Q耂gq 03u鲖h 0剉f[u鶺,g臽礠h剉媖緐I闟齹kX 茐汻媖緐 0 ,T汻媖緐 0 zf汻媖緐 0 vQ諲媖緐 0 N齹(W ,g篘/f&T媖緐 -NkX橯 &T (W,gRkX橯wQSO剉媖緐{|+R 鲖陙L埨h錱0^椗_kXy耂gq 03u鲖h 0剉f[u鶺,g臽礠h剉媖緐I{"耂gq 03u鲖h 0禰璣bXT蔛;N亯>yOsQ鹼臽礠h t^劅'Y嶯70sS:Na峽Q篘鉙 耂gq a峽Q篘鉙pe W[祂,耂gq 03u鲖h 0禰璣bXT蔛;N亯>yOsQ鹼臽礠h 錧\Of[`N USMO孴LN龕:N 鄀 鰁 h:y1YN耂gq 03u鲖h 0禰璣bXT蔛;N亯>yOsQ鹼臽礠h剉Nf[usQ鹼0LN 耂gq 03u鲖h 0禰璣bXT蔛;N亯>yOsQ鹼臽礠h剉Nf[usQ鹼0噀S z耂gq 03u鲖h 0禰璣bXT蔛;N亯>yOsQ鹼臽礠h剉Nf[usQ鹼0t^劅.耂gq 03u鲖h 0禰璣bXT蔛;N亯>yOsQ鹼臽礠h t^劅:N20-60 NeP穅秗礠:N eP穅 sS:N砇≧汻耂gq 03u鲖h 0禰璣bXT蔛;N亯>yOsQ鹼臽礠h禰璣bXT剉pe蠎&耂gq 03u鲖h 0禰璣bXT蔛;N亯>yOsQ鹼臽礠h LN:N f[u v^Nt^劅(W35錘 N耂gq 03u鲖h 0禰璣bXT蔛;N亯>yOsQ鹼臽礠h剉eP穅秗礠\耂gq 03u鲖h 0禰璣bXT蔛;N亯>yOsQ鹼臽礠h Nf[usQ鹼:N 6r睳 b 蚹睳 t^劅:N70錘 N b g蛻'Y緐舥 b媖緐I{:N2錘 NsS茐:N'N1Y砇≧齹汻1YNag鯪耂gq 禰璣bXT1YN篘pe ch耂gq 03u鲖h 0q_蚑禰璣蟸Nm秗礠 gsQ酧o`h剉禰璣 k:P臽礠(耂gq 03u鲖h 0q_蚑禰璣蟸Nm秗礠 gsQ酧o`h剉禰璣篘GWg6eeQ XN錘120USMO:N CQ 耂gq 03u鲖h 0q_蚑禰璣蟸Nm秗礠 gsQ酧o`h剉禰璣;N亯6eeQeg恘耂gq 03u鲖h 0q_蚑禰璣蟸Nm秗礠 gsQ酧o`h剉禰璣m愖S陙6q~p砙臽礠鍌 gm愖S陙6q~p砙 N臺kX橯dky=耂gq 03u鲖h 0q_蚑禰璣蟸Nm秗礠 gsQ酧o`h剉禰璣m愖S陙6q~p砙臽礠 匭筟 N齹厤菑100*NW[&{ 鍌 gm愖S陙6q~p砙 N臺kX橯dky耂gq 03u鲖h 0q_蚑禰璣蟸Nm秗礠 gsQ酧o`h剉禰璣m愖S亃裇aY婲鯪鍌 gm愖S亃裇aY N臺kX橯dky=耂gq 03u鲖h 0q_蚑禰璣蟸Nm秗礠 gsQ酧o`h剉禰璣m愖S亃裇aY婲鯪 匭筟 N齹厤菑100*NW[&{ 鍌 gm愖S亃裇aY N臺kX橯dky耂gq 03u鲖h 0禰璣酧o`h剉OO?b臽礠0/f&T騗-峮}lf筫誰 T廭鱏/魦f T饄{|媁&T checkGendersY'`+RsY7u'`+R7uyr+R餠緰餠緰N,傪V緰 N餠緰鄀US睳d[?Q萷隭P[sY淨Qg擭軴郪舥郪~pvQ諲塵淨NN禰璣6eeQeg恘{|媁 checkYearNt^t^2孨t^3 Nt^4 Nt^蔛錘 N5踁t^6踁t^蔛錘 N7擭t^8擭t^蔛錘 N9mQt^10mQt^蔛錘 NN媖緐媖緐+R孨媖緐 N媖緐踁媖緐checkFamilyProperty鄀?b鄀}lf7b1\麐f[!h@b(W0WgNOu;m軴湒縹 N1\麐f[!h@b(W0WgNOu;m軴湒縹 N2 P錘匭Nt^匭禰璣m愖S蛻'Y陙6q~p砙 譙~p%N蛻Nt^匭 禰璣m愖S蛻'Y陙6q~p砙 譙~p%N蛻Nt^錘 N$Nt^錘匭 Nt^匭禰璣m愅'Y亃裇aY婲鯪 N+T陙6q~p砙 Nt^匭 禰璣m愅'Y亃裇aY婲鯪 N+T陙6q~p砙 Nt^錘 N$Nt^錘匭 checkFamilyDiseaseDescribe6r蚹GW蛻'Y緐舥( N+T媖緐 禰璣bXT蛻'Y緐舥6r蚹N筫蛻'Y緐舥 N+T媖緐 vQ諲禰璣bXT+Tf[u,g篘 蛻'Y緐舥 N+T媖緐 6r蚹GW:NR-N蔛錘 N噀S z6r蚹N筫:NR-N蔛錘 N噀S z6r蚹GW g錧\O N+T淨Qg蛓 i7bb{Q杒7b 6r蚹N筫 g錧\O N+T淨Qg蛓 i7bb{Q杒7b 淨Qg*NSO\媁蛓 i7bb*NSO\媁{Q杒7bb$NGW/f 6r蚹GW:N60hT乗錘 N+T60hT乗 6r蚹N筫:N60hT乗錘 N+T60hT乗 checkXfcheckHj齎禰8h歔剉680*N+嶐V縎:S 680*N+嶐V縎錘Y剉i梷T:S^Nwvb+_裇蛻筽縎 N+Ti梷T:S 2篘+T,g篘 錘 N(W Nf[2篘錘 N(W Nf[familyInfoEntry 7xfdisabilityCategoryCode parentJobs parentCulture inschoolCountfatherDisabilityLevelmotherDisabilityLevelfamilyIncomeTypeCodefamilyBurstTimefamilyProperty/f&Tyr餠汷{Q篘XT 7f[90OO縖9(W9501CQ髞20000CQ 7f[90OO縖9(W20001CQ錘 N 7X[>k蔛)Ro` g鱊翄8R蔛)R0hy0ZSi_6eeQ 7蟸FU0濺係錘蔛蜰婲蛓 iN0{Q iN0燫錧Ncbd柵_亯b,gT剉6eeQ 7a峽Q$NMO錘 N篘70hT乗錘 N  7a峽Q$NMO+T$NMO 蔛錘 N篘70hT乗錘 N  7 isSupport 7 checkInt0,1,2 7 checkInt0,1,6 7耂gq 03u鲖h 0f[u鶺,g臽礠h剉yr餠汷{Q臽礠 7耂gq 03u鲖h 0f[u鶺,g臽礠h剉鷁ch藌aS7b 7/f&T6r蚹N筫歜{Q 7耂gq 03u鲖h 0剉f[u鶺,g臽礠h剉/f&T6r蚹N筫歜{Q 76r蚹蜰N臽礠 7 /f&T蜽G昇O6eeQ餠緰禰璣 7/f&TO歜鵞a 7 checkZjlx珟齆翄鯪{|媁決榌翄隭uQ翄噀Lr^钀翄钀柣yO翄 櫃/nyr:Sgq/珟齆翄f 硂钑yr:Sgq/珟齆翄f 餝~nE\leg_'YF怢埩僗Y8lENE\OO翄AgqB7b鉙剠Z1 7珟齆翄鯪{|媁 7 kX橯f[u珟齆翄鯪{|媁 臺kXy  7 zjlx! 7 checkZjlx 7 checkSfzjh 7" 臺{:NIlW[颯錘S+T 暒^'Y嶯I{嶯1 N N厤菑20*NIlW[ 臺kXy 7 kX橯f[uE\l珟齆翄鯪鱏 v^N暒^ N齹厤菑18*NW[&{ 臺kXy 7 checkYesNo 7 6r蚹 N齹e\L垰b{QIN剉?Q鍅 7 /f&T郪lQzrrrf嬤[P[sY 7+耂gq 03u鲖h 0f[u鶺,g臽礠h剉玁譙齎禰歔g歜d`e埄R剉O歜鵞a孭[sY,+T萷隭0zrrr決篘睳^\ 7耂gq 03u鲖h 0f[u鶺,g臽礠h剉6r蚹 N齹e\L垰b{QIN剉?Q鍅 7耂gq 03u鲖h 0f[u鶺,g臽礠h剉郪lQzrrrf嬤[P[sY 7isSupportObligations 7isPoliceOffspring 7 4144013902E\l珟齆翄 7FAILURE 7 4144012572 4144011845 4144010573 4144011106 4144012622 4144010582 4144014063 4144012617 4144012577 4144011656"z[ \f\\薦]峖A_燺2`碻F)a揳%/b籦M嘽Se 廹! 5j3kzk 簁LlHl塴m^n瀘0lp qtr齭鋞vuuAvSxQyccB4c發 褰=_MA宦 T8衫  o  d褚MbP?_*+%{&ffffff?'ffffff?(?)?MvMicrosoft XPS Document Writer 4dXXA4GIS4DINU" |室鰎  SMTJ{0F4130DD-19C7-7ab6-99A1-980F03B2EE4E}InputBinFORMSOURCERESDLLUniresDLLInterleavingOFFImageTypeJPEGMedOrientationPORTRAITCollateOFFResolutionOption1PaperSizeLETTERColorMode24bppV4DM" d333333?333333?&<3U} P} } P} P} P}  P} P} P} P} P} P} } P} P}  P} P} `P} P} `'P}  P} P} P} P} P}  P} @"P}  P} P}  P} !P} ""P} ##@"P} $$@P} %%P} &&P} ''P} ((@P} ))P} **P} +d P} eiP} jj} krP} st} uP}  P NNQNNNO+R{@ {@ {@ {@ V ~ x W S S S S S S S u  u  S l W S d! S" e! S# S$ W% e! | S& d S' W S W W d( !d) "{ #e $d %W+ &W, 'b (W- )W. *j/+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTX @*XTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUYU Z0"UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU,TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTaTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT [1  [1 [1 [1 [1 [1 [1 [1  [1  [1      [1 [1 [1 [1 [1 [1 [1 [1 [1 [1 [1 [1 [1 [1 [1 [1 [1 [1 [1  [1 ![1 "[1 #[1 $[1 %[1 &[1 '[1 ([1 )[1 *T1+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT \2 \3"]hi]i]iiiiik]i c] c4 ]]] c5 c]i]ii]]  g !g "c #c $i\% &c 'i\( )g6*aTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT]ha[h i}j] k] ly m]7 ni8 oi9 pi: qk; r\< s t ui= v] wc> x]?yc z]@{] |] }c ~cA ]i ] iB iC \D \E g g cch i \F cGi \H gT a ^I ^ ^J _K _ _ _L _M _N  _O  _  f   _   _P _Q _R _ _S _T _U _ _W _X _Y _Z _[ _\ f] f^ __ _` _a  _b !_c "_d #_ $_f %_g &_h '_i (_j )_k *_lbeRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR `   `  `n ` `o `p ` `q  `r  `  `  `  `s mt `u ` `v `w `x `y `z `{ `| `} `~ ` ` ` ` ` `  ` !` "` #` $` %` &` '` (` )` *`zz B zz*ikru~ zz B * i kr u~   zz B * i kr ux z |~   zz B * i kr ux z |~  4@F04Z餏v.(  饜 vj 餘 診X?M1]4v6@ /Тn黢濨 3r3( <kX橯f[u剉覻 T<Z餜 v C \ ]F>! d ~饉  <誠CC@],@.藮29 $< _薡纇錱<~饉 閕 <犞\CC@>],5@29 $<_ 薡 纇 錱<v6admin>@dinjnA 7>7  /f&T + #K # c # ''+ #; #+ #+ #+ #+ #+ # + # + # ##+ #$$+ #%%+ #((+ # ** Sheet1ggD T8衫  璇鷴忌  d褚MbP?_*+%&ffffff?'ffffff?(?)?MFoxit Reader PDF Printer_ 4dXXA4" dXX333333?333333?&<3U} M} K} @+K} !K}  L}  L}  L}  L @ , , , , , ,,,,, o p p o nnn qnnnnnnn JJJJ L JJ? r Jnnnn JJ J Jnnnnnnsnnnnn JJ@ r Jnnnn JJ? r JnnnnJJJJ nnstnnnn J J? r t nnnn J J5@ r t nnnn J J6@ r t nnnn J J@ s t nnnnnnstnnnnnnstnnnnnnstnnst J JJ J J JJ? J J JJ@ J J J J@ J J J J@ J J JJ@ J J JJ@ J J JJ@ J J JJ @ J J JJ"@ J J JJ$@ J JJJJ J J J J J J? J J DH lV& NNNNNNNN<<<<<<<<<<<< !"#$%&'()*+,-./012 @34:5:67:8Y@9:;=>?@ J  J@ J J !J !J@ !J !J "J "J@ "J "J #J #J@ #J #J $J $J@ $J $J %J %J@ %J %J &J &J @ &J &J 'J 'J"@ 'J 'J (J (J$@ (J (J )J )J@ )J )J *J *J @ *J *J +J +J"@ +J +J ,J ,J$@ ,J ,J -J .u.J? .J .JQ /u/J@ /J /JQ 0u0J@ 0J 0JQ 1u1J"@ 1J 1JQ2nnnn 3J3J? 3J 3J 4J4J@ 4v 4J 5J5J@ 5v 5J 6J6J@ 6v 6J 7J7J@ 7v 7J 8J8J@ 8J 8J 9J9J@ 9J 9J :J:J @ :J :J;J=nwnn>nwnn?nwnn@nwnnDl<<<<<<<<<<<<< <<<<<<<<<<<< ABCDEFGHIJKMNOPSVWZ[^_bcdghklmpq AJ Aw1 Aw AJ BJ Bw Bw BJ CJ Cw Cw CJ DJ Dw Dw DJ EJ Ew Ew EJ FJ Fw Fw FJ GJ Gw Gw GJ HJ Hw Hw HJ IJ Iw Iw IJ JJ Jw Jw JJKnwnn MJ MJ? MJ MJ NJ NJ@ NJ NJ OJ OJ@ OJ OJ PJ PJ@ PJ PJ SJSJ? SJ SJl VJ*VJ? VJ VJe WJ*WJ@ WJ WJe Zx+ZJ? ZJ ZJh [x+[J@ [J [Jh ^J-^J? ^J ^Jk _J-_J@ _J _Jk bJbJ? bJ bJ cJcJ@ cJ cJ dJdJ@ dJ dJ gu$gJ? gJ gJW hu$hJ@ hJ hJW kJ#kJ? kJ kJV lJ#lJ@ lJ lJV mJ#mJ@ mJ mJV pu%pJ? pJ pJX qu%qJ@ qJ qJXD l8888888888<<<<<<<<<<<<<<<<<<<<tuxy|}~,,,,,,,,,,,, tJtJ? tJ tJK uJuJ@ uJ uJK xu"xJ? xJ xJT yu"yJ@ yJ yJT |J|J? |J |Jm }J}J@ }J }Jm ~J~J@ ~J ~Jm u&J? J J[ u&J@ J J[ JJ? r t JJ@  t JJ@ s t JJ@ s t JJ@ s t JJ@ s t JJ@ s t JJ @ s t JJ"@ s t J J s t J J s t J J s t.<<<<<<<<<<<<<<<<<<88P餒  0(   >@ 7 Sheet5ggD T8衫 椞  d褚MbP?_*+%&ffffff?'ffffff?(?)?"333333?333333?&<3Ud P餒00(  >@ 7 Sheet6ggD 6  t梺&xRRME (@V006 <VhH0jjhX梃邋陳\P`H陘`@蕵xB蕗 @蕗4 @陘D @獉.L @代碼表%錯誤信息說明%陘@V  @陘Z  @陘dh\  @陿fB鈥hX@鈥@蕗d @陘x@陘jz@蕵0B陘lH~ @陿LXhB!蕵pB#陘%@陘&@%陿Z(B陳VHpH陳^pH蕗 @陘$ @獉b8Hh @陘P @陘T @陘X  @陘^ @陿0B陘` @陘Xt@陘| @陿8 B蕵npB"蕵rB$pHPxh p(08H0X@X 僒0'=02[*\R1*#222$*\Rffff*0a5b76b3a7(*\Rffff*0a5b76b3a7\077    08  @ ` Dp 8 0 P0pD084P. ..(8(`>"$(@>`R^FX `*0$`  $  ^(^列索引號軹^列名稱鄖獵^0p@定義一個結構🤹🏿🩸,描述數據頁枷]$騂腙=Public Const sheetNameValueTJ As String = "附件2政策落實統計"]$錯誤信息(2Public Const IntroSheetName As String = "填表說明"]$代碼表H]$說明P] p 記錄總的校驗數X]$記錄表頭所在行] x"執行 至少一個非空校驗 的單元格數目] 6執行 至少一個非空校驗 的單元格中內容為不符合規則的數目] 每一行合計中的值] "至少一個非空校驗時,記錄錯誤單元格] 錯誤信息] %---定義在模塊中,記錄從哪個單元格跳出 ] 8---定義模塊中🏄🏼‍♀️,記錄進入的單元格]  長度校驗時,存儲方法參數的字符串] 記錄時關閉按鈕 ]  記錄總的校驗中是否有不符合規則的] @ 記錄總的校驗中是否有重復的] #記錄總的校驗中是否有重復的] %/記錄遍歷無效行前,保存表中是否有錯誤信息 的狀態] h#保存校驗方法的返回值]$)遍歷記錄開始的行號8]$)學生身份證件號開始位置]駾0記錄為空的數目]X"/看該行是否為有效數據 統計 5個必填字段為空的個數] "C記錄去除空格操作的執行結果,如果去除了空格則返回true🖨,否則返回false] Pcell中最原始的的內容🛂,即系統沒有進行自動化處理用戶輸入的錯誤數據之前🙎🏻‍♂️👷🏿,cell的內容] 7上次寫錯誤信息時❣️,所在的行,應該項目初始化時初始化值一次] 總行數] 總列數] R在根據標識調用不同的方法時,判斷是否是for循環 Cell_SelectionChange中需要用到該變量]$記錄省市縣等記錄所在的行 ]$0+代碼表sheet的下表是否繼續]  ]$hH)隱藏列的增加數]$X,困難認定級別所在列]$p#認定時間所在列]$%認定原因所在列] -O標識認定級別是否通過校驗 0-未通過校驗 1-通過校驗且值為空 2-通過校驗且值不為空] $O標識認定時間是否通過校驗 0-未通過校驗 1-通過校驗且值為空 2-通過校驗且值不為空AAttribute VB_Name = "聲" Public TypalueCo8lum8p '列索引號c@nIndex As I@ntegerT酶 P'S喣ngEndn _ '定義一個結構👨🏽‍🔬,描述數0據頁"onst shee蕋{V1 豴1 '/ATJ僁兏郊2政策落蔪低臣苺 m8sgS8 b錯牢笮畔8 噐o填表 說 3Area習3氡韻Kdme0totalCount塉乽記錄總男Q槭  $startT坕tl翄7 ' 表頭所在行 atLeaOneNNulD '執行 遼倭t非空A 的單元欄袷肯\中內容環瞎`嬖虻腏;Money;Varia>'每一行合計中的值K Err or@ -時🏊🏻‍♀️,/A>A{C/ e Ms>gAD厖 rgoldRang@e '---A輝諛?櫓袆 幽母跳出FTargen 進入臯侓剄functi@onArgsh'0長度">@存儲方法參數的字符串fisSaveButton}CA時關閉按鈕has(}Boolean倇'臠中是0否有7 TheSa@擾兄復的IdN\um]n 卛da啷胈槔無效行前,保存表>燶狀態checkMet鄅odXQAA1丄0的返回鑂冦aRowS恿0= `r+鋅祭x!磰x纁ardID"篔8= 3 '學矸葜ぜ號a位置 Dim is醳)!為榨ne&驅看瞇?為有 … 5個必填字段 c 縡'removeSpaceFlam:去嶄癲僮鰼z庎軀😶‍🌫️,菻綣鸻了+true,否false]g4eA椑蒯刢 兇鈐璦*的t聰嗝沒薪兇遠磧嗝戶輸醥@<之丆c ur爡@*)Long '上次寫EGa崱!9,應該項目初始化時值覉淮蜦 rna 眅B'總,筩屃衠^isFPOi.在根據曄兜饔貌8煌琾)B 判斷;是for@循環 C_怱ele侳ChN中需要用到該變翖^餾,headI2(+省市縣稻缺& S駋s9= 2 '2r的下表P! 繼續no倀tinueQ$AqPJ髰PlubS7104 '藏d增?sysDifficultyGr8adeq冟729 '困難認@定級別 wtsintif yD餑s30 '1時間?6@ReasonT1原因\sO ?W6$1 通過盝 0-未 1-且"礎< 2:不Q6*_'_% _誣SrU~| KI 9)  1 a 9Yq x !  !QIa 8IxXaa  9a  ya D0)酤$  0l酤齣瀨(瀨]鸃+'t'旫'逮:瀨N軋軋 6軋逮旫t;:寧%p(瀨%$  dp)p;:寧%p(瀨%$  dp )p;:寧%p(瀨%$  dp )p;:寧%p(瀨%$  dp )p;p:瀨 %$  dp逮 裏 )p5逮 { z" $  zz;p:瀨 %$  dp逮 裏 )p5逮]羷撅%:寧%p(瀨%$  dp軋>逮A旫Uz)p6軋逮旫,M匎@(旫(逮(軋t 6軋逮旫tU瀝溜%'寧%:瀨%$ ⒃pp逮"鋤)p6軋逮1:匎Ntt(旫(逮(軋P 6 軋逮旫t (瀨@u 琿:W 軋 !'0'P:"Ntt:瀨#軋逮:寧$旫^6 軋逮旫t0;:寧%p(瀨%$  dp)p=(寧繹%p(瀨%$  dp軋%C&)p5軋 u+'t'旫'逮:瀨'N軋軋 6軋逮旫tz ;:寧%p(瀨%$  dp)pzRp(瀨%$  dp軋(:寧)逮`,旫 */,)p6軋逮旫 u ( D寧 (瀨+ (瀨, (瀨- ./ :瀨.0 (瀨忑uz1z2(犖uD寧箭t M(寧%犖龘 @p(瀨%$  dp軋 A逮3h)p5軋z4h:瀨.]鸃 3:瀨5N軋軋h,逮 6逮X/,5軋3:瀨7N軋軋h,逮 6逮/,5軋X5Ip,X5ILi滮X5I齣寧|I滮龘 @X鼖:寧7N逮逮軋,旫 6旫H/,6軋逮(瀨%H( (3H(瀨%H鼖:8N逮逮軋,旫 6旫8/,6軋逮&85IL齣l85I齣寧L秊<l @8蛟﨟q酤忑犖(逮l酤旫 9-H6軋逮旫 l~L齏 滮|齸 u4kH(瀨%X鼖:8N逮逮軋,旫 6旫8/,6軋逮&85IL齣l85I齣寧(齥<l @8蛟﨟q酤忑犖(逮l酤旫 9-H6軋逮旫 l~($ 5Ia (瀨%( (3\ H(瀨%鼖:8N逮逮軋,旫 6旫8/,6軋逮&85IL齣l85I齣寧齖 <l @8蛟﨟q酤忑犖(逮l酤旫 9-H6軋逮旫 l~  H(瀨%X鼖:8N逮逮軋,旫 6旫8/,6軋逮&85IL齣l85I齣寧櫝 <l @8蛟﨟q酤忑犖(逮l酤旫 9-H6軋逮旫 l~櫝 M黤匎%龘 @犖龘 @p(瀨%$  dp軋 C:)p5軋 犖箭s",(瀨]<軋,+/逮'旫 7:瀨;軋:寧<逮0旫:=t/6軋逮旫tz/軋 *5軋忑(瀨麛軋忑 攸-麛軋攸忑(瀨]3 @"@(瀨麛軋@&v 齣瀨忑麥軋賽v i Mv 齣瀨忑麥軋%p:寧 %$  dp旫>裏?)p5旫 賽d v 齣瀨忑麥軋"{ u1z (橖@(瀨麥軋x鼅 橖"漰z橖(瀨]3C zM寧@(軋逮 @ 6軋逮q ,kzD瀨橖麥軋旫旫(逮t @ 6逮旫t 橖x @(瀨]鹴 Z'H'h'0:瀨A@軋:寧B逮 旫 !旫t:CP 6軋逮旫t0麳u +'t'旫'逮:瀨DN軋軋 6軋逮旫t=(寧%p(瀨%$  dp軋%C&)p5軋1p:瀨 %$  dpE)pxzF(軋逮 G6軋逮 uF+'t'旫'逮:瀨HN軋軋 6軋逮旫t=(寧繹%p(瀨%$  dp軋%C&)p5軋1:匎INtt(旫(逮(軋P 6 軋逮旫t]羷撅%:寧%p(瀨%$  dp軋>逮A旫Uz)p6軋逮旫,M匎@(旫(逮(軋t 6軋逮旫tv+'t'旫'逮:瀨JN軋軋 6軋逮旫t=(寧%p(瀨%$  dp軋%C&)p5軋1p:瀨 %$  dpE)p;:寧%p(瀨%$  dp)p;:寧%p(瀨%$  dp)p;:寧%p(瀨%$  dp)p409# 聽箭岧|\L8(櫝更堻x犖滮Xl賽橖攸h忑H8(@< H,p軋逮旫tP0hH0   f揔*   rU~~~~~~~~~~#~~~~~~~~~~ +U!E摜J⑧嘛  儕a 1  儕a 1 儕a 1 ) A坅 P1a!QAaa坅 1  (Qq!Aa9Yy 1 Y 坅 a儕a 1    VBAProject ThisWorkbookSheet1Sheet6打印預覽工具函數聲明校驗函數主程序ShowFormSheet5 PrintFormF9C:\Program Files (x86)\Microsoft Office\Office12\VBE6.DLLVBA ) Q0F:C:\Program Files (x86)\Microsoft Office\OFFICE12\EXCEL.EXEExcel 9a@0FC:\Windows\SysWOW64\stdole2.tlbstdole aPL續-鶾藉D轗EC:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLLOffice Ai`.E 忇.`孧 C:\Windows\SysWOW64\FM20.DLLMSForms qqp0痗近[囑S謰4C:\Users\ADMINI~1\AppData\Local\Temp\VBE\MSForms.exd Qqy測試所有校驗規則並打印錯誤信息 checkTheSame  Browse_PrintF@旺:柾F擠9.F?埲衐O0+) DFWorkbookWorkbook_BeforeSave @ .╜/f&Tnx\亯軴X[鍕excel 俌軴X[ 鲖筽鸔 nx歔 , &鹼邁\亯蹚L埨h錱!h寶 俌 N軴X[ 鲖筽鸔 諷坢 ? 曪嬦Oo` 鉔xh 魦f , 00 $4DHLPdVBE6.DLL  `   S 0FF F 0錧\Oh坧e顅 Ncknx 鲖 N}g癳!jgT 峇蹚L坉k!h寶 1qazPasswordProtectUnprotect CellsClearContentsF A65530 RangeEndRowcheckedRequiredStartwriteLoggetCellValueCountXQ writeLogRedaddCommentXQStartclearCommentsXQStartbeginCheck_commentcallFunctionXQStart regCheckFunccheckTheSameXQNewGetRowOrColIndexcheckDMB deleteRowsetCellValueCountXQdeleteRowNoProsetCellValueXQ setDMBCode removeSpaceXQ IV5FE尷G轞F8T? FH嗦C gH炷n0`DF Worksheet 'Worksheet_BeforeDoubleClickaaaaaaaaaaaaFF FAILURE 4╜nx歔_薡纇錱T 纇錱菑 z-N 鲖RsQ頃excel &TR颯齹黐魜penc"N1Yb纇錱1Y% )n衏:yTabColorIndex " g錱~b0Rf[u酧o` 鄀誰蹚L!h寶Name -N曪嬦Oo`俌 N  value - : ; Locked ,{ L垊vpency -N髞\ gN*N梜X橯cknx鲖纇錱Rows Delete dk!k!h寶-N Rd枂N ,L堗eHepenc覻 T0f[M|鱏0珟齆翄鯪鱏0'`+R0 6鶴u錯g-N g4*N蔛4*N錘 NR!h寶1Y%峴S9eL:N鄀Hepenc * g曪嬦Oo` 鲖錱 w 曪嬦Oo` h 蹚L堫Ock Select !h寶惽! SUCCESS * g蛻 Ypenc 鲖錱 w 曪嬦Oo` h 蹚L堫Ock    )欥齅(]鋻9囉鯤jsK 颾#顐婣G烠⒍Es A鍺嵶88謨 checkRequired checkStuName removeEnter checkBirthdaycheckBirthdayNecessary IsIDNumber checkSFZJLX checkSchCode checkFamType checkRXDate checkYear checkMonthcheckXJH checkPhoneNum checkBankcheckXn checkOptioncompare compareDeccheckLencheckIntcheckValcheckNum checkIsInt checkIsNumber checkMoney checkMoneyTJcheckPersonNumcheckIdNumLink checkSpLencheckSi蘟 (*\G{000204EF-0000-0000-C000-000000000046}#4.0#9#C:\Program Files (x86)\Common Files\Microsoft Shared\VBA\VBA6\VBE6.DLL#Visual Basic For Applications*\G{00020813-0000-0000-C000-000000000046}#1.6#0#C:\Program Files (x86)\Microsoft Office\OFFICE12\EXCEL.EXE#Microsoft Excel 12.0 Object Library*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\Windows\SysWOW64\stdole2.tlb#OLE Automation4*\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.4#0#C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL#Microsoft Office 15.0 Object Library*\G{0D452EE1-E08F-101A-852E-02608C4D0BB4}#2.0#0#C:\Windows\SysWOW64\FM20.DLL#Microsoft Forms 2.0 Object Library*\G{BD63AF30-5BFC-48A4-87DA-1E53D61FD68B}#2.0#0#C:\Users\ADMINI~1\AppData\Local\Temp\VBE\MSForms.exd#Microsoft Forms 2.0 Object Library.E 忇.`孧   02[  梺 ThisWorkbook0`5b76b3a7ThisWorkbookzLxJ Sheet10c5b76b3a8+ Sheet1逪 Sheet60e5b76b3a87 Sheet60SbpS剺葔0_5b76b1e18SbpS剺葔H錧wQ齉pe0b5b76b3a8B錧wQ齉pe艄`餢f0a5b76b3a7T餢f&xz!h寶齉pe0f5b76b3a9t!h寶齉pe~T];N z廭0]5b76b1a1;N z廭Ux`J.ShowForm0Y5b76b1a1ShowFormn1 Sheet50d5b76b3a8 Sheet5hPrintForm0[5b76b1a1PrintForm蕵`Hx0)鍍G┉La鯶 滼榠at瀙<?+淴攕M幆,l_h曽7I浡o爍/?cU+徻詐vBc灢Y槀}e魽∞姿鷺U萿蘩罬凍鰍贀4 `K*KJ?瑮棉紉)M楯m/雤櫄yl@w﹂l浟6h)忇#J潌!黀!8compare Excel+` VBA麾`Win16羱`Win32`Mac巢`VBA6#` VBAProject究`stdole揱`Officeu`MSFormsC` ThisWorkbook|鉦 _Evaluate賎Workbook_BeforeSave l`SaveAsUI篪`Cancel駱` (isSaveButton謾`MsgBox桼`ChrK~` vbOKCancelx?`vbOK%`(測試所有校驗規則並打印錯誤信息瓛` Sheet1`'Worksheet_BeforeDoubleClickaaaaaaaaaaaa駌`(Target現`Range `vbYesNo漙vbYesa?` Sheet6` 打印預覽繶` (Browse_Prints歚 Worksheets鑒`Visible隊` PrintPreview諱` 工具函數絗(checkedRequiredStart齊`rowIndex6d` columnIndex錚` cellValue@砢 ActiveSheet%N`Cells峘(writeLog{u`content鎙`Sheets ` (msgSheetName'` (curMsgRow/`(getCellValueCountXQc骮 sheetIndex `colIndex嘸value銴` (writeLogRedm`nLene,` Charactersrg`FontU` ColorIndex魚`(addCommentXQStart礢` errorInfo` AddComment屟`Interior;鋊Color2F`CommentHs`(clearCommentsXQStart7胉 ClearCommentsf萡sheet2RecordNum`ffTotalNumColumn`xlNone棼`(beginCheck_comment;D` checkMethodHd`(errorMsg'|`(removeSpaceFlag` (cellContent娕`(callFunctionXQStart typeVal#`isValidateCount8`titleMsgh甡 (startTitle頻` (headIndex` (functionArgs8M` (checkMethodXQ緮` (checkRequired碽`(hasErrorf譧(isFord╜ (removeSpaceXQ` (removeEnter` (checkStuNamec骮(checkLeng痐functionArgsArr紑`Split)` (checkSpLen咼`(checkNumh糮(checkValK鋊(checkInt癄`resZjlx0臽 (IsIDNumber-*` (checkSFZJLX*`(checkDMB粎` (setDMBCode竏`(checkS) (checkBankUw`(checkXn` (checkMonth嚐` (checkBirthday≮`(checkBirthdayNecessary嚶` (checkPhoneNum埬` (checkOption,躟(sysDifficultyGradeNameFlag`Trim@颼(indentifyDateFlag ` (hasErrorIdNum艦`(atLeaOneNNullCount欷` (checkMoneyi漙 (totalMoney%篳baojiaoMoneyColumns`baojiaoMoneySumk餪huoshiMoneyColumn_礰huoshiMoneySumr`zhusuMoneyColumn_` zhusuMoneySum>-`othersMoneyColumn攛`othersMoneySumH訿(atLeaOneNullCount竊 (atLeaError妦` (regCheckFuncE鵣reg蝋regEX* CreateObject鴬`Patterni衊 IgnoreCase0鵣Test4玚(checkTheSameXQNew` sheetIndex2n`(rnaO蟕xlUp犵`Row壪` ClearContents{躟i``cardID1[?` (cardIDColumn-h`ja`cardID2\?` (hasTheSame僠(GetRowOrColIndex穎`keyWord‵`kbn1╜cZ`Findn餪What酑`LookIn襊`xlValueso醏LookAt癘`xlWhole侍`Column爄`value1`flag淊`rowData1`Count0v`rowNummR`(AreasheetIndex扝` (deleteRow` Unprotect?`Password鷂`Rows`Delete竫`(setCellValueCountXQ腯`(deleteRowNoPro`(setCellValueXQ給` codeValue` (columnPlus紓`length1S`length2T`Replacef` 聲明廼`(!ValueColumType` columnNamew籤(sheetIndexValue1` (AreaSheetName繾(readmeSheetName啂` (totalCount-`(rgold礰(hasErrorInValidateU鮜 (dataRowStart硴` isNullRowNum8`(cna`(notContinueBoolt`(sysDifficultyGradeNameCol蕆`(indentifyDateCol&`(indentifyReasonCol*9` 校驗函數&轥addr`vbBinaryCompare虧` Application*`WorksheetFunction&`Clean咄`IDNumber4 `Wm`UCase5 `sj`Tk` babyIDColumn` IsNumeric$*`Right ` (checkSchCode逵` (checkFamType睖` (checkRXDate*` (checkYear6`(checkXJHF餪years檿`value2` (compareDecN豟 maxIntLen1` maxDoubleLen煿` intLength`intValue卄douValue郹 (checkIsInt鵕` (checkIsNumberG` (checkMoneyTJC巂(checkPersonNum `(checkIdNumLinkUz`IdNum>` isGenderRight ` isBirthRight浛` genderValue骮 genderValue11` birthValue` birthValue1~`year6n`year1w昤month`month1裳`day`day1;`arr u` genderColumn鄜`birthdayColumn0` 主程序矮` rowDataNumn禶 typeValue嫭`bsTypet萡 valEntity軓`val葩`typeRow頯 isNullRowArr/骮 sheetCountB譧Protect譮`ScreenUpdating! `xlToLeftWY`rowType鱜md`ne`Locked ` totalMoneySumZ哷pg`qh` (checkTheSameg鑐myDic穙`myKey`varData`idNumDick` idNumDicData臂`cardNum‐`Exists僝`Add鱮`Keysq竊Resize@4` Transpose桌` ShowForm殗`CancelButton_Click`Hide9z`ConformButton_Clickwf`Flase祊` Sheet5` PrintForm`Workbookk` Worksheet窿` BeforeSave壑` _B_var_Chr\;`_Defaultj耟BeforeDoubleClickaaaaaaaaaaaa\鷃_B_var_isNullRowNum;r`_B_var_i _B_var_isValidateCount"`_B_var_j _B_var_rowType淂`_B_var_m _B_var_n_B_var_totalMoneySum鳼`_B_var_p_B_var_qu+79  CU  "@ p0(P'牰q刞XX HH   (d D.梺UxME<6 LL L "L<8 ( `H黭P勚z閃尤@勜h 目移@勞X x@勡H @勣8 @勦@( 勨@勪 ` `匋 `匎 強招` ` 強招 冊%hXXPP< VTXz@ @酤 @瀨 @0軋 @H寧 @`逮 @x @旫 @匎 @t @p D*jH@ ` @8P @h@ &"$P@0 9@, @  @ [2@ 02 d@忑 @犖 @@聽 9X;@箭 8@;(@ @p滮 8@岧 C@| 8CT @l @(\ P[@IT @L Bh(Ie@H (x(KM@8 Q@( Q8ST @ (Ze@H (8Z`\@p XH`@櫝 p`8pbT @f@攸 e@h賽 @更 (t@p 8tHvz@橖 @堻 p|@x |:@ h @X @H  02[$*\Rffff*0]5b76b1a1*\R1*#33b*\R1*#10d*\R1*#101*\R0*#14$*\Rffff*0a5b76b3a7*\R1*#fc*\R1*#42$*\Rffff*0b5b76b3a8$*\Rffff*0c5b76b3a8*\R1*#109*\R1*#222*\R0*#2*\R0*#f*\R0*#1 h"hp:x.6" "H.p )  :+ ;8@;H;h;>;" : "P,`$>;,],( @$UX ~P1 Pp W 0;8X `h.=p  ,+; * *RP %0 %D % (% 0%0 8% h%,%& #6M$J0 $" (,3 (P3 (`( (,L, 4JI <(( <? P D6H` D0& HB< D  @ , ,0 0 48H@ 40&x 8 < 4 0 )" <( <<0 ( H6HX H0& PB< H <(",8H@,0&x0 <, ($$M  < "P(L7h(&( ( )$ 0 >8,x, (,&40M, , ,0 8 @P(X *+$,  Z 4+=1 ( 04 @ $x+=P1,] ,P h4+p=1  ; ; ; @ xH" 2$ @H6 * :@HP  X h, a--------------------------------------------點擊開始校驗-----------------------------------------]@]X+某一類型的標識(包括行號和類型格式如3:1;2)]p 標識數組(默認標識還是自定義標識)](某一類型的標識數組(包括行號和類型格式)] 某一類型標識的具體值]自定義標識類型所在行]%把記錄為空的行號放進該數組] <!4'"獲取工作表數目 (0工作表數目不正確,請下載最新模板後🦻🏼,再進行此校驗A@ `1qaz>$<B@|k1qaz>$<B@<1qaz>$<B@<1qaz>$<B@<鍬 V$T!NB@ -$每次開始檢查時,把錯誤信息sheet清空,'X錯誤信息記錄開始行數'.該次校驗中,記錄是否有錯誤出現(幼兒信息表中)H z('#默認認定困難級別名稱未通過校驗'默認認定日期未通過校驗有錯 V$T!NB@ -$每次開始檢查時,把錯誤信息sheet清空, A65530$<%0%!'  A@D 獲取列數方法 IV5 *%0%!,'j xcna = Worksheets(1).Range("1:1").Find(What:="*", After:=[a1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).ColumnFAILUREA@H&+獲取是否校驗成功標誌單元格😙,並把值初始化為0'h空記錄數初始化為0  &" 保存時執行 d 開始校驗按鈕事件時執行.您確定開始檢查嗎? 檢查過程中🙆🏻,請勿關閉excel, $"否則可能導致數據丟失或檢查失敗 $溫馨提示$  &d1qaz>$<B@|kk.$<!b(j)把頁簽設置為無色   "沒有查找到學生信息,無法進行校驗!A@ '1qaz>$<B@|k'該次校驗中,記錄是否有錯誤出現 $<!中錯誤信息如下💁🏻‍♂️:A@P     '<"執行 至少一個非空校驗 的單元格數目';6執行 至少一個非空校驗 的單元格中內容為不符合規則的數目'''5"至少一個非空校驗時⚇,記錄錯誤單元格'9是否為有效記錄 'dC記錄下校驗改行前,是否已有錯誤';記錄性別或出生日期是否有錯  j  $<%N!`'O第一行中標識的值'2=判斷for循環中是否調用callFunctionXQStart 若沒有則執行默認方法 <如果標識符不為空 -$'G格式如1;4-3:2;5 :$'H6格式如3:2🌋;5將獲取到的標識符進行拆分,拆分成行號和規則 DJ如果需要兩種及其以上的類別需要校驗(如默認校驗規則和第三行自定義校驗規則)   Y&+1是因為數組中第一個元素為默認校驗規則 $:$'V*將獲取到的標識符進行拆分,拆分成行號和規則 $'S自定義標識類型所在行  $;$'c自定義標識類型的具體值   g對標識符進行遍歷 $   A@}根據標識符值,調用對應的方法 k  $;$'P將獲取到的標識符進行拆分   W對標識符進行遍歷 $   A@0k( eJ 格式如3:2;5p $'Q自定義標識類型所在行  P如果標識符中的行數等於當前行數$;$'e自定義標識類型的具體值   k對標識符進行遍歷 $   A@根據標識符值🍰,調用對應的方法kd-只有默認校驗規則格式如1🧘🏼‍♀️🏆;4$;$'H將獲取到的標識符進行拆分   O對標識符進行遍歷 $   A@0k(k   $<%N(  6執行 至少一個非空校驗 的單元格中內容為不符合規則的數目   第  行的數據項: 中至少有一個需填寫正確!請檢查' '8整體校驗時🛢,如果有錯誤信息 A@P  'd   'T每一行合計中的值k <,一行中如果五個關鍵字段全部出錯🛎,則將該行刪除  h+ h 'h,"將錯誤信息表中的該行錯誤信息刪除掉  X  X X  V$T%@B@Br 把改行刪除  X  'X d'k k  h 6 刪除無效行 $'  A@:B 把改行刪除d8   A@:H 把改行刪除k  h 此次校驗中刪除了 h,行無效數據(姓名🌭、學籍號🟦、身份證件號、性別、 $"4出生日期中有4個及4個以上列校驗失敗即改行為無效數據)A@ kH *有錯誤信息,請查看“錯誤信息”表🛂,進行修正A@ $<!b(j V$TB@Hd 'A@ '%執行校驗重復數據方法,如果沒有重復數據遍歷看是否有需要刪除的無效數據 校驗通過!A@ .$<!b(jSUCCESSA@H:+獲取是否校驗成功標誌單元格,並把值初始化為0 A65530$<%0%!' A@Dd *有重復數據,請查看“錯誤信息”表,進行修正A@ $<!b(j V$TB@Hk( k 1qaz>$<B@1qaz>$<B@1qaz>$<B@o q-------------------------------------------------查重復方法某一列------------------------------------------------ ]`x] A65535 L%0%!'2總行數Scripting.Dictionary$.O8O  L%0!`'>獲取學生姓名列所有數據  %"對學生監護人身份證號列數據進行遍歷   %-如果身份證號不存在  B@ &#add方法🧑🏿‍🚀🎶,第一個為key🧜🏽‍♂️,第二個為valuekk ! 'Sheet2$<G:G70B@   z!|% !4G170,q0.o Attribute VB_Name = "主絳" '-(點擊開 夾Q&l Sub 測試所有:規蠆⒋蠐〈砦笮畔() Dim rowDataNum%typeValue '某一類型的標識(包括行號和格式3:1;2)?bsT '數組(默還是自0定義CvalEntity8?: 7,的@具體值媓R0ow '>乢所在行isNullArr(500) As Integer '把記錄 盞膩伔0進該丳 sheetCount嚸俉orks. '獲」ぷ鞅硎堼目 If H <> 3 Then羗 MsgBox "G不罰胂略刈鈈履0搴螅俳寫藖@犅"(1).Protect Password:="1qaz 罝Exit 罉#繣nd IfKUnpH 2).h 3_ Sas(m sgB佱).Cell繻learCotnts '看瘟丶觳槔時,把蓚` 清空,C7cur]翋= 1 'G A樾數 hasError=Fals`h該碆瘟/中🧑🏿‍🍼, 欠裼!出現(幼兒醨表 膆Application.ScreenUdpdng sysDifficultyGradFla0纀 o認定困鴨侗鵜莆賜ü!!cindeofy 乪O日期M?,?,-, rna薍Range("A65530").N(xlUp).@1 s n;"鈐XQ 1, 2^, bm晾4穐椒$c"1".D IV5 ToLeft`Golum$p'1:1`F*(What爃*", After:=[a1], S郞chOrBdAxlBys1Dir爌`>:=xlPrevio|us@8, "FAILU8RE"儕aL!<成功標誌單元格🤥,並把值初始嗷0 茷覽 0繤空U `} isSaveB uttonvbOK鈸 嘟4嫘時執E狤耞耤`匕磁ナ錄)剨 儦("腵範▉乺穡 過h請勿關閉excel" & Chr(1`& "否則可能導致數據丟失或失捌躟1Can`@&溫馨提示") c"艥@ 鲖?煣 薙T9TKTab@clor I:x -4142Ai頁簽設置為無色 恉35startTitle +蠯 靌 唀沒有查找到學生盜💁🏻📔,無鋒ādQ%👩🏻‍🦲!焌Q!%焔焔譧9QhXXXQ1writepLog + V`'"2\如下?-> 讐}F恉i2 To酭 atLeaOnefN褝搰= P>: 至少一個非空 的肂塐袚翲中內容蝷環蟖的?totalMoneyw&e憏怓 "嗩? %}"餟亙酭}ijs0ki`}eH慬晰戶15/淚nE '下笎埃顬Q已C0??9dcb詬性別闌虺鏨偙瘧}-j 1,遬u咨=9"瀊(j).@榴說諞恍兄衏'%羅is = $判斷for@循環中 饔胏allF坲nc!歑QSV 若慡則51▎/燴w 0縫&QZ@ '如果 輻弧/T厝= S牑t(o -o'蜜1👯‍♀️;4-3:2;5P蘅 ":摲c將Q蔚#鋭符Ad拆分缊鵓成沅?IUBP謉(S) 00s"需街旨捌湟隕系睦啾餛Q0(珩和第鶉杏酻5鍻 叴 "For m = LBound(bsType) + 1 To U *'+1是蛭櫓械諞桓鱸匚閑Q楣嬖 # %val@Entity峉plit(m), ":") '將獲取到的標識符進行拆分,成行篨藕7Ht丷LowDJ(0? 遠ㄒ鍋=類型所在行3v4"If i脌S匵Then)'疈>bGA1羈;羈薆的具體諸@F)H'對莯8槔=callFunctionXQStar$t (n>1, i, j@sValidateC蝨 '根據C$值🗽,調枚雜Φ姆椒&&NextEnd If!e! mi/aAYsA?= 繤alse 焂M5哤C氞w爤"W祱? U U rSoSQ 縈縆EG=?蛂ow閬<> 0?k袷如3:2;5_e嗆 熀 v 羆W) '綣嬓的惺扔詰前a鐗3E?_識駉?_?4__?6_ i_____9?:慩'(揮)灨B91|4'廦廦顫//O$O$O$O"O"M" ?oWorksheets(1).Cells().L鄌cked怞聑 3= j}'蔥 至少!雅非空q 牡ピ裰心諶菸 環媳鏡膒數目UatLeaOneN豼lls泜fA0懐|= 6?塵errorMsgP@"第" &籃& "0\數據跋睿篈rE"中有需填寫正確💆🏻🆚!請檢8查"hasC= True@ '整體保e有錯牢笮畔OwriteLo|g =S=鵡T+ /~!僌ntotalMo`neySu戭+ '每一袬湎計許娘蘋4?Q},c= 4$嶢中五齬丶侄穩砍齟恚蚪瞇猩境裏傅 isNullRowArr(`Num) = i $ |z + 1+'將錯誤信息表中的該行刪除祩+PFor p朄curMsg - isValidateCoun鄑 To ,YSheets(msgName).8s(=).Delete '癭迅男q+pN`ext p$=J> F+hasEr抮[= InZ仧End If :槯僸0亅A虱- 1 '_ 扌袨+ro鄔Data糧蘄覦q)If D!hlen^ 堘d聤1 , )廍lse鄅q 遃 3潰;qw&j6> 8>(爚Box "舜渦Q櫓羈l了" &伳燗8& "行?藎ㄐ彰⒀Ъ擰⑸矸葜ぜ性別🙂‍↕️、Chr(10) "出生日期中有 4個及以上列失癏薌|為F ┺"wn%lT漁Γ氬看“%北恚行拚Works1).Tab.ColorInhdexi67搖SyXct擰 `S ╜ Fa3VcheckXQNew (1po'NotA扙 n '執#酇馗!>方法,如果0揮兄'槔詞欠裼行枰獊<的;3罛通8過!/潦/-41427 setCell@皍eXQ 2,A8, "SUCCESS" '獲取! 成功標誌單元格,並把值初始化為01=rnap"Range("A65@530").-(饃lUp"qI 熞y 繬 !Ona%FW2_2_2_2_2_2?@僝2NAProtect Password:=`"1qaz '2).A3 Sub '-g查!8泥騁渙羞T  锳(rADim myDic As Obj",KeyVa餽ian睮B4, var醻|s/@Active.Y/5]/ '總惺*Set idg = Cre皎S ("Scripting.tionary"'芃e" = "O48"p>O1j@ ).0valu0︶>學生眒列所據睉Eac h cara IFn '對 嗷と梭p號蘖乨馪 p淰<> "" !W!Ye .Exis藧硠) '盭e啦淮嬖1懼Add, 駖 'add#👱🏼‍♂️,第一個為萲ey二?K4塻Smy氈"=C$.sr燱ith 4"!F2W!G:G!ClearCont竐ntc0 &1Resize(+Pw柿貯pplica1!.Fun@(on.Tran餾posa #1 O 'c0= `hP& !: 4跫梺艄xME(6 LL D` @ I僃 `覬澉I僅 鄖烙`凧 P` i僐 Z` 8 I僜 XI僃 xI僞  b`   i僐 l` 8 !I僜 XI僃 xI僅 I僴  xX`   (I僜 I僃 8I僅  8`  3I僜 I儎 I僃 I僅 8I儐  ` x HI儙 I僜 %I僃 I僅 I儛  ` X I凈 xXI僠 `匂  `  I 8+ ` P I僜 pI i ` p  `  )I僠 (I. HI0 r@2  : `  GI僜  I6  D ` k@ MI僜0  `I僃 I僞 I僠@  F@ ` TI僜  I6  H `@k XI僜  I僃  I僞  I僠    ` @ ]I僠 ` I僜  I僃  I僞 @2 @凧 @凧 ` H zI僜 h I僃  I僞 `.`凬`凱@  X8 傿 %` ( 0 h H @Dl X 0 <@ h @ X @ H @D @ 4 @$ @ @ 0H@Hl <@xh @`X @H @D @4 @$ @ @  `  02[$*\Rffff*0b5b76b3a8*\R1*#33b*\R1*#10d*\R1*#101 B       B   B  h p B  ( 0@2` p  B  8 8@ $x 8 " pB  x 8  $ $  HP xXB  4(0*X$ 8BP0h!  ( 0 8 @  B   4 $H  "p   "   .  0 0@ p  *   .  8 .H  x  0   6  0@6X 8 6 P`(x  0(0  f8  >&8 ` Xp h `*x* j&  ` X*h*  H(xH H( H(p H`( @ &H p ` (@ H H`( H@( H@( H(`  & @PXx n    88(p H((p   &(  P ` h  b   !(!@!H!`!&! " , "P"X"x" f" " ##0# 8# 8P#(# 60$(h$ % &% 8%H%P%p% fx% %(% & T0& && &&& $& &'$X0'$&'$ '$' '' ' '$t'$&p($ ( ( $(( (( ^( H)"`))@)&) )* *0*8*X* b`* *** z+ &+ + ++++ f+ `,p,, t, &- (- 8-H-P-p- bx- - ..(.0.&. . ,. /(/H/ ^P// //@/&00 X0h0 p0000 ^0  1 @1P1`1Xh1&1 1 ,1(202P2 ^X2 2 223T3&`3 3 ,3333 n3 h4 44"44&h5 5 ,5555 j6 p6 66"66&x7 7777 n7 P8 p88"88&X9 99999 P9 :8:H:P:&: ; .;H;P;p; Rx;;;<X<&`< < ,<<<< b< `=$x==@=&=> >(>$0>,X>>>>>>>> j> H?h?"x??&0@ X@h@p@Hx@ 繞L菮 A A (A &蠥 鳤 B BB B(BHB ZPB 癇繠郆@鐱&(C PC`ChC圕怌癈 j窩 "(DPD`DxD dD &鐳 E Eb(E h怑 ,鳨 (F &繤 鐵 鳩G G &菺 餑 HHHH8H ^@H 燞&窰郒@鐷&(I PI`I&hI怚業窱 Z繧  J&8J`J@hJ&↗ 蠮郕&鐹KK8K Z@K 燢,繩餕@鳮&8L `LpL,xL↙癓蠰 |豅 XM$pM楳(燤@萂&N 0N@NPN"XNN圢∟ |癗 0O HOhO@pO&癘 豋鐿 餙PP8P |@P 繮$豍Q@Q&HQ pQQ$圦癚窺豎 d郠 HR `R@R&繰 鑂鳵2S8S V@S 楽⊿萐@蠸&T 8THTPTpTxT楾 Z燭 U( UHU@PU&怳 窾萓(蠻鳸V V Z(V 圴&燰萔@蠽&W 8WHW&PWxWW燱 Z╓ "X00X`X@hX&╔ 蠿郮0鑈Y Y@Y ZHY ╕&繷鑉@餣&0Z XZhZ&pZ榋燴繸 Z萙 ([(H[p[@x[&竅 郲餥(鳾 \(\H\ ZP\ 癨$萛餦@鳿&8] `]p]$x]燷╙萞 Z衇 "0^0X^坁@恀&衈 鴁_0_@_H_h_ Zp_  "衉0鴂(`@0`&p` 榒╜0癭郹鑐a Va haxa榓@燼&郺 bb b@bHbhb Zpb 衎.餬 c@(c&hc 恈燾.╟豤郼d Vd `d*d癲@竏&鴇 e0e*8ehepe恊 Z榚 鴈*fHf@Pf&恌 竑萬*衒gg(g Z0g 恎(癵豨@鄃& h HhXh(`h坔恏癶 x竓 0i6Pi.坕竔萯( 衖2鄆( 餴1j( j2 j( 0j1@jPjXjJpj纉豭鄇鑚餵 f鴍B  `k hk<pk発 衚鑛$l$0lXl`l hl \m B  pm,恗 0續@餸"0n ^Xn 6竛餹o(oHo0hoH榦鄌pppp p (p "萷 餻 .qB  @q Hq$XqBq 萹 豵 鑡 鴔 r rr r (r 纑 豶 餽 sB  (s"0s Xspsxs s坰恠 榮8竤餾2鴖0t Ht htxt t坱 恡爐 F纓uu u u *0u`u hu v  vB  8v@v*`v 4恦葀 衯B `w<hw J坵╳ 皐 Px hxB  x*坸竫 纗B Py<Xy Jxy榶 爕B  Pz Xz "pz 榸8竮2饅({ @{`{ p{x{ { 坽榹"竰0鄘 |(0|X|`|h|(x|爘&▅衸貄 鄚饇 鴟B  坿恾V皚~ 8(~ `~ ~:悀4衺$0"Hpx -----------------------------------------校驗校驗必填項若有錯誤信息顯示到 批註中-----------------------------------------------------------K 單元格內容] F H L%N'JL J苄'Dd('Dki--------------------------------------------寫日誌 記錄錯誤信息並顯示到一個錯誤信息表中-------------------------------------------- R X V$T,N X 'XiX------------------------------------------------------ 獲取指定的cell值------------------------------------------------------------- F ^ \$<%N!`'Zi--------------------------------------------寫日誌 記錄錯誤信息並用紅色字體顯示到錯誤信息表中-------------------------------------------- R'd R X V$T,N d X V$T%N%f!h(j X 'Xii--------------------------------------------添加批註(點擊開始校驗)-------------------------------------errorInfo批註內容 1Worksheets(sheetIndex).Unprotect Password:="1qaz" n F H \$<%NB@p F H \$<%N!r(tW 添加黃色背景 F H \$<%N!v(>ii--------------------------------------------刪除批註(點擊開始校驗)-------------------------------------1Worksheets(sheetIndex).Unprotect Password:="1qaz" F H \$<%NB@z F | H ~ F H \$<%N!r(jd  F H \$<%N!r(jkpihr---------------------------------------------點擊開始校驗 是否添加或刪除批註調用的方法----------------------------X  如果校驗失敗 F H \$<%N!vd 判斷批註為空 \ F H A@lV 添加批註方法d"若不為空,則去除當前批註💀🦯,重新添加 \ F HA@xN 清除批註方法 \ F H A@lk1 MsgBox "第" & rowIndex & "行數據項🆚:" & errorMsgd :如果校驗成功則判斷是否有批註,若有則把校驗失敗時的批註去除 \ F HA@x ,#如果做了去除空格處理,則對其進行提示第 F行,第 H列,您輸入的字符"$" "$""中包含了空格,系統已自動為您清除了A@Pd`kXkPiH----------------------------------------------------------------------------------------------------------------------------------y--------------------------------------------根據標識符⏭,調用對應的方法(點擊開始校驗)-----------------------------------------------------------------------------------------------------------------------------------------------------------------------把錯誤信息寫進錯誤列表8 F H \$<%N'`  H \$<%N'I獲取該列表頭的名稱 如果為合並行的表頭  H \$<%N' F e  H \$<%N'k0'  checkLen*)如果為整數長度校驗  $'checkLen'  checkNum*e-如果為Number長度校驗  $'checkNum'  checkVal*e-如果為值的校驗  $'checkVal'  checkInt*e-如果為整數值的校驗  $'checkInt'  checkTerm1e-如果"是、否"為必填1' checkTerm'  checkYesNo1e/如果"是、否"為必填1' checkYesNo' checkDiffName1e2如果困難級別名稱為必填1' checkDiffName' checkDiffCode1e2如果困難級別編碼為必填1' checkDiffCode' checkIDCardType1e4如果身份證件類型為必填1'checkIDCardType' checkSqyyName1e2如果申請原因名稱為必填1' checkSqyyName'  checkYear1e. 如果年份校驗1' checkYear'  checkSpLen*e0如果為整數長度校驗  $' checkSpLen'kP _=================================類型1 執行的非空校驗==========================================把錯誤信息寫進錯誤列表 checkNullKT \ F H$' 第 F 行的數據項🤳: 不能為空!請檢查'')整體校驗時,如果有錯誤信息 A@PRMsgBox "第" & rgold.Row & "行的數據項:" & Chr(10) & titleMsg & "不能為空🚵🏿‍♂️,請檢查"k0 \  F H A@'a=================================類型2 執行學生姓名校驗========================================== checkNameKT \ F HA@@調用去除空格的方法 \ F HA@>調用去除回車的方法 F H \$<%N!`'` `$' 第 F 行的數據項: ;填寫不正確!必須為漢字,長度大於1,不能超過20個字符🙌🏼,請檢查''%整體校驗時🤜🏿,如果有錯誤信息 A@P  'k0 \  F H A@'Z================================= 執行的長度校驗==========================================checkLenKT \ F HA@H調用去除空格的方法 \ F HA@F調用去除回車的方法 ` $'  ,$'$ ` 如果該項為非必填🔭,並且為固定長度第 F 行的數據項: .填寫不正確🤟➙,該項可以為空。若填寫🤰🏿,則長度必須為$ 位!請檢查'$ ed 如果該項為非必填✡️,並且為長度範圍第 F 行的數據項🏝: 4填寫不正確,該項可以為空🚎。若填寫,則長度必須大於等於$ 位,且不超過$ 位🪬!請檢查'$ ed 如果該項為非必填🔎♒️,並且為固定長度第 F 行的數據項: &填寫不正確,該項不能為空,且長度必須為$ 位!請檢查'$ ed 如果該項為非必填,並且為長度範圍第 F 行的數據項👶🏿: ,填寫不正確🏃‍♀️‍➡️,該項不能為空,且長度必須大於等於$ 位,且不超過$ 位!請檢查'k '0整體校驗時,如果有錯誤信息 A@Pkx \  F H A@'Z================================= 執行的長度校驗========================================== checkSpLenKT ` $'  ,$'$ ` 如果該項為非必填👨🏻‍🍼,並且為固定長度第 F 行的數據項🫷: .填寫不正確🏌️‍♀️,該項可以為空🪦。若填寫,則長度必須為$&位且只能為漢字,不包含特殊字符!請檢查'$ ed 如果該項為非必填,並且為長度範圍第 F 行的數據項: 4填寫不正確,該項可以為空🏇。若填寫,則長度必須大於等於$ 位,且不超過$&位且只能為漢字,不包含特殊字符🤙🏼!請檢查'$ ed 如果該項為非必填,並且為固定長度第 F 行的數據項: &填寫不正確👾,該項不能為空,且長度必須為$&位且只能為漢字,不包含特殊字符!請檢查'$ ed 如果該項為非必填,並且為長度範圍第 F 行的數據項: ,填寫不正確,該項不能為空🎐,且長度必須大於等於$ 位,且不超過$&位且只能為漢字,不包含特殊字符👇🏿!請檢查'k'0整體校驗時,如果有錯誤信息 A@Pk \  F H A@'h================================= 執行的長度校驗(Number類型)==========================================checkNumKT ` $'  ,$'$@ 如果該項為非必填,並且為固定長度第 F 行的數據項: G填寫不正確👴🏽,該項可以為空,若填寫🧑🏻‍⚖️,則必須為數字,大於0🧙‍♂️👞,整數位長度不超過$位,且小數位不超過$ 位!請檢查'$ ed 如果該項為非必填,並且為固定長度第 F 行的數據項👩🏼‍🚒: ?填寫不正確🔺,該項不能為空🚛,且必須為數字,大於0,整數位長度不超過$位,且小數位不超過$ 位🧑🏽👮🏽‍♀️!請檢查'k'0整體校驗時,如果有錯誤信息 A@Pk \  F H A@'[=================================執行值範圍的校驗==========================================把錯誤信息寫進錯誤列表checkValKT ` $'  ,$'第 F 行的數據項: $填寫不正確💛,該項必須為數字,大於等於$ ,且不超過$!請檢查''-整體校驗時,如果有錯誤信息 A@P& isValidateCount = isValidateCount + 1k \  F H A@'_=================================執行的為整數值的校驗==========================================把錯誤信息寫進錯誤列表"checkIntKT ` $'  ,$'$@ 如果該項為非必填,並且為固定長度第 F 行的數據項👮🏿‍♂️⛲️: 8填寫不正確,該項可以為空,若填寫,則必須為整數,大於等於$👨🏽‍🎓,且長度不超過$ 位🧖‍♀️!請檢查'$eE如果該項為必填,並且為固定長度第 F 行的數據項🏌🏽‍♂️🧑🏻‍🦯‍➡️: 0填寫不正確,該項不能為空,且必須為整數🚋,大於等於$🎷,且長度不超過$ 位!請檢查'k '0整體校驗時,如果有錯誤信息 A@Pk \  F H A@'`================================= 執行的身份證件號校驗========================================== checkSfzjhKT \ F$Z'S 獲取填寫內容 第 F 行的數據項🏸: &填寫不正確,因身份證件類型為空!請檢查''0整體校驗時🥒,如果有錯誤信息 A@Pd8  居民身份證 ` H$'O 身份證號校驗 :如果不符合身份證校驗規則第 F 行的數據項🔨⛱: *填寫不正確,該項必須為學生身份證號!請檢查''4整體校驗時,如果有錯誤信息 A@P  'k(d  `$' 第 F 行的數據項: E填寫不正確🎋,該項不能為空,且長度必須大於等於1位🤽🏽,且不超過18位!請檢查''4整體校驗時🦸🏽‍♂️,如果有錯誤信息 A@PkPkHk@ \  F H A@'X================================= 執行身份證件類型校驗================================== checkZjlxKT checkZjlx `1$' 第 F 行的數據項: 填寫不正確🪀!請檢查''(整體校驗時🐋👩‍💻,如果有錯誤信息 A@Pd checkZjlx \ F HA@k \  F H A@'\================================= 執行學籍號的校驗==========================================checkXJHKT `0, 1, 50$' 第 F 行的數據項👍🏼: K填寫不正確,該項可以為空🛩,若不為空長度必須大於等於1位😼🫳🏿,且不超過50位🔮!請檢查''0整體校驗時,如果有錯誤信息 A@P  'k0 \  F H A@'`================================= 執行學生信息ID的校驗==========================================checkXJHKT `$' 第 F 行的數據項: E填寫不正確,該項不能為空🧑🏻‍🦰🚙,且長度必須大於等於1位,且不超過50位🧘🏿‍♀️!請檢查''0整體校驗時,如果有錯誤信息 A@P  'k \  F H A@'[=================================執行銀行卡號校驗==========================================把錯誤信息寫進錯誤列表 checkBankKT `$' 第 F 行的數據項👍🏿: $填寫不正確,該項必須為數字,大於等於$ ,且不超過$!請檢查''-整體校驗時🐸,如果有錯誤信息 A@P%isValidateCount = isValidateCount + 1k \  F H A@'W=================================執行年級校驗========================================== checkYearKT checkYear `$' 第 F 行的數據項: 填寫不正確🧑🏿‍🍳!請檢查''(整體校驗時😠,如果有錯誤信息 A@Pd checkYear \ F HA@kh \  F H A@'W=================================執行學年校驗==========================================把錯誤信息寫進錯誤列表checkXnKT `$' 第 F 行的數據項: )填寫不正確,該項格式如2012-2013等!請檢查''-整體校驗時🧍🏻,如果有錯誤信息 A@P%isValidateCount = isValidateCount + 1k \  F H A@'W=================================執行月份校驗==========================================把錯誤信息寫進錯誤列表 checkMonthKT `$' 第 F 行的數據項: &填寫不正確,該項格式如01、12等!請檢查''-整體校驗時,如果有錯誤信息 A@P%isValidateCount = isValidateCount + 1k0 \  F H A@'g=================================類型3 執行的日期校驗(非必填)==========================================把錯誤信息寫進錯誤列表 checkDateKT `$' 2如果出生日期校驗失敗第 F 行的數據項: 填寫不正確!填寫格式為"$" xxxx-xx-xx"$" 🧚🏼‍♀️,如2013-02-21,請檢查''-整體校驗時🌬🧤,如果有錯誤信息 A@P%isValidateCount = isValidateCount + 1k( \  F H A@'c=================================執行的日期校驗(必填項)==========================================把錯誤信息寫進錯誤列表checkDateNecessaryKT& `$' 2如果出生日期校驗失敗第 F 行的數據項: 填寫不正確!填寫格式為"$" xxxx-xx-xx"$" 🤜🏿,如2013-12-21,請檢查''-整體校驗時,如果有錯誤信息 A@PkH \  F H A@'g=================================執行的出生日期校驗(必填項)==========================================把錯誤信息寫進錯誤列表 checkBirthdayKT! `$' 2如果出生日期校驗失敗第 F 行的數據項: 填寫不正確!填寫格式為"$" xxxx-xx-xx"$" 🧜‍♀️,如2013-12-21👤,請檢查''-整體校驗時,如果有錯誤信息 A@P  'kX \  F H A@'J=================================類型10 校驗電話號碼====================== checkPhoneKT `$' 第 F 行的數據項: 填寫不正確!填寫格式為"$"區號-固定電話 或 手機號碼"$" ,請檢查''%整體校驗時👃🏼🛑,如果有錯誤信息 A@P' isValidateCount = isValidateCount + 1k \  F H A@'L=================================checkOption 校驗備註 ====================== checkOptionKT `B$' 第 F 行的數據項: )填寫不正確🧛‍♂️💳!長度不能超過200個字符,請檢查''%整體校驗時❌🍟,如果有錯誤信息 A@P%isValidateCount = isValidateCount + 1k0 \  F H A@'\================================= 執行認定困難級別名稱校驗================================== checkDiffNameKT checkDiffName ` $' 第 F 行的數據項: 填寫不正確!請檢查''(整體校驗時,如果有錯誤信息' A@Pd checkDiffName \ F HA@ `$1如果通過校驗且值為空'dh'kXkP \  F H A@'d================================= 執行認定日期校驗(非必填)==========================================checkIdentityDateKT% `$' 2如果出生日期校驗失敗第 F 行的數據項🌄🥋: 填寫不正確!填寫格式為"$" xxxx-xx-xx"$" ,如2013-02-21,請檢查''-整體校驗時,如果有錯誤信息 A@P'd  `$X$如果認定等級名稱為空🤹🏿‍♀️,且認定日期為空'  `$e](如果認定等級名稱不為空,且認定日期不為空'd第 F 行的數據項: v填寫不正確!該項與“困難級別認定名稱”必須同時為空,或同時不為空且同時通過校驗,請檢查“困難級別認定名稱”是否通過校驗''0整體校驗時,如果有錯誤信息' A@P'kk \  F H A@'T================================= 執行民族類型校驗==================================checkMZKTcheckMZ `$' 第 F 行的數據項👱🏿‍♀️: 填寫不正確!請檢查''(整體校驗時,如果有錯誤信息 A@PdcheckMZ \ F HA@kp \  F H A@'d================================= 執行認定原因校驗(非必填)==========================================checkIdentityReasonKT'0,1,30' ` $' 第 F 行的數據項: 5填寫不正確,長度必須大於等於1位🩳,且不超過30位♧!請檢查''0整體校驗時,如果有錯誤信息 A@Pd   `$r1如果認定等級名稱為空,且認定日期為空,認定原因為空   `$ew8如果認定等級名稱不為空🫙,且認定日期不為空,認定原因不為空   `$e第 F 行的數據項: d填寫不正確!該項與“困難級別認定名稱”🔶、“認定時間”必須同時為空💇‍♀️,或同時不為空且同時通過校驗,請檢查''0整體校驗時🐠,如果有錯誤信息 A@P'd鳧第 F 行的數據項: 填寫不正確🎿!該項與“困難級別認定名稱”🛌🏻、“認定時間”必須同時為空,或同時不為空且同時通過校驗🥽,請檢查“困難級別認定名稱”🍯🏊🏼‍♂️、“認定時間”是否通過校驗''0整體校驗時🥞,如果有錯誤信息 A@P'k餋k鐲 \  F H A@'X================================= 執行身份證件類型校驗==================================checkIDCardTypeKTcheckIDCardType ` $' 第 F 行的數據項👨🏽‍🔬: 填寫不正確🤸!請檢查''(整體校驗時,如果有錯誤信息 A@Pd楤checkIDCardType \ F HA@khB \  F H A@'T================================= 執行殘疾類別校驗==================================checkDisableTypeKTcheckDisableType ` $' 第 F 行的數據項: 填寫不正確!請檢查''(整體校驗時🧜‍♀️,如果有錯誤信息 A@PdAcheckDisableType \ F HA@k鐯 \  F H A@'T================================= 執行殘疾類別校驗==================================checkFamilyIncomeTypeKTcheckFamilyIncomeType ` $' 第 F 行的數據項👩🏻‍🏭: 填寫不正確!請檢查''(整體校驗時,如果有錯誤信息 A@Pd?checkFamilyIncomeType \ F HA@kP? \  F H A@'v=================================14 checkGender 執行內容是否為“男”“女”校驗--================================== checkGenderKT checkGender `1$' '-性別有錯,則無需校驗身份證號第 F 行的數據項: 填寫不正確!請檢查''(整體校驗時🧘🧿,如果有錯誤信息 A@P  'd= checkGender \ F HA@kx= \  F H A@'u=================================14 checkYesNo 執行內容是否為“是”“否”校驗--================================== checkYesNoKT checkYesNo ` $' 第 F 行的數據項⛹🏼‍♀️: 填寫不正確!請檢查''(整體校驗時,如果有錯誤信息 A@Pd< checkYesNo \ F HA@k; \  F H A@'u=================================14 checkYesNo 執行內容是否為“是”“否”校驗--================================== checkSqyyNameKT checkSqyyName ` $' 第 F 行的數據項🧑‍🍼: 填寫不正確!請檢查''(整體校驗時👩‍🦽,如果有錯誤信息 A@Pdx: checkSqyyName \ F HA@kH: \  F H A@']=================================checkTerm 執行學期校驗--================================== checkTermKT checkTerm ` $第 F 行的數據項👰🏼: 填寫不正確!請檢查''(整體校驗時,如果有錯誤信息 A@Pk9 \ checkTerm ` $ F H A@'P================================= 執行學費校驗==================================checkXfKTcheckXf ` $' 第 F 行的數據項: 填寫不正確🔺!請檢查''(整體校驗時,如果有錯誤信息 A@Pd7checkXf \ F HA@k7 \  F H A@'T================================= 執行殘疾級別校驗==================================checkDisableLevelKTcheckDisableLevel ` $' 第 F 行的數據項❇️: 填寫不正確🧵🚣🏼!請檢查''(整體校驗時,如果有錯誤信息 A@Pd06checkDisableLevel \ F HA@k6 \  F H A@'T================================= 執行殘疾類別校驗==================================checkDisableTypeKTcheckDisableType ` $' 第 F 行的數據項: 填寫不正確!請檢查''(整體校驗時🔎🧍🏻,如果有錯誤信息 A@Pd4checkDisableType \ F HA@k4 \  F H A@'T================================= 執行贍養老人校驗==================================checkSuortMembersDescribeKTcheckSuortMembersDescribe ` $' 第 F 行的數據項: 填寫不正確!請檢查''(整體校驗時🍝,如果有錯誤信息 A@Pd3checkSuortMembersDescribe \ F HA@k2 \  F H A@'T================================= 執行父母職業校驗==================================checkParentJobsKTcheckParentJobs ` $' 第 F 行的數據項: 填寫不正確!請檢查''(整體校驗時,如果有錯誤信息 A@Pd1checkParentJobs \ F HA@k`1 \  F H A@'T================================= 執行父母文化校驗==================================checkParentCultureKTcheckParentCulture ` $' 第 F 行的數據項: 填寫不正確!請檢查''(整體校驗時,如果有錯誤信息 A@Pd0checkParentCulture \ F HA@k/ \  F H A@'T================================= 執行父母年齡校驗==================================checkParentAgeKTcheckParentAge ` $' 第 F 行的數據項👃🏿: 填寫不正確!請檢查''(整體校驗時,如果有錯誤信息 A@Pd.checkParentAge \ F HA@kX. \  F H A@'T================================= 執行大病患者校驗==================================checkFamilyDiseaseDescribeKTcheckFamilyDiseaseDescribe ` $' 第 F 行的數據項: 填寫不正確!請檢查''(整體校驗時🆗,如果有錯誤信息 A@Pd,checkFamilyDiseaseDescribe \ F HA@k, \  F H A@'T================================= 執行收入範圍校驗==================================checkFamilyYearIncomeRangeKTcheckFamilyYearIncomeRange ` $' 第 F 行的數據項🦹‍♀️: 填寫不正確!請檢查''(整體校驗時,如果有錯誤信息 A@PdP+checkFamilyYearIncomeRange \ F HA@k+ \  F H A@'P================================= 執行戶籍校驗==================================checkHjKTcheckHj ` $' 第 F 行的數據項👱🏿: 填寫不正確!請檢查''"整體校驗時,如果有錯誤信息 A@Pd)checkHj \ F HA@k) \  F H A@'T================================= 執行自然災害校驗==================================checkFamilyDisasterTimeKTcheckFamilyDisasterTime ` $' 第 F 行的數據項: 填寫不正確👩‍🚀!請檢查''(整體校驗時,如果有錯誤信息 A@PdX(checkFamilyDisasterTime \ F HA@k ( \  F H A@'P================================= 執行意外校驗==================================checkFamilyBurstTimeKTcheckFamilyBurstTime ` $' 第 F 行的數據項: 填寫不正確👩🏽‍🏭🎵!請檢查''(整體校驗時🤧,如果有錯誤信息 A@Pd&checkFamilyBurstTime \ F HA@k& \  F H A@'T================================= 執行家庭資產校驗==================================checkFamilyPropertyKTcheckFamilyProperty ` $' 第 F 行的數據項: 填寫不正確🫃🏿🫴🏽!請檢查''(整體校驗時🫳🏻,如果有錯誤信息 A@Pd0%checkFamilyProperty \ F HA@k$ \  F H A@'T================================= 執行家庭資產校驗==================================checkInSchoolCountKTcheckInSchoolCount ` $' 第 F 行的數據項: 填寫不正確!請檢查''(整體校驗時🛗,如果有錯誤信息 A@Pd#checkInSchoolCount \ F HA@kp# \  F H A@'r=================================checkAtLeastOneNNull 執行至少一個金額為非空--==================================checkAtLeastOneNNullKT  'A"執行 至少一個非空校驗 的單元格數目 `$ `=如果金額符合規則  ` ' H KTF  ` ' KTF  ` ' KTF  ` ' KTF  ` 'n!d金額不符合規則  'F6執行 至少一個非空校驗 的單元格中內容為不符合規則的數目    'k !'n!i!_--------------------------------------------調用正則表達式-------------------------------------]VBSCRIPT.REGEXP$.7RegEx為建立正則表達式 (4 設置全局可用vba中\不用轉義  (.設置樣式 (5設置是否區分大小寫。 ` %'3 執行搜索測試.i-----------------------------------------------------------新版 校驗重復(說明已經沒有格式錯誤)------------------------------------------------------------V-----------------------------------------------------------1、無學籍幼兒表先在表內查重(sheet學籍幼兒表 A65535 $T%0%!'*cna = getTotalColumnCount(sheetIndexValue) V$T!NB@ 1&每次校驗重復時時👊🏻,把錯誤信息sheet清空,'X錯誤信息記錄開始行數X==============================無學籍幼兒表先在表內查重==================================0類似冒泡排序👪,每個元素和在它之前的所有行進行比較      $T%N'      $T%N'  .如果學籍號相同,說明是重復數據第  行的數據和第 行身份證號重復🙅🏼‍♂️!請檢查!!!!' A@P*把錯誤信息輸出'ki-----------------------------------------------------------第一列中 根據值獲取該值所在行------------------------------------------------------------根據值⚧👢,查找到值所在的行或列keyWord 查找的關鍵字'kbn 查找所在行或列 值為 “row”或非row']the find result object " &$ *( A1:A65535 \$<%0% .  row !'d !,'kki------------------------------------------------------ 執行碼表內規則校驗(允許為空)-------------------------------------------------------------value 規則類型value1 cell的內容校驗不正確返回false校驗正確返回true 00說明為非必填項 .$'zkxkp]h'4某一個規則的記錄數 A65535 8$T%0%!'6B表行數' 8 `row$'2=獲取規則類型所在行  2 6  8$T%N ` 4 '4dyxkp   2 2 4   8$T%NX .X L判斷規則內容是否和cell中相等'yk #此時count數目為該規則所有的內容數目i------------------------------------------------------ 執行刪除某一行操作(excel受保護的)-------------------------------------------------------------sheetIndex 表名 rowNum 行號1qaz> \$<B@< 6 \$<%@B@B/ 把該行刪除- Worksheets(sheetIndex).Protect Password:=123i0------------------------------------------------------ 向指定cell中設值-------------------------------------------------------------1qaz> \$<B@< ` F ^ \$<%N(`iP------------------------------------------------------ 執行刪除某一行操作(excel沒有保護)-------------------------------------------------------------sheetIndex 表名 rowNum 行號 6 \$<%@B@B/ 把該行刪除i@------------------------------------------------------ 向指定cell中設值-------------------------------------------------------------@ 1qaz> \$<B@< ` F ^ \$<%N(`i`------------------------------------------------------ 根據代碼表中的名稱設置值(前提時🧅,名稱已經通過了校驗)------------------------------------------------------------- ]   F ^ \$T%N!`X 'J'4某一個規則的記錄數 A65535 8$T%0%!'6F表行數 8 `row$'2A獲取規則類型所在行  2 6  8$T%N ` 4 '4dykx   2 2 4   8$T%N!`X '. . JX 1判斷規則內容是否和cell中相等  8$T%N!`'J JX F ^ L \$T%N(`yd .否0 F ^ L \$T%N(`dX F ^ L \$T%N(`k(k  i------------------------------------------------------ 去除cell中的空格------------------------------------------------------------- ] 單元格裏面的內容]  3Blength1表示cell中原來的長度,length2表示執行去除空格後的字符串長度'默認為沒有去除空格2 Worksheets(sheetIndex).Unprotect Password:="1qaz" F ^ \$<%N!`'. .'N NGzj*"如果單元格為空😩,則不需去除空格操作 . 'P%length2為空格第一次出現的位置 P如果字符串包含空格 . $R'. .X F ^ \$<%N(`'k ix p 嵉Attribute VB_Name = "工吆"  '-%校必填項若有錯誤信息顯示到 批⒅&( Function checkedRequiredStart(rowIndex, c olumn )  { '單元@格內容Dim cellValue As rS唍g= A;veShePet.Cs6If-" Then*丗抇綟al4seETrund If < E)鄝[寫日誌 記 o矂o一個表kq坢writeLog(co鄋tent荾刬X`s(msgB)腫curMsgR纎w, 1)繨CK + 1:D嚑 獲取 付ǖ腁呏登pHDget亾BCountXQ(A橠彩 碅?蠾orksHEQ.vA` %G rG用紅色字<體儉?H)0HRe耫朒nLen E縆篕縍.Characters(1, ).F丂].Color7=3V妜_1&添加aǖ慊 骺常〨s+` errafo︽產ddC萶mm@wXQ儺朥y,  0殌'4UUnprotect Password:="1q|az`襡]幜.rA ( Ia鄼rior#=<6@5535 '1粈粕塵懊>% d/.Visxibl狨$瓶徑?滲境""9燾lear s!, 狦靬Eqo!A}).o!o!rP鵌.C `u !/2Recp)Nu8m A:ff郥otal`?客B D .&鵘E15l 刋OOO`M.ExlNo(瘓_L%A蒏 是否4*調用的8椒╫)be恎inCqc#L妚ethod?*凩@坵L濶ot銣 '如劰鸻W失敗|?u$6 I剆 hing$判斷<為款/T\ \磜 驦AOAa'舨粊,則去除當前乹🆎,重新邕$ 廌rt_ z攫 '清僉 aqp/ !.<' PBox "第" &gD& "行數距菹睿簯瞙*tt$成功則3!0有q衷騽把&時的 .8MCq+remoP裵繿ceFla(/做了Q空翊,則對其進行鶥崾:德s👐🏿🗒,橶@校淙氳淖址Chr(34)%』C斍& w"謤邪搜 ,系統已自動為您鵤%了瑖 A ]!q?L 礲- '#P荼曄鬥饔枚雜Φ姆椒(點擊開始校驗)",{#-%B把錯誤信息寫進列表 Functio@n callXQStart(typeVal, sheetIndex, row@columnisidateCount) value = Work$s(').Cells(*"title∕sg#s\T, 圤) '獲取該A=頭 拿茋(If "" Then '如果喜⑿械嗄表頭 7/%0 - 1 &GElse"EB@:hea俉#!HW@End Iff!D匒rgs!"0"罦脜 Like "checkLen*婱整樞ざ攘蔊膭D Mid嚊9& #EH%O 1H&Num, be鷕nm 嚑&@fl值的?&?2 Ina9?%9- 'W9Term1㎜"是、否"@為必填縇">1 6K Ye鴖No -k2 ? DiffName困泥鴨侗餫?%D~ Cods氨嗦l鎯A! 'HBIDC0ardTpM身份證件類瓦 xo(/  kSqyy申請原隱 _ _ "] e? ? kYear醃年份?MA縚 _ ]  :iSpiiBE\ 哨V11j BLvSelect Case =Q)1 執崍壏強1?O 3~N8ulld襵Me纓hodXQ7Required矋爤 No '=q 執亰亇I∟umber類嘈停薊繡ase "4wJ=@- (valPue, 蓴)譤I f Not薖 Txhen 厳L S plit(, x","!(0)@0" '仧芪潛填芒且為鴯潭ˋ`+E A 可以 若儯騛為數v0🧕🏻,整數位鐏7~閭小績?AE ElseU,1 A鄡UBoun頳j7鄷A01_0_0&_0痏/挱_/欠砡/煰C煰煰煰F煰煰煰罘t煰+猘搗段<的’燷把!ul寫進列尡硭 圶Val廥W餴WgsPP9WW蘎癓縒豢W] 苰螾煇&螾槓7恅]p廮O6 3o媜嬁  o3繒x' isidateC郤苩P+ 1O/57?7廈O62s幬獊l築6666鳬nt657p7775p7XQ俷X777]鱜忹忥OwO螼蟖@睄I弖忶"🦸🏽‍♂️, 嗅?)@焩8O"譺寜oざ冗m;銼ToM"C媜疰嚌 OIoWoWoW焀 d蟂 sheetIndex, checkMethodX@Q, row纎lumn0errorMsg isFor = True '= 執行納矸葜ぜ號校驗5 圕ase "蔛fzjh"緍esZjlxVgetCellValueCou`ntXQ(墡2) '獲取虁鈈茨諶輿0If 2"" Txhen並叢L"`第" &"検菹睿偤 title 丣不正確,因嘈臀眨∏`爰觳媮 h8asE羫 Ar '整體乫時綣寫砦笮畔⑦3writeLog 煆Els嶢秘KV居民C;錢駛@9IsIDNu續ber(vA丂?糾|C儳_<@'No&t  'O不0符合U規<則AC繂亞該項必須為鷓鶨逤1_D焈D 逥is纕pidat#w`9-+ 1+End I>f?SMKSF衂JLXcK)HO_A逥?垼D荒躡嚞且ざ攘F大於等於1位不超過18尅e?H?H ?H>G{/? $  beginC鮛co續ment _鴄_鳪 /|x"|鵆D件眆!M/{?▄1y/j 5P婦MLB(C, \"1"6b5XQ縴煝E55?y& ?y2y1:/1ww\o0餁!風set駩Cod%曉戲7&,U--咯*z,蠀O-*B-學籍號>--4JH-U --Len鍒"0, 1, 50O-% l O..O!c可以#c若參粦廲坈50廲 22222飭飭飭F`0000o趜0-射0生縄D/1/1/1{?101SO敩颹颹,_0_0揰0_0項彄須彄/ //// writeLog error@Msg isValidateCount =" "+ 1孍nd If>beginCheck_ commeasheetIndex, cMethodXQ, ro倃olumn A蚷sFor籘rue '=執行銀行卡號校驗.把錯笮畔⑿唇B鴣列表媮C ase "oBaxnk"帎妡\(纕alue)嗐@If Not 餞henQ"第" &F["行的數 菹睿毫title惲填床徽罰孟畋匭胛鄭笥詰扔functionArgsArr(0)A,且啦懷1∏爰觳閺IF=hasEA獨0Az '整辶o時,如p果有協Cn'梢茾炎b+_醔鵡曇b`-鑍0Year9抆DMLB(#e", `, 1t`_婩__>T逽逽?SEl巗@潉set*鳦odd+壇箔骹篳糭Xck_炙X紕==Y學年Y% Y'熁 圿Xn驩]瞈Xn謊=焄 -sg廬項格式如2012-@3等?//Y$s%* Y-O- c媉 0 妷(,月份,_繆@繆,M餺nth--澆螼-遉XQ邐L 妬+邐邐諍C-01、12----??筟---7---oZ ---) 嘈3 q-的日期-(非啾靨)/...D愇" V'oHS |=Birthday.Oet.. '瘵鏨失敗無痌5{_0& ?籑2弧窕Q0為窩爃r(34b穢-xx  汛!`-0燻1 鹼箠 O3O3O3O3O3[O3O3O37O3O3O3O3O3哮錒.2ㄑ2鄆3K= '把砦笮畔⑿唇,列表 Case "checkDateNecessary" ' P h\Method XQ = Bi@rthdayB(@value)FI`f Not=MThen '如鏨掌諦Q槭ОH侻errorMsgG"第" & rowIndex"行氖菹睿偤 title& "填寫瞼徽罰@格式為C@hr(34) x1-xx 2013-12-21☑️,茾爰觳"WhasE乆WTrue '整體u鹵(果有呣$writeLog E@ End IfbeginC乢comment sheet侽,Kh,芔olu mnD isFoNr:昆^磥k硜(必填o京牼o绤?縴?匡?庫2焈焈"焈焈 焈焈 焈 i@sValid@滳ou繺=.+ 1h hckEh*碅 h薭類10 翂電穢昂怕 '罰hone饤揖駛Num^都,艌鄥 柑登@-固定# 或 手機$肯X}XWa?'烿黷 O+過*過*ex過鈜_*'b%Option+備註 /**寘d娪*p, 66r q壙+焽焽乊檱長度不能超過200膏鱟址#UO(_4犗 BO(轌r'烻O(O(S/SO(3熆 K(!' /% q嚾隙困難級別鵜1T )DiffNam忥TS/U伕MB($ , 麓, fu刵c2Args+BW@猴+S,,,,R9***LsysAicultyGrade瘍Fla懣0 噺..ElseOEsetDMBC黲dF沖JSoce Tri5t憃"CG冃通過a(莯抑滴uq瘝鲃2_ /@ O昣蒓jj6縥>&B呴(舴菓)o{墾BIdp譱tyq萭 c[heckMethodXQ = c養irthday(value) If N oth圱hen '如果出生日期校姥槭О_errorMsg"第" & rowIndex "行的數@據項🕳:title-& "填寫不正確! 格轎%Chr((34)@x-xx  ,如2013-02-21,請檢查"WhasE乆WTrue 'P整體u(寫砦笮畔$writ`eLog 厐i塶tifyDa爐eFla仒00Else(纐sysDifficultyGradeNam1 An纃 Trim剟乭" Gz認定燃睹莆瑾空繮伊AwA41 5].2!N.<> ".不 /C/2/?該項與“困難級別羏羓”必須愅或a 且a通過噥Zq是否絝`=ggAFb橖Fa綸_n 縩eNE爁If<b eginCA盻comment sPheet偂,氕,儲olumnA棄isFor臇  '= 執忻褡謇嘈蛠A>=kCas鑕 "C5Z4D 9怐MB(, 庋, 1T襽佊70遦危芲^_^ V#Pset*Co鷇(2,%Uw$/,#QO,O,;O,O,,),監騺,(非別靨)o{ -Id`:ityReason" 'u functi@onArgs憈0,1,301v1慞汱en觴, 1f10烝| 62繖繖a椄櫖長度g大於礍扔1位憘瞼懷304/5飾飾5?5f`邤愚旓d= =蠆桇定u,-醸_  洝髸 = 煑煑G#嚵    ? 4 (` 0 Or O )% /_4_4_4\4∠湺!脺、“時|間瘽瘽珴H O7O7O7nO7O7鐛P邽  mo稛O穽換/笌 w凍 True '逍Q槭保綣寫砦笮畔 writeLog er@rorMsgdcheckMethodXQ = False6End If#beginCo_comment sheetIndex, , row `olumn條i0sFor` '= 執行身份證件襖嘈蛠簽=媨@Case "]IDCardTyp.侭@.黊Q遃r.傼&遃傏.遃M!.傡9_/ex瓞坎I ?^_/_/_/J_/焈/_/_/啾Q/類_/?/運滸DTyp睋 O/O/le?/?/?/?/t?/?/O監監眾?/?/?/* ]?/?/CJ//////G////////鏑6////],俕贍養老>藦^//鄒ortMembersDescrib// //Se"O0O0O0O0tA0|rMsg = "第" & ro@wIndexP"行的數據項:ltitle& "填寫不正確!請檢查" has Error蘐rue '整體校驗時,如果有錯@誤信息DwriteLog eJ*ElseEsetDMBCode "checkSuortMembersDescribe",@ sheet倓,唹, column 1End If beginC9_comment2侳Metho(dXQ:,~is&F啿B'= 蔥懈改鋼X耙e^ =7CDasSPar5J鴒bsT 9兟d(c, value, functionArgs)K厸If No則 Then 懤 緱+A 0 Then '如果金罘瞎嬖Octotal7T +X}1⑽捫Ъ錐硐仍詒砟誆櫓8 -B}{SameXQNew( sheetrt2) 'w(na Ss:.Range("A655 35").P(xlUp).Row 'cgetT1搘驄V倖G(msgNP ).Cells.ClearContents '每五時時,劙袮信息B 清空,cu巖癒 P 1 '記錄開始愋惺'=?ocO'嗨潑芭菖判潁扛鱸睾馱謁暗乃行薪斜冉惜1Ti0 startT!Y餢2 To rnag4carpdID1I卆2(i, co3YOdAjO@ip - 1oq32榀exj$i倆v e專+號 嗤琿:是a1;數據 een羖= "第" & j0"行1r據和CiC身份證號睝∏爰觳!_pf writ爀Log '*0輸出 ha;踨袾縱 Next?課廏廎第一列中 葜禱袢「彌鄧行o` #,查找紺的行或列keyWord 墓丶賽字abn"# 值為 “row”蚍莯HQGet@O蠨l0(By鍊H 1, cStr鄁嘌s I郒germ--1刢變 '@ fi搑es ult o_ c{@@k 塜蠽tX1 :F(What:= Look@In:=xl耉s, A xlW餳ole>6纓@鳬s TuR哏$(Pnk3`"1  c ba岜Q肐-0q.'' 職袈auq盍f(允許轡)@+c鮭類型11 cell的內容 'Q椴徽販禱豧al宻eTLtruHFunction checkDMB(value,  1, fla g) If = "0" Then '說明為非必鶥釹'+/怲rimQ1)76 &*}#T Exit  ?繣nd IfDim rowDataCount00 '某桓齬嬖虻募鍬際NumSheets(AreasIndex).Range("A65535").7(xlUp ow '表行{%iF縼gH0GetRowOrCol.5劺, "") '獲X類型所在行YFor i'EToA=@1/b3C缹s(鴌, 俫聕vN+ 1E杇 CjorhN`ext iA.j.羕 + -傾2CStr(3鄇, 3)翛 C猜)卸蟻Q遼@是否和鐐粥邢嗟葒,3_洇I< 墷B=j' 此時c仮數@目為該#藰顰 A 嚮'-2 執 猩境]行操作(ex受保護祒模 8@姧c p表名 Qah 瀉 e d爀lete ^(',$U鋴Worksh).Unprotect Password:="1qaz"*堾 s(c).D '把該C"b' P.1232)  向指劧N設值8H,set醳V耮XQ-", cd巹屼/!}0XC層1l).脥=C蜔+囘$ W^沒有乛蟔^ _^O^No郔M1`d鸮X劅 (O((((Q+?(AxC螥虭(et).(僿(餵E 根荽氡碇!怾名稱>彌擔ㄇ疤崾保1已經勞ü浛)罍Cod緀漌bW  垞Bde2纻sWB2p|墆9蟥C= 歈S]__歘歒氫B= ?欪??檼睶~檃繖*繖0es鷻?歊礯譴Q鶜?決 ?洷9C楲"蕕"覜胊Y)?qt(炄蕷濱 c2,o%b% 2$C$o0弍喇饃umnPlu荋4V 隙荗"否/賲焥 烼鋭 ue 銹? #T麩9"$憇%}u籷a焁 去除S煹釀空格竈remov詒eSpaceXQ(sheetIndex, rowHcol$)  Dim value1 As String '單元格裏面的內容 ^length`Integer, &2D ''表示cell中原來的萊ざ齲0執行去除空格後的雷址&w remov = False '默認為沒@' Wor k剆垏).Unprotect Password:="1qaz"+7=!Cgs(=惉.$剚XLeLn(+縄f劀10 Then Exit Function '綣麅俏,則不需棽僮鲘62 In纑, " ")與2格諞淮緯魷值奈恢療$2 <> %!f包含乯G 撁7@Repl⑸}!"> 詇躓C嚽7崑True+End If ZN]梺~xME(6 << <X `@ I僜 `兆漬I僃 足彷I僅 H`凧 0`  I僠  @勽 `p  I僜 %I僃 I僞  H` I僠 錄錯@勽 錯 `  I僠 鍬@勽 +` i儉 的校i僞`攤H是否`H記`剢復的` 歷無`剤有錯 0`  I僠 @勽 `p  I僠  @勽  `  I僠 @勽  `` I僠 @勽 0 ` I僠 I儶 @勽  `p I僠 @勽   ` I僠 @勽  `` I僠 @勽 `  I僠 @勽 `P I僠 @勽 @剼  ` I.  I儨  D ``  I.  I儨   `  I.  I儨   `` I僠  I儤   ` I僠  I儤   `` I僠  I儤   ` &&I僠  I儤   ``  I僠 @勽  `  I僠  p `8  I僠 @勽  `  I僠 @勽 ``(  I僠 @勽 P` ""I兇 I僃 I僞 `劧 `劯 `凱`労`劶`劸`劺@劼 `勀 @勂 `勅 @勈 lls`勌 u`@勎 ` ` ""I僠 coI儤 wri@勽 ` `(  I僠 ment@勽 Colo0P 0   `   H p 0 |`僼H%  /`02[$*\Rffff*0f5b76b3a9  B       (  B " 08@HP XB px    B    8HPX`h pB  n P hB ,$"H( p x "   "0 X ` 4p  0 P B h p *x         B          (   B   6 ( 8 @ H P X |`  B  0(Xhpx x  (B @ H Xx x p B  |  B $ (0 |8  B fhx |   @B X`h  H hB :  ( 08@HPX `  B 0 8HP X `p x   .0B ` h x   .`B   B x &D4@x  B  &   (( PXD`4 8@HPX `B   (0 8X "`  <  B     & !!! ! (! H!"P! x!! $! "! ! ! ! !"("H"P"X" `">x" "4" # # # (#0# 8# # #B #$$ $0$8$@$H$P$ X$ $ %B  %(% 0% @%H%P% X% % &B  &(& 0&P&`&h&p&x&& &  ' @'B X'`'h''''''' ' P( p(B ((((((((( ( ) )B ) &) $* 0* P*&`***"*$*+((+P+p+++++ + 2+0,"P,x,,  ,,,8, -(- 0-B ---&-. .& .H.P.X.`.Dh.4.../// / /(/H/h/x//////// / @0 `0B x0000000000-----------------------------------------1 檢查必填項,若有錯誤信息顯示到 錯誤信息sheet中--------------------------------------- 空時返回0 不為空時返回1 單元格內容] F H \$<%N'J J'd'ki-----------------------------------------2 校驗學生姓名 要為漢字-------------------------------------------------------------格式不正確返回false格式正確返回true]^[\u4e00-\ue863·]{1,20}$'  `$'d'ki去除非打印字符;0 F ^$N'v v $" x  MsgBox addr v z!|%~'v MsgBox addr v F ^+Nki|-----------------------------------------3 校驗出生日期格式為2012-05-09(允許為空)--------------------------------------- `$'zHk@]0reg = "^((19)|(20))\d{2}-((((0?[13578])|(1[02]))-((0?[1-9])|([12][0-9])|(3[01])))|(((0?[469])|(11))-((0?[1-9])|([12][0-9])|(30)))|((0?2)-((0?[1-9])|([12][0-9]))))$"^((19)|(20))\d{2}-((((0[13578])|(1[02]))-((0[1-9])|([12][0-9])|(3[01])))|(((0[469])|(11))-((0[1-9])|([12][0-9])|(30)))|((02)-((0[1-9])|([12][0-9]))))$'  `$'d'ki|-----------------------------------------3 校驗出生日期格式為2012-05-09(不能為空)---------------------------------------H]^((19)|(20))\d{2}-((((0[13578])|(1[02]))-((0[1-9])|([12][0-9])|(3[01])))|(((0[469])|(11))-((0[1-9])|([12][0-9])|(30)))|((02)-((0[1-9])|([12][0-9]))))$'  `$'dx'khi`h-----------------------------------------4 校驗身份證號碼---------------------------------------符合規則返回true不符合規則返回false]79058421637905842@0加權因子] 10X98765432X0校驗碼 $$''去除空格]p ^  6)如果幼兒身份證號為空,則設置為通過校驗規則'zk Gzj $$Gzj *[0-9X]Gzj   $' G 'j   $  '   ' $   $G'jiz-----------------------------------------校驗身份證件類型 -------------------------------------------------------------格式不正確返回false格式正確返回true]"^[\u4e00-\ue863a-z|A-Z|0-9]{1,18}$'  `$'d'ki----------------------------------------5 -校驗熊猫熊猫標識碼 42位,最後一位為漢字或x-------------------------------------------------------------格式不正確返回false格式正確返回true0]^[1-9]\d{40}[\dx]$'  `$'dp'k`iXz----------------------------------------6 -校驗戶籍性質 -------------------------------------------------------------格式不正確返回false格式正確返回true].^(\u519c\u6751)|(\u53bf\u9547)|(\u57ce\u5e02)$'  `$'d8'k(i u-----------------------------------------7 校驗入學時間-------------------------------------------------------------格式不正確返回false格式正確返回true ]'^(((19)|(20))\d{2})((0[0-9])|(1[0-2]))$'  `$'d'kiq-----------------------------------------7 校驗年份-------------------------------------------------------------格式不正確返回false格式正確返回true ` ,如果為非必填項'kzk]^((19\d{2})|(2\d{3}))$'  `$'d'kiq-----------------------------------------7 校驗月份-------------------------------------------------------------格式不正確返回false格式正確返回true0]^((0[0-9])|(1[0-2]))$'  `$'d'kiv-----------------------------------------9 校驗學籍號-------------------------------------------------------------格式不正確返回false格式正確返回true]^\d{4}[0-7]\d{3}[0-3]\d{7}$'  `$'d'kiv-----------------------------------------10 校驗電話號碼-------------------------------------------------------------格式不正確返回false格式正確返回true ]^\b((1(([38]\d)|(4[57])|(5[0-35-9]))\d{8})|(0((10)|(2[\d]))-[2-9]\d*)|(0[3-9]\d{2}-[2-9]\d*))\b'  `$'dx 'kh i` v-----------------------------------------11 校驗銀行卡號-------------------------------------------------------------格式不正確返回false格式正確返回true]^[1-9]\d{14,20}$'  `$'d` 'kP iH -----------------------------------------checkXn 校驗學年如(2012-2013)-------------------------------------------------------------格式不正確返回false格式正確返回true]p]1^(20\d{2}-20\d{2})|(19\d{2}-19\d{2})|(1999-2000)$'  `$ `-$'$$ 'd 'k d 'k i -----------------------------------------checkOption 校驗備註如(長度小於value2)-------------------------------------------------------------長度不小於200返回false 否則返回true .'z k .  'd 'kp ih ------------------------------------------------------比較大小(小於等於返回true)----------------------------------------------------------------'value1大於value2返回false 否則返回true .X'. X' .  'DdX'DkHi@------------------------------------------------------比較大小(小於等於返回true)-dec---------------------------------------------------------------'value1大於value2返回false 否則返回true .$4'. $4' .  'd('ki}------------------------------------------------------校驗長度--------------------------------------------------------------- ,$'' `$/如果為非必填項'kzk ,-下標從0開始🐕‍🦺,其值為指定的數組維可用的最大下標 `$$4 `$$4'zxkpd 說明是校驗固定長度 `$$4'z kki}------------------------------------------------------校驗整數--------------------------------------------------------------- ,$'' `$/如果為非必填項'kzk `$& 如果不為數字z `.e+如果包含小數點zk ,-下標從0開始,其值為指定的數組維可用的最大下標 `$$4 `$$4'zkd 說明是校驗固定長度 `$$4'zkki------------------------------------------------------校驗數值範圍--------------------------------------------------------------- ,$'' `'zk `$) 如果不為數字z `$4e) 如果小於0zpkh `$4$$4 `$4$$4'zki------------------------------------------------------校驗數字長度(Number,可以為整數也可以為小數,不小於0)--------------------------------------------------------------- ,$'' `$/如果為非必填項'k z k `$% 如果不為數字z `$4e% 如果小於0若填寫z kx $'+整數部分最大長度$'.小數點最大位數 位 `.''' "說明沒有小數點 `$4'為 $$4的數據'zkd 如果有小數點必須 ` `. $'D單元格中數字的整數位不 ` `. $' $$4 $$4息'zkki-----------------------------------------checkIsInt 校驗不小於0的整數-------------------------------------------------------------格式不正確返回falsechec格式正確返回true' ] ^0|[1-9]\d*$'  `$'d'ki-----------------------------------------checkIsNumber 校驗為Number類型-------------------------------------------------------------& i格式不正確返回falseeCount格式正確返回true ' `$'ki-----------------------------------------checkMoney 校驗金額0-9999,整數-------------------------------------------------------------'格式不正確返回false$格式正確返回true ]X ^(([1-9](\d{0,3})|0)|0)$'  `$'d'kix-----------------------------------------checkMoneyTJ 校驗金額0-9999小數點後一位-------------------------------------------------------------為固格式不正確返回false的數據格式正確返回true正p ] ^([1-9]\d{0,7})$'  `$'d`'kPiH-----------------------------------------checkPersonNum 校驗幼兒園人數至少一個人------------------------------------------------------------====格式不正確返回false證件號格式正確返回true== ]H^(([1-9]\d{0,3}))$'  `$'d('ki-----------------------------------------checkIdNumLink 校驗身份證號中性別和出生日期與用戶填寫的是否一致------------------------------------------------------------格式不正確返回false份證號格式正確返回true如` If colIndex = jhrIDColumn Then據 checkIdNumLink = True為學 Exit Function End If,]%性別和身份證號上是否對應]$出生日期和身份證號上是否對應]0日期第一次出現的下標E]H"性別,單元格之內的內容大於]`$身份號截取的內容]x!出生日期,單元格之內的內容]"身份號截取的內容]#出生年份 H]%出生月份X==] ==]8 $'型 $'==  (倒數第二位為奇數,則為男性jlx 男 F  Z$T,Nd倒數第二位為偶數😹,則為女性女 F  Z$T,Nk` $' $' $' -  -  F  Z$T,N'i}------------------------------------------------------校驗長度---------------------------------------------------------------P ,$'數據]^[\u4e00-\ue863·。,]{1,66}$'為' `唬$/如果為非必填項'kzk ,-下標從0開始👋🏿,其值為指定的數組維可用的最大下標 `$$4 `$$4學生  `$'d'kzkd 說明是校驗固定長度 `$$4✍️:  `$'dx'khz`kXkPiH-----------------------------------------校驗考生號、學籍號👮🏻‍♀️🤹🏼‍♀️、學號 -------------------------------------------------------------格式不正確返回false=====粥格式正確返回true==]H^[a-z|A-Z|0-9]{1,40}$'把  `$'d8'k(i mAttribute VB_Name = "校楹" '-%1 觳楸靨釹,若有錯誤信息顯 示到 sh`eet中$兛帳狽禱0! 不為1 Function checkRequired(bIndex, row coluDmn ) '單元格諶Dim cellValu@e As S弉g= Work5s8).C s(;If2咐" Then0並 g蒄alseE妠Trund If 濫牓-2"羵學生姓 要為8鶴& !格式不正確盜uf7'At1憢wStu仺(vg覦plreh @"^[\u4e00-\ue863·]{1,20紏$5@_@ CA屽(, 蘟BW Wa ka@@コ譴蠐∽址粓removeEnter睧盿dd瀝@&悳E@;In(1, A , C@hr(10) 0( 'MsgBoxcO App衛icao.f`e5.Clean(A@疻' _O$3鎃出生日期酜為2012-05-0@9(允許翂) "4"CBirt0hday*R-Tr靑md"畕 鐅Exit */A羪#a奯'繶 ^((19)|(20))\@d{2}-(0?[13578] 1[02]))-9a[12][0c3[01撪 (( 46"11Y 0?2q )))p;[1[O飄8焺 c礒AJ9?P佃迍燂錠](矘荒]--.伋.Necess@C驤/oX "((P&汞|(j( 3-?`PP粁:匭9蘺颩;42!z身份證號碼符合0規則!x鉽'籌ty5H IsI DNumbpiBy 噿, 爾嬺g)Boo羇覮Const W' "7905842163"2'加權因 螢c10X98765432C蓲 '碼' = UCase(儾Z )) '翱嶄-sIyger, i=T怌= babyIDCⅶ| A醼4揳 繢果幼兒e:,則設置梧ü1 絻 dd 豤! Len( <> 18B 0 Notp er@ic(Mid, 17@4 f%Like d"*乬X]_  For= 1 To 17C鯰qW0T噾谞C 1@膽1sps + ; Bi! * TNexts Mpod 1惽RPight)c,+)3 '~^; "蘭類型郂褢?筈?箒'譙FZJLX縛/)筧-z|A-LZ|嚢18抗c抗kVqOw~kVXX//5恕3-學P0標識碼 42位,最0笠晃 階踴騸x?迂觕kSchCodeOeg~ reg = "^[1-9]\d{40}[@\dx]$"鳬f 圕heck Func(0, value) TXhenJ抍FS@chCode坮ue8Els LFaEnd 0If ktiRo^'-$6] -校驗戶籍性質 %< '格式不正確返富豧V t俿匴 倐FamType(儞儌Dim仱(\u519c\u6751)|3bf\ u95477c耬e02)慈凟彎葒 dS7 Ac入學時間Y%6cRXDat!醔((19]20))2})((X0[012黓)5a 輅F 縛FU釀`年份eZ/C郼qaYeara, f 垺zArgs餉rr)僡@e#""寠cz 鄠0 '如果為非必填顑 鈘aG摡艔iaExi黷 鐟j{ "^酙I|(23}G元p猟G珧;dG月Gz G羣GMonth卡t咦*D-?-"-9aパ 綴艔8--XJH渆g5%k,4}蠵*7褌337}i僰@1b;#焸_10僫電話號隣_責QckPhon0eNum?<\b翣D(([38纇4[57]p5`L35jk8} 050p2@溹j-["2\d*[3{2}g)\b彏罭彏; A?p_11銀行卡2O盉8ank 3暤14,20_2,p"04oo 7n8年如(2012-@3)_pXn_U妝 噑[K(20K鐞/t019t99 00o瀇\2Split , "-"4幈Lp巵R(1) - t0)01= 蹔鹔妎l鴎Xn""s Op駶#缸#長度行∮赗2_#OP#不200y俜裨蝰Y遃ck 1$2镓2 14h 浚矱Le-@">凍2!VL ?#Q checkOption = 繲rue End If !Func  '-2比洗笮(小於等於返杌豻u)3O5value1大於 2[false 否則 j  com pare(, ) 孋InVt 2 2I"f(1 >- Txhen嫲伈凜$F麃WE^ 諳dec糼ykDec!l l9l靗C 縨謃校驗長度>h嘾A凩en., f膧ArgFsH+Arr"S plit(, ","h@ (Eg9 ""磃`(0 )0 '如果為非必鶥釹釹h"o?2aejExxit e$g `U郆ound #2下標從0開始,渲滴付ǖ氖槲捎玫淖x畬 F4)` >= C Mm(`1)) A 篐<齌2@摃,!h83( 4'(翣 ' 得魘\固▉\s! Hs!? * 掛秗|#整漱龗Yr12鰋@85@@鄧渙-聎@0@@@$+A?@ Not IsNumeri磌)8J不晰獝>舟,  InStrY".@") <> y∈俱oK.) KsKKKK Bp:K1K_=Kb=KKIK-/  K拉K_G-qK數粥搗段э終Val蠇蠇01岪.0D縆縆癒縆縆'G_=A`#/Fe/F,FoQ2+拕矧 R7IFQ0鸈/A 聑)?@3@0磱]`q/2Uy_ U q'http://*t/字駥(0bber,可以d為Q|也x向1unction checkNum(value, f繟rgs)  XArr = Split( ., ","f碅XFalse欼 f "" Txhenq# t(0)00/ '綣潛嘭填項?GTrudEnd IfExit< F QNot Is爀ri c)圥不為鶚 1/)圕De$<= x`小於0%恖maxIntLen1) '整數部分最來蟪ざ @@Double2小數點P位數iBgthInStr笶". 岮f VAc@ ;douT繫IM說明沒譽蠧&K$亪坁 鍊?( ) h 蟂儊 T崐P}E@晝甩AMid31, 5 - 罞單元格謷嗅[的丟位魅6H + &?/ 杹@(1)) A 麽442愰*a5,51恊噽p '-#bIs爙 校驗>噧48格式不正確牱禱豧#'齟tb%C虃僇D膧Dim reg=爙"^0|[1-9]\d*$"#>C獵! (,G l= 緗醎C 3紉s.?.e% 羈er.為鵠嘈8*_.0蟬.#. = 8痩蝭 訥{+?/Money 金額0-9🥷🏻,酔薩+豞ck + +((+(\d{0,3})|0!齙,k_,*H_,,V,鲹_,o爼_TJ=#t後銀晃蠠`TJ鉊D7})??+`j__p0_ --Pers on <幼兒園人數至少一個人ooo`縱 O101c}k蟏 OIdLink身份證號中性別和出生日期與用戶填寫的是否一致?ooo` (, rowIndex, c靜l勤'`衒恱jhrIDCol豼mn姨t' F0嘸!vo愢C棺駙isGe rRight As BooleanL 'CE上雜 Bir蘴h和/+hlen@2鄵e g衸'q第一次出現的邢鹵闧gb 成 嗤ingS ,t詰哪諶逸er1J @號截取om bqe?桙a食thValue1 As String '身份號截取的內容 Dim year,蠽ariant '出生年 Zmont榟,  ^月 ^郿ay,  + arrgender= Mid(IdNum, 417)) binr 28If 2Mod 2 = 1 Then '倒數第二位為奇數,則牢行"Sheets(sI]x]).Cells(row ,9Colum刵)6"男"'怑lse<偶<$女<女Ind IfF"$G園,橇b圸@c, 4d倓嵫 5, 2 僎 kI &V$嘨++ "-" +C 5check!B桳ink$Tr ue E@DFunction '-2校驗硺ざ萻F E" B+SpLen("vA, f)Ar実s萕Arr@Split(,0 ","h醼regg#"^[\u4e00-\ue863·。👱‍♂️,]{1,66渳$℉Fa燳颎 鄊 "blg舎S`(00cr'如果為非辣靨釹鉺jC9 A;圿Epxit g>U郆oundj)`,A2D下標從0開始🧑🏿‍🏫,渲滴付ǖ氖槲捎玫淖x畬3 <) >= CDec乵(1)) A`U鮄stdole h%^*\G{00020430-C 0046}#2.0#0#C:\Windows\SysW OW64\e2.tlb#OLE Automation`僂OffDic凟Ofic侲殌丒2DF8D04C-5BFA-101B-BDE5E訟AC42圗gram Files (x86)\Common \Microsoft Shared\OFFICE12\MSO.DLL#働 15 .0 Ob伳 L纈braryNMSFo@rms>SF猺mHs3〥452EE1-E08F1A-8-02608C4 D0BB4橳FMl20L'B @a&/;"1l蓃傾萺00}#0聄# 50 嚴ABD63AF@婡hC-48A 4-87D纉E53D61FD68B6Users\ADMINI~1\AppData\Local\Temp\VBEc醾7.exdd<@".E 忇.`孧 姶佡傇 梺偩ThisWorkbook℅T纈@l"W耼kbo╧ 2 HB1傗J莉B,zL""+BsShePet1G Seq@at1 w2洰 窢呿 逪 *6 6 6 6!   打印 だ繥SbpS剺葔-e2jo 餻 !(e) 工具函數c 錧w郠齉pec ec 揺o 艄k 仩聲明G;`餢f"a2揻o zo &校驗!h>氱eeo T]o ~鎘 !L主絳騁bQ;N 皕廭b2)o J.o U2Sh膐waxG`6竜w妤3e2r1餧n鉕( T甽5璣55暛^5癪0Qh鮑^ PrintCrin搻wEbj2o嫳d蕵rU , `//( `00 ` 1///( `08! `Q////0I ` ///<q `q/////< `/////, `//( `/0 ` 9Q09 ` ay///,a `//8 `1////, `//8 `1////8 `1////0) ` 1///nrU h 14Y 0  XrU @4 `\#nrU   4Y`rU~|   I 1aa0  0   0   0   0   0   0 X  0 8  0   0   0 $  0   0   <:4%DX%h$ h dD)hDJ$%DX%h$ h dDC)hD5龝x(9lhD0   <:4%DX%h$ h dD)hDJ$%DX%h$ h dDC)hD5龝x(9lhD0   0         8/=梺逪#<E尷G轞F8T? FH嗦C gH炷n0`xH嗦C gH炷n0`E尷G轞F8T?ME PSLSS006"<<<N0{00020820-0000-0000-C000-000000000046}( ,` @\ ).`h忉溷 %i x%凗%偁*%@`\02[*\R1*#222$*\Rffff*0c5b76b3a84  "  &  HX`p x光標在單元格中時痧 Continue? 2Hi$  4徉1A@ k 123A@4疽oxAttribute VB_Name = "She@et1" 鐱ast0{00020820- C$0046} |Global!腟pac扚alse dCreatablPre declaId玊ru BExposeTemplateDeriv$払ustom izD2'光暝詰ピ裰惺 P$( Sub Works瀇BeforeDoueClicka(ByVal Target As Range, @CancelBoolean)  If MsgBox("Continue?", vbYesNo, "Hi")儉 Then3  "侂 End If CDe騝23n@48CrU @nt6DD 梺zL#<@旺:柾F擠9.F?埲衐O0+) x?埲衐O0+) 嘆旺:柾F擠9.ME(SLSS6"  <,<0<4<8<<<N0{00020819-0000-0000-C000-000000000046}` `聽k@ i `覘梃i 揶揶%凗 %偁 %`@"$ &(f^ @l 送掏@\ 巖乙@0L ownW@x< @H, \@` 睲@ Layo@ eDow@忐 onWW@滎 eWWW@烴 @8件 lWWW@ @ 滯 @P岨 兀| 兀hl 逿@\ Actu@L @< @, @ T鬇 @( @@忑 @犖 @聽 @02[$*\Rffff*0`5b76b3a7*\R0*#f*\R0*#1*\R0*#14$*\Rffff*0a5b76b3a7*\R0*#2$*\Rffff*0]5b76b1a14 "      嚕)您是否確認將要保存該excel,如保存🤶,請點擊"$"確定"$", $"&系統將要進行檢查校驗,如不保存🚣🏿‍♂️,請點擊"$"取消"$"? $$ '  &ArA@(dP'k@o80岜Attribute VB_Name = "ThisWorkbook" 孊as0{00020P819-0C$0046} |GlobalSpac扚alse dCreatablPred恊claIdTru BExposeTemplateDeriv払ustomizD2P儉 Sub 厯_BeforeSave(ByVal AsUI As Boolean, _ Cancel) isButtonmMsgBox("您是否確認將要保存該別x ,如,請點擊" & Chr(34)"確禞 ,10低進行檢查校驗堿不∠?", vbOKcC63If L4 0Then荁丏測@試所有A嬖蠆⒋蠐〈砦笮畔z⒚ E聤P腜= gEnd Irf AiAm <jx梺#<#顐婣G烠⒍Es F A鍺嵶88謨x A鍺嵶88謨#顐婣G烠⒍EsME(SLSS6"N0{00020820-0000-0000-C000-000000000046}(%H凗` %偁6 %`h8@\\002[$*\Rffff*0e5b76b3a84xòAttribute VB_Name = "She@et6" 鐱ast0{00020820- C$0046} |Global!腟pac扚alse dCreatablPre declaId玊ru BExposeTemplateDeriv$払ustom izD2<jx梺h#<)欥齅(]鋻 F9囉鯤jsK 颾x9囉鯤jsK 颾)欥齅(]鋻ME(SLSS6"N0{00020820-0000-0000-C000-000000000046}(%H凗` %偁 %`h8@\\002[$*\Rffff*0d5b76b3a84 xAttribute VB_Name = "She@et5" 鐱ast0{00020820- C$0046} |Global!腟pac扚alse dCreatablPre declaId玊ru BExposeTemplateDeriv$払ustom izD2L+梺nxME(SPSSS0{EC1CCD73-32D4-44CD-9DE7-A6739D2E2EA0}{81C678E2-1AC8-4E08-9BE5-67AE817A519C} @ %侢 %@@02[ " 0 8"HP Xh x取消------'l B@------oH確定------@ 'l B@-----oRAttribute VB_Name = "ShowForm"  鳥as|0{EC1CCD73-32D4-44CD-9DE7-A6739D2E2EA0}{81C678E2-1AC8-4E08-9BE5-67AE817A519C} dGlobaBl奡pacoFalse 奀re atablPr@edeclaI"d覶ru BEx0pose0TemplateDerivCustomiz婦'取`消 P Sub CancelButton_Click() notContinueBool員 Me.HidZEnd!'確畝 ,onf諒,9-Fl;/HLO梺蕵xME(SPSSS0{74312E55-C162-47CA-BB01-52C39B364B89}{B9A02D18-FC52-4FF3-AFC5-BFEFA0DEDE52}p0(%侢X0 %0`02[x嵐Attribute VB_Name = "PrintForm" " Bas0{74312E55-C162-47CA-BB01-52C39B364B89}{B9A02D18-FC5JFF3-A-BFEFA0DEDE52} d@Global婼pacoFalse 奀reatablPredeHclaId訲ru BExpose0TemplateDerivCustomiz婦rU $`$`nrU~| krU $`nrU~|      RrU @nrU 1 Y4Y`rU~~~y        SaveAsUICancelrowIndex columnIndexcontent sheetIndexcolIndex errorInfo checkMethoderrorMsgtypeValisValidateCountregvalue sheetIndex2keyWordkbnvalue1flagrowNum Y (TargetIDNumberfunctionArgsArrvalue2 functionArgsIdNum rU  Q Y y ) A i  $4 a  ` x矚"l "  滎 "滯 "\ '聽'忑' :\lL:<, :忐滎烴:件滯岨:|l\L:<,鋤6$lL, 忐滎烴滯岨l﨤, 忑聽u琿  $9 TlL, 忐滎烴滯岨l\L, 忑聽4XrU @,`#nrU~| prU ' nrU 0` ///(`/0` 1///(`/(!`/,I`1(q`/(`/(`/( `/, `!//(9 `/(a `/( `/(`/(`/,`aI//,)`aI//,Q`aI//,y`a//,`a//,`a//, `a//(1`/(Y`/(`/(`/(`/0` 1///,!`a//(I`/n梺xME(6 << <x :`8p%H@02[$*\Rffff*0_5b76b1e1"  ( Hhx學生信息打印模板$<(>學生信息打印模板$<B@@學生信息打印模板$<(>o偘Attribute VB_Name = "打≡だ" Sub Browse_Print () Worksheets("學生信息l模板").Visibla楾rue"d^P@review2cEnd ThisWorkbookThisWorkbookSheet1Sheet1工具函數錧wQ齉pe聲明餢f校驗函數!h寶齉pe主程序;N z廭ShowFormShowForm打印預覽SbpS剺葔PrintFormPrintFormSheet5Sheet5Sheet6Sheet6 FMicrosoft Excel 2003 工作表Biff8Excel.Sheet.89瞦鄥燆鵒h珣+'遲0@HT` x WSMicrosoft Excel@&灼@7& 8脹諟.摋+,0HP X`hp x  家庭經濟信息采集代碼表 錯誤信息 殘疾級別 殘疾類別 父母年齡 父母文化 父母職業戶籍家庭成員患重大疾病家庭人均年收入範圍家庭收入來源類型 家庭在學人數 家庭資產 贍養老人是和否突發意外事件具體情況描述 學費、住宿費自然災害具體情況描述 工作表 命名範圍 !"#$%&'()*+,-./013456789:;<=>?@ABCDFGHIKLNOPRSTUVWXYZ[\]^_`abcdefghiklmnopqrstuvwxyz{|}~     "#$%&'()*+-./012345678:<>?ABCDEFGHIJKLMNOPQRSTUVWXY[\]^_`abcdefghijkmnoqstuwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefhijklmnopqrstvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwyz{|}~