1
2
3
1,2
3
mango@mail.nsysu.edu.tw
pclin@cc.fec.edu.tw
myluo@cse.nsysu.edu.tw
1 ! " # $ % &' ( ) *+ , -. / 0 1 VisualBasic 23 4Word+ , 5 6 7 8 9:8 / ; < => ? @ A &B 9CD E F G H I J KL M N OLP" # F G Q R 4KLI J ( ) P STADO@ A
Abstract
An Exam Desktop Publishing system is a good tool for teachers. It help the teachers to aggergate their testing material. A good Exam Desktop Publishing system must have characterials of use-friendly, fast speed.
The paper combines the characters of VisualBasic and WORD to develop an Exam Desktop Publishing system; and discusses the methodology to develop this system. The system can output the testing paper and the answer paper. The principles of the system are users’ action and speeding.
Keywords: DTP ADO
U , V W PX 5 6 =YZ [ \ ] ^ _ PZ ` a b , c d H 9 \ Pe f g h i a j0 f9k l m n Pe f o p q rs t 9u v5 6 7 => ? @ A9w =Yxy z { | } r~ 9 =Y k P
- I 6 9+ C¡ ¢ £ ¤ ¥ ¦ § 9-¨ E ©ª 5 6 } « ¬Y ® S ¯ ° ! v± $ % ² ³ &' P ´µ¶ · { ¤ ¥ µ¸ ¹ ¬º » ¼ 9¹ ¬¸ ½ r¾ ¯ ! ¿ v9À Á $ % ¾ &' P ? à · Ä Å 5 6 7 ² ³ Æ c Ç È · P ¯ vÉ ( I J KLP f Ê Ë Ì 9Í Ä Å g Î ² Ï 5 6 &ÐÑfÒ Ó Y@ A&Ð Ô ? Õ Ö×9YÕ ÖØ Ù 5 µ@ A¿ vÚ Û Ü PCÝ 5 6 &ÐÞ ß Û Æ 9e ¦ § KLI J ( ) à P x- Ê á ×9£ 5 6 & Ðâ ã <©ª ä å (1) ® &' æ ( e ä å ² Ï P e x¥ · ç è &· h vé ê ¥ · PÍ Ä Å 5 6 &B ëÎ ² Ï &Ðì <F í î ! ¿ vP(ïj1) 1
(2)Ò Ó 1 WORD VBAð ñ ä å CÝ 5 6 &Ðò X ¸ { &Ц § 91 £ F G WORD&ÐÚ ó } Ò Ó 1 WORD VBAð ñ 23 ¿ vÚ ô õ 9CÝ 5 6 ö V ² ' 9e ¦ § wð ñ ÷ ø : ¾ ; ù 23 9¿ vn 9Û ú ¾ ± Í 9û Æ ü F G $ % ¾ ý þ 7 á ÐP î fg xWORDO×9ý F G Í ú f 9 $ % Í ú f 9 , 4( ) ¾ µ¸ µ¸ f¾ 9 Ò Ó 1 Õ Ö fWORDO9C 1 WORD VBA¤ ¥ fKL 9w( ) ´µ! ½ rWORD@ Aw à (ïj2) -/ 0 ® ¸ Ì => ? @ A9=Y > ? Ý @ A:¤ ¥ 9ö =ª < O < ! " # Î $ ! % &&1 VB2 3 ù ' Word VBAá п v5 6 :¤ ¥ 7 Ý K L 2
!
!
!
!
"
"
"
"
#
#
#
#
-/ 0 î 5 6 9ò X ¸ { ( ¦ § :û ) ¹ ¬¸ + , =Y¹ ¬( ) 4f* f , 9:û ) =Y> ? Ý ¾ + @ AP @ Ar+ , -Î a ! + , 9Í Ä Å ¾ - B ì . j/ @ A0 1 j/ @ A 2 3  ? P -4 5 í 6 § 97 6 =Y ? Ý @ APÔ 8 9 : T; < TT*P= > =Y7 9 : K L? 6 J @ A P µ¸ ì . { · + , 9-1 Visual Basicá ÐÚ B C Word ¤ ¥ 4 ? @ A¿ vP:Y
Visual BasicB C ¤ ¥ Â 7 ¿ vP
-DE £ Q R F @ G Í H ¿ vI J f K 9 ê L 9F M I J N N P L F M ¹ O ò P Q R S ¿ v 2 Ä Å µKLT % Ä Å KLT % 9 =YU I V ' f9' W ª <fL4K LxU I fÊ á ×9F G =YX Y O f9 7 WORDKLK 9+ =Y1 O ò KL9 Z , V Í Pí + =Y + [ \ ] (ïj3) j3¿ vj
Þ F ¸ Õ Ö COM @ A Y M VisualBasic23 95 6 7 Ì => ? Ý @ A
-ëMS AccessÕ Öá Ð f9È ^Õ Ö¿ v9F ù , ¹ ¬9=Y ½ rf ¸ , P -7 _ xá Ð×G WORD@ AY ' ` a b c O x fd e f g ×9-¾ Ò Ó WORDO9 fh ý F G I `
. f 9w^ij WORD á Ðk j C O9ß d f¯ ! j l WORDá Ð9 ( ) ¬É V rïj4)
Visual Basic 4 MS Access m n Ó 1
ADO @ AVisual Basic :û 1 ADOó } Õ Ö o p 4Ê q *¿ v9r s C0 t F f* fru rv % ( ) ¾ w Í ; x P 1
-¹ ¬¸ Ý 4£ ¾ + ¿ v9 =Yy ? Ý ¾ + z { @ APC1 Word -| =Y> ? Ý @ A¿ v9ë
Visual Basic Ú } ~ WORD COM@ A9 K 1 Visual Basic Ú $ % WORD VBAá Ð
CÝ 5 6 &Ð1 ¸ ¿ vá Ð+ , Ú 5 6
á Ð9 1 WORD VBA Ú $ % WORD91
WORD> ? @ A¿ v4¤ ¥ ¿ v9Ú 5 6 @ A> ? ¿ v4I J KL¿ v F G =Y È · Ú > ? Ý @ A9ï9 : T; < TTT*P(ïj5)
5CÄ Å 5 6 &ÐÔ 8 G a § Ä Å U I Dµ¸ ¹ ¬0 t - x Õ Ö Ä Å 5 6 G Ý + (Table)Ý µ f 92 Ý ! T % KLf F G 1 -Ñ ! DU I 7 Ú ? 2 w1 KL 1 WORD
VBA¿ vÑK' W ª < WORDO CÝ 5 6 &Ð § x¾ | -K* ú r` 9e I J KL( ) h 4r` D D ´ CI J KL( ) V ê xU I fÊ á ×9u F G f¾ ! O ò 9h ! xf § G ©9 = ? WORD È · O ò 9 *KL; < K O ò 9&' P CÄ Å I J 7 Ú KLWORDO9F µK L4N OL=Y F G O ò ^CKLu  7 x£ { =Y? J % KLP ^CKL=Y> ? Ý @ A9u  7 < HTML 9w=x { · @ 9 ¾ + # P
!
!
!
!
"
"
"
"
I J KL á C×Î b 5 6 Ä Å - 1 VBá Ð23 } ~ WORD @ A9ì <ª KL4N OL¿ v µ¸ ² t b ) 9- F 1 WORD¿ vÎ $ ! ï©S 1.K L Ð x 7 5 K L ¡ ¢ £ DL.dot O×ÑÚ DL Ðu O ò wh !
ÑC¡ ¢ ¤ ¥ 9 Ѫ 7 Ú word KL¬Y a ¤ ¥ = 2.KN OÄ Å Yword¦ § 0 ¨ 7 _  ? x word K×ý ! ª KL 9w¾ ª ¦ § 0 ¨ ! ª 7 N OL 9h ! Ѧ § 0 ¨ ª 7 Ú =ïC=YÑKLá Щ a b 1 P 3. 7 KL 9I J 7 i ¤ ¥ û > ? Ý @ Aword0 AF G =Yword ² Ï $ % &Ð9Ñ ª 7 Ú 9 G O ò ª < ´C-V s U ,
ª « ¸ á Ð4 î ! ®
Dim objWordApp As Word.Application ‘Word Dim objDocument1 As Word.Document ‘ Dim objDocument2 As Word.Document ‘
5 ê á ÐDL¡ ¢ @ A ‘ word
Set objWordApp= CreateObjet ("Word.Application") ' Template
Set objDocument1 = objWordApp.Documents.Add(App.Path + "\" + " ") I J ! ¾ ! ª N OL9u ! ª N OLwÑ1 objDocument1.Application.Options.PrintHiddenText = ª 7 N O
If ANS = True Then
objDocument1.Application.Options.PrintHiddenText = True Else objDocument1.Application.Options.PrintHiddenText = False End If ¯ D ° ª 7 I J N M N KLC Ä Å f± ° D E F G î I J f± ° 7 ´C4f± ° ² D , á Ð1 ADO @ A. Õ Ö׳ ` fÕ Ö9j < Word0 A9xÑC0 ¨ × î ´ Û 8 ÐW b T µ ¬. $ ! KL ×^ WORD á Ði 7 _ j 9î Y( ) Þ a j Word É V r
-B C Õ Ö&Ð1 ADO@ A92 B ï©P
Data3µADO@ APÈ ^ADO@ AMETHOD
=YF á ÐX ` Õ Ö ×¶ e Õ Ö Data3.Recordset.MoveFirst 5 ê ! h · P:^objWordApp.Activate Wordk á ÐP ‘ Set objDocument2= objWordApp.Documents.Open(strFilename) objWordApp.Visible = True objWordApp.Activate ^ ¸ K objDocument2×b T î ´ Û 9:û 8 Ð5 ê P:¹ º » { KLobjDocument1× objDocument2.Application.Selection.WholeStory objDocument2.Application.Selection.Copy ÷ ê KLOµ% ×¼ ½ P:Ñ^K¼ ½ b T Õ Ö» { objDocument1.Activate ‘ // // objDocument1.Application.Selection.Paste objDocument1.Application.Selection.MoveLeft objDocument1.Application.Selection.MoveRight a ÷ ê ¸ KOµ% ×¼ ½ 9Ñ ¾ ¿ a À Á ADO@ A÷  . © objDocument2.Activate objDocument2.Close Data3.Recordset.MoveNext à + N L N L g =Yà + & Ð; < 7 î Y9^Y{ á Щ ×=YV Ä Å Æ ª ïÇ ^VBÚ B C Word¿ vPö È È ¸ I J KL4 N OLa ! Ç C P
#
#
#
#
$
$
$
$
%
%
%
%
CF M Â 7 WORD OKL4N O LP! <É ï©(ïj 6 4j 7)9ç è K L4N OLPN OÊ 4KLg Y Word OÂ 7 PG G g =
Y Ë Ê c µ&Щk O ò Pö =YÒ Ó 7 _ Y Ì Â 7 Í ¡ ¢ 91 ïÎ ? Ï Ð *P
í Ý &ÐI J KL=Y Ñ 7 c Ò K L
6 !!!! """" ####
7 $$$$ %%%% !!!! """" ####$
$
$
$ %
%
%
%
&
&
&
&
-/ 0 i U % ; <Ì U :û =Y> ? Ý @ A5 6 &Ðx5 6 { V ² ³ 1 WORD iº ¿ vÚ 5 6 { " # F G $ % Q R 40 v9=YI J 7 j0 ù ' 4> ? Ý @ APí Ý => ? Ý @ A ÑÚ =Y Ó J 7 k &ÐP