[sword-devel] Re: HELP WANTED -- OPPORTUNITY TO SERVE
Nichols, Lester
sword-devel@crosswire.org
Tue, 25 Nov 2003 15:55:08 -0800
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_000_01C3B3AF.8E9D0650
Content-Type: text/plain
Just another note about using the macros and VBA. The latest versions of 97
with sp/2000 with sp/XP all have macros disabled by default.
After looking at the instructions, there is no reference as to how the user
would enable macros. The instructions list the way to select enable macros
if prompted. The newer security patches and software does not even prompt
you, but disables macros completely, where there are no prompts without
manual intervention. Also the enabling of the macros will also pose a
security risk and potential virus threat to those using the macro. This in
turn could cause much more harm then good, especially if the end-user is not
careful.
I have attached the vba code for the various macros as a text file. I have
tried it on a P4 XPsp1 system running Office XP SP2 and the macros do not
run. The runtime errors that I get I think are do to the difference in vba
global objects in the version I have. I have not tried them on another
version of windows or office as of yet. The version of vba I am running is
6.4.8869. I did also note that office XP is not a part of the "versions"
that could be used. Another item not listed is Microsoft works which uses
word from xp.
I can understand where the end-user would become frustrated with the various
processes to complete and then troubleshoot.
I still believe that the simplest path would be to use an alternative to
MSO.
Any thoughts?
Lester Nichols
"Embrace the Virtual Mindshare"
Network Engineer
Information Technology Services
nicholsl@partnershipbanking.com
www.lesternichols.com
Privileged/Confidential Information may be contained in this message. If
you are not the addressee indicated in this message (or responsible for
delivery of the message to such person), you may not directly or indirectly,
use, disclose, distribute, print, or copy any part of this message to
anyone. If you have received it in error please advise the sender
immediately by return email and then delete it and all copies from your
system. Community Bank reserves the right to monitor all e-mail
communications through its networks. Any views expressed in this message are
those of the individual sender, except where the message states otherwise
and the sender is authorized to state them to be the views of any such
entity. No contracts may be concluded on behalf of the sender by means of
electronic communications unless expressly stated to the contrary.
------_=_NextPart_000_01C3B3AF.8E9D0650
Content-Type: text/plain;
name="easyenglish_code.txt"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="easyenglish_code.txt"
'*****************************************************************
'Macro: AboutEasyEnglish 26/June/00
'Displays the "About..." Dialogue Form and copyright notices.
'Modified: MJK - Decrease Form width for low resolution. 01/Apr/97
'*****************************************************************
Public Sub MAIN()
Dim ButtonClicked
WordBasic.BeginDialog 500, 200, "About EasyEnglish"
WordBasic.Text 142, 12, 330, 13, "EasyEnglish Issue 2.3(Word 97)", =
"Text1"
WordBasic.Text 142, 35, 330, 13, "Copyright =A9 1997-2000 Wycliffe =
Associates", "Text2"
WordBasic.Text 142, 50, 330, 13, "All rights reserved.", "Text6"
WordBasic.Text 142, 73, 330, 13, "EasyEnglish and EasyEnglish =
Publications", "Text4"
WordBasic.Text 142, 88, 330, 13, "are trademarks of Wycliffe =
Associates (UK).", "Text7"
WordBasic.OKButton 388, 160, 88, 21
WordBasic.Picture 17, 11, 106, 92, "eelogo", 1, "Picture1"
WordBasic.EndDialog
Dim AboutDialog As Object: Set AboutDialog =3D =
WordBasic.CurValues.UserDialog
ButtonClicked =3D WordBasic.Dialog.UserDialog(AboutDialog)
End Sub
'*****************************************************************
'Macro: CheckGrammar 11/Mar/97
'Performs an EasyEnglish grammar check on the publication.
'Modified:
'*****************************************************************
Public Sub MAIN()
ActiveDocument.ActiveWritingStyle(wdEnglishUK) =3D "Custom"
WordBasic.ToolsOptionsGrammar CheckSpelling:=3D0, ShowStatistics:=3D0
WordBasic.ToolsGrammar
End Sub
'*****************************************************************
'Macro: CheckMeaning 5/Feb/99
'Lists the meanings of words.
'*****************************************************************
Public Sub MAIN()
Dim ReturnValue
ReturnValue =3D 0
ReturnValue =3D WordBasic.Call("EasyEnglishUtilities.fCheckMeaningWin")
End Sub
'*****************************************************************
'Macro: CheckReadability 11/Mar/97
'Perform a Flesch readability score on the publication.
'*****************************************************************
Public Sub MAIN()
Dim numstats
Dim MsgTitle$
Dim iScore
Dim EEmessage$
numstats =3D WordBasic.CountToolsGrammarStatistics() - 1
MsgTitle$ =3D "EasyEnglish Readability Score"
ReDim EEdocstats__$(numstats, 1)
WordBasic.ToolsGrammarStatisticsArray EEdocstats__$()
iScore =3D WordBasic.Val(EEdocstats__$(8, 1))
EEmessage$ =3D "The Flesch Reading Ease Index is " + EEdocstats__$(8, =
1) + "."
'** Add minimum score comment if less than threshold
If iScore < 85 Then
WordBasic.MsgBox EEmessage$ + Chr(13) + "( You should aim at 85 or =
higher. )", MsgTitle$, 64
Else
WordBasic.MsgBox EEmessage$ + Chr(13) + "( This meets the =
requirement of 85 or higher. )", MsgTitle$, 64
End If
End Sub
'*****************************************************************
'Macro: CheckVocabulary 26/June/00
'Reads the document and highlights all the hard words.
'Added OKwords - 26/5/00
'Move cursor back to start of selection after checking - 26/5/00
'Skip the check if the language is NO PROOFING - 26/6/00
'*****************************************************************
Public Sub MAIN()
Dim PictureSetting
Dim FieldSetting
Dim DelimitedWord$
Dim InitialLetter$
Dim BlackLex$
'** Get current settings and save before changing
Dim dlgTOV As Object: Set dlgTOV =3D =
WordBasic.DialogRecord.ToolsOptionsView(False)
WordBasic.CurValues.ToolsOptionsView dlgTOV
PictureSetting =3D dlgTOV.PicturePlaceHolders
FieldSetting =3D dlgTOV.FieldCodes
WordBasic.ToolsOptionsView PicturePlaceHolders:=3D1, FieldCodes:=3D1
'** Set spelling options
With Options
.CheckSpellingAsYouType =3D True
.CheckGrammarAsYouType =3D True
.SuggestSpellingCorrections =3D True
.SuggestFromMainDictionaryOnly =3D False
.CheckGrammarWithSpelling =3D False
.ShowReadabilityStatistics =3D False
.IgnoreUppercase =3D True
.IgnoreMixedDigits =3D True
.IgnoreInternetAndFileAddresses =3D True
End With
ActiveDocument.ShowGrammaticalErrors =3D True
ActiveDocument.ShowSpellingErrors =3D True
'** Work out if it's a selection or the whole document
WordBasic.SetStartOfBookmark "\Sel", "StartPoint"
If WordBasic.SelType() =3D 2 Then
WordBasic.SetEndOfBookmark "\Sel", "EndPoint"
WordBasic.CharLeft
Else
WordBasic.CopyBookmark "\EndOfDoc", "EndPoint"
End If
'** Load the lexicon as a Global AddIn
Lexicon$ =3D ActiveDocument.AttachedTemplate.AutoTextEntries("Lexicon")
AddIns.Add FileName:=3DLexicon$, Install:=3DTrue
=20
'** Check the words
While WordBasic.CmpBookmarks("\Sel", "EndPoint") =3D 2
WordBasic.Call "FindNextWord"
If WordBasic.CmpBookmarks("\EndOfSel", "EndPoint") =3D 1 Then GoTo =
MACEND
DelimitedWord$ =3D LCase("~" + WordBasic.[Selection$]() + "~")
InitialLetter$ =3D WordBasic.[Left$](WordBasic.[Selection$](), 1)
'** Set the word colour
BlackLex$ =3D "black" + InitialLetter$
If Selection.LanguageID =3D wdNoProofing Then
'** don't check it if the language is NO PROOFING
ElseIf InStr(WordBasic.[GetAutoText$](BlackLex$, 0), =
DelimitedWord$) Then
WordBasic.CharColor 0 '** auto (black) word
ElseIf InStr(WordBasic.[GetAutoText$]("okwords", 0), =
DelimitedWord$) Then
WordBasic.CharColor 0 '** OK word (the TN OK list)
ElseIf InStr(WordBasic.[GetAutoText$]("greenwords", 0), =
DelimitedWord$) Then
WordBasic.CharColor 11 '** green word
ElseIf InStr(WordBasic.[GetAutoText$]("blue" + InitialLetter$, 0), =
DelimitedWord$) Then
WordBasic.CharColor 2 '** blue word
Else
WordBasic.CharColor 6 '** red word
End If
Wend
MACEND:
WordBasic.WW7_EditGoTo "Startpoint"
WordBasic.ToolsOptionsView PicturePlaceHolders:=3DPictureSetting, =
FieldCodes:=3DFieldSetting
'** Remove the lexicon from the Global AddIns list
AddIns(Lexicon$).Delete
End Sub
'*****************************************************************
'Macro: EasyEnglishHelp 4/Feb/99
'Call the EasyEnglish Help File
'*****************************************************************
Public Sub MAIN()
Dim Helpfile$
Helpfile$ =3D WordBasic.[GetAutoText$]("HelpFile", 1)
WordBasic.Shell Helpfile$, 1
End Sub
'*****************************************************************
'Macro: EasyEnglishUtilities 7/2/98
'Contains internal Functions & Subroutines.
'*****************************************************************
Public Sub MAIN()
End Sub
'*****************************************************************
'Purpose: Lists the meanings of words using MS Word 6. 23/Mar/97
'Accepts: Nothing.
'Returns: If OK Button Clicked =3D -1; If Cancel Button Clicked =3D 0
'*****************************************************************
Private Function fCheckMeaningWin()
Dim iPath$
Dim OriginalWord$
Dim IffyWord$
Dim LexName$
Dim ButtonClicked
Dim Count_
Dim iPosn
Dim SelectedMeaning$
On Error GoTo -1: On Error GoTo fCheckMeaningWinError
'** Select the nearest word
WordBasic.SelType 1
WordBasic.SelectCurWord
OriginalWord$ =3D WordBasic.[Selection$]()
IffyWord$ =3D "~" + WordBasic.[Selection$]() + "~"
'** Open the Lexicon
WordBasic.ScreenUpdating 0
LexName$ =3D WordBasic.[GetAutoText$]("Lexicon", 1) '** JW =
23/3/97
WordBasic.FileOpen Name:=3DLexName$, ConfirmConversions:=3D0, =
ReadOnly:=3D1, AddToMru:=3D0, PasswordDoc:=3D"", PasswordDot:=3D"", =
Revert:=3D0, WritePasswordDoc:=3D"", WritePasswordDot:=3D"" =
'JW 23/3/97
'** Find the headword from the lexicon
WordBasic.EditFindClearFormatting
WordBasic.EditFind Find:=3DIffyWord$, Direction:=3D0, MatchCase:=3D0, =
WholeWord:=3D0, PatternMatch:=3D0, SoundsLike:=3D0, Format:=3D0, =
Wrap:=3D1
If WordBasic.EditFindFound() =3D 0 Then
WordBasic.MsgBox "There are no EasyEnglish meanings for this =
word.", "EasyEnglish", 64
WordBasic.FileClose
ButtonClicked =3D 0 'Simulate Cancel
WordBasic.ScreenUpdating 1
GoTo LABEL2
End If
WordBasic.ParaDown
'** Find up to 12 meanings
ReDim Meaning__$(12)
For Count_ =3D 0 To 11
WordBasic.ParaDown 1, 1
WordBasic.CharLeft 1, 1
Meaning__$(Count_) =3D WordBasic.[Selection$]()
If WordBasic.[Left$](Meaning__$(Count_), 1) <> "{" Then GoTo LABEL1
WordBasic.CharRight 2
Next Count_
LABEL1:
Meaning__$(Count_) =3D ""
WordBasic.FileClose
WordBasic.ScreenUpdating 1
'** Display the meanings
WordBasic.BeginDialog 692, 166, "EasyEnglish"
WordBasic.Text 10, 6, 360, 13, "Select a meaning for: " + =
OriginalWord$
WordBasic.ListBox 10, 25, 550, 122, Meaning__$(), "ListBox1"
WordBasic.OKButton 584, 25, 88, 21
WordBasic.CancelButton 584, 55, 88, 21
WordBasic.EndDialog
Dim Dlg As Object: Set Dlg =3D WordBasic.CurValues.UserDialog
ButtonClicked =3D WordBasic.Dialog.UserDialog(Dlg)
Select Case ButtonClicked
Case -1 'OK button clicked
iPosn =3D Dlg.ListBox1
If iPosn >=3D 0 Then
SelectedMeaning$ =3D Meaning__$(iPosn)
If Mid(SelectedMeaning$, 2, 1) > "B" Then
WordBasic.CharColor 6 'Set colour to red
WordBasic.CharLeft
Else
WordBasic.CharColor 0 'Set colour to =
black
WordBasic.CharRight
End If
Else
ButtonClicked =3D 0 'Simulate Cancel
End If
Case 0 'Cancel button clicked
End Select
GoTo LABEL2
fCheckMeaningWinError:
If Err.Number < 1000 Then
WordBasic.MsgBox "Error " + WordBasic.[LTrim$](Str(Err.Number)) + " =
Has occurred.", _
"EasyEnglish", 64
End If
WordBasic.ScreenUpdating 1
ButtonClicked =3D 0 'Simulate Cancel
LABEL2:
fCheckMeaningWin =3D ButtonClicked
End Function
'*****************************************************************
'Macro: FindNextWord (Called by CheckVocabulary) 2/Apr/97
'Finds the next word in the document.
'*****************************************************************
Public Sub MAIN()
If WordBasic.SelType() =3D 2 Then WordBasic.WordRight
While InStr("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", =
WordBasic.[Selection$]()) =3D 0
WordBasic.WordRight
If WordBasic.CmpBookmarks("\Char", "\EndOfDoc") <> 2 Then GoTo =
ENDOFSUB
Wend
WordBasic.SelectCurWord
'** Check for genitives
If WordBasic.[Right$](WordBasic.[Selection$](), 2) =3D "=92s" Then =
WordBasic.CharLeft 1, 2
If WordBasic.[Right$](WordBasic.[Selection$](), 1) =3D "=92" Then =
WordBasic.CharLeft 1, 1
ENDOFSUB:
End Sub
'*****************************************************************
'Macro: FindSynonyms 8/7/98
'Finds EasyEnglish synonyms for a word.
'*****************************************************************
Public Sub MAIN()
Dim CleverCut
Dim OriginalWord$
Dim Numfound
Dim iPosn
Dim CurrentSyn$
Dim DelimitedSyn$
Dim Firstletter$
Dim BlackLex$
Dim ButtonClicked
Dim SynLength
Dim SelectedSyn$
Dim ReturnValue
ReDim iSynonyms__$(100) 'Internal array
'** Check for Smart Cut and Paste
Dim FunnyOptions As Object: Set FunnyOptions =3D =
WordBasic.DialogRecord.ToolsOptionsEdit(False)
WordBasic.CurValues.ToolsOptionsEdit FunnyOptions
If FunnyOptions.SmartCutPaste =3D 1 Then
FunnyOptions.SmartCutPaste =3D 0
CleverCut =3D 1
WordBasic.ToolsOptionsEdit FunnyOptions
End If
'** Select the nearest word
WordBasic.SelType 1
WordBasic.SelectCurWord
'** Find all synonyms
OriginalWord$ =3D WordBasic.[Selection$]()
Numfound =3D WordBasic.ToolsGetSynonyms(iSynonyms__$())
If Numfound =3D 0 Then
WordBasic.MsgBox "Cannot find any synonyms for this word.", =
"EasyEnglish", 64
GoTo LABEL3
End If
'** Load the lexicon as a Global AddIn
Lexicon$ =3D ActiveDocument.AttachedTemplate.AutoTextEntries("Lexicon")
AddIns.Add FileName:=3DLexicon$, Install:=3DTrue
'** Dim Dlg array to only contain found synonyms and fill it
ReDim Synonyms__$(Numfound - 1)
For iPosn =3D 0 To Numfound - 1
'** Append the word colour in brackets after the word
CurrentSyn$ =3D iSynonyms__$(iPosn)
DelimitedSyn$ =3D "~" + CurrentSyn$ + "~"
Firstletter$ =3D WordBasic.[Left$](CurrentSyn$, 1)
BlackLex$ =3D "black" + Firstletter$
If InStr(WordBasic.[GetAutoText$](BlackLex$, 0), DelimitedSyn$) =
Then
Synonyms__$(iPosn) =3D "Black: " + CurrentSyn$
ElseIf InStr(WordBasic.[GetAutoText$]("greenwords", 0), =
DelimitedSyn$) Then
Synonyms__$(iPosn) =3D "Green: " + CurrentSyn$
ElseIf InStr(WordBasic.[GetAutoText$]("glossary", 0), =
DelimitedSyn$) Then
Synonyms__$(iPosn) =3D "Gloss: " + CurrentSyn$
ElseIf InStr(WordBasic.[GetAutoText$]("blue" + Firstletter$, 0), =
DelimitedSyn$) Then
Synonyms__$(iPosn) =3D "Blue: " + CurrentSyn$
Else
Synonyms__$(iPosn) =3D "Red: " + CurrentSyn$
End If
Next iPosn
'** Remove the lexicon from the Global AddIns list
AddIns(Lexicon$).Delete
WordBasic.SortArray Synonyms__$()
'** Display the dialog box
WordBasic.BeginDialog 356, 212, "EasyEnglish"
WordBasic.Text 10, 6, 320, 13, "Synonyms for: " + OriginalWord$
WordBasic.ListBox 12, 26, 322, 150, Synonyms__$(), "ListBox1"
WordBasic.OKButton 12, 183, 88, 21
WordBasic.CancelButton 246, 183, 88, 21
WordBasic.PushButton 128, 183, 88, 21, "Check"
WordBasic.EndDialog
Dim Syns As Object: Set Syns =3D WordBasic.CurValues.UserDialog
ButtonClicked =3D WordBasic.Dialog.UserDialog(Syns)
Select Case ButtonClicked
Case -1 '** OK button
iPosn =3D Syns.ListBox1
If iPosn >=3D 0 Then
'** Zap the colour name off the front of the synonym
SynLength =3D Len(Synonyms__$(iPosn)) - 12
SelectedSyn$ =3D WordBasic.[Right$](Synonyms__$(iPosn), =
SynLength)
WordBasic.EditCut 'Note: EditClear causes a Word 6 bug
WordBasic.CharColor 0
WordBasic.Insert SelectedSyn$
End If
Case 0 '** Cancel button
Case 1 '** Check button
iPosn =3D Syns.ListBox1
If iPosn >=3D 0 Then
'** Zap the colour name off the front of the synonym
SynLength =3D Len(Synonyms__$(iPosn)) - 12
SelectedSyn$ =3D WordBasic.[Right$](Synonyms__$(iPosn), =
SynLength)
If SelectedSyn$ <> "" Then
WordBasic.EditCut
WordBasic.Insert SelectedSyn$
WordBasic.WordLeft 1, 1
ReturnValue =3D 0
ReturnValue =3D =
WordBasic.Call("EasyEnglishUtilities.fCheckMeaningWin")
If ReturnValue <> -1 Then
WordBasic.EditCut
WordBasic.Insert OriginalWord$
WordBasic.WordLeft 1, 1
Else
WordBasic.CharColor 0
End If
End If
End If
End Select
LABEL3:
'** Reset Smart Cut and paste
If CleverCut =3D 1 Then WordBasic.ToolsOptionsEdit SmartCutPaste:=3D1
End Sub
'********************************************************************
'Macro: ResetCommonWords 5/Feb/99
'Turn all green words back to black.
'********************************************************************
Public Sub MAIN()
WordBasic.EditFindClearFormatting
WordBasic.EditReplaceClearFormatting
WordBasic.EditFindFont Color:=3D11
WordBasic.EditReplaceFont Color:=3D0
WordBasic.EditReplace Find:=3D"", Replace:=3D"", Direction:=3D0, =
MatchCase:=3D0, _
WholeWord:=3D0, PatternMatch:=3D0, SoundsLike:=3D0, =
ReplaceAll:=3D1, Format:=3D1, Wrap:=3D0
End Sub
Public Sub MAIN()
'
' ResetToBlack Macro
' Macro recorded 06/07/00 by John Williams
'
'** Set English UK words to Auto
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.LanguageID =3D wdEnglishUK
Selection.Find.Replacement.Font.ColorIndex =3D wdAuto
With Selection.Find
.Text =3D ""
.Replacement.Text =3D ""
.Forward =3D True
.Wrap =3D wdFindStop
.Format =3D True
.MatchCase =3D False
.MatchWholeWord =3D False
.MatchWildcards =3D False
.MatchSoundsLike =3D False
.MatchAllWordForms =3D False
End With
Selection.Find.Execute Replace:=3DwdReplaceAll
'
'** Set English (USA) to Auto
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.LanguageID =3D wdEnglishUS
Selection.Find.Replacement.Font.ColorIndex =3D wdAuto
With Selection.Find
.Text =3D ""
.Replacement.Text =3D ""
.Forward =3D True
.Wrap =3D wdFindStop
.Format =3D True
.MatchCase =3D False
.MatchWholeWord =3D False
.MatchWildcards =3D False
.MatchSoundsLike =3D False
.MatchAllWordForms =3D False
End With
Selection.Find.Execute Replace:=3DwdReplaceAll
'
'** Remove sticky settings
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
End Sub
'*****************************************************************
'Macro: SetOptions 11/Feb/99
'Sets EasyEnglish options
'*****************************************************************
Public Sub MAIN()
Dim Lexicon$
Dim Helpfile$
Dim ButtonClicked
Lexicon$ =3D WordBasic.[GetAutoText$]("Lexicon", 1)
Helpfile$ =3D WordBasic.[GetAutoText$]("HelpFile", 1)
WordBasic.BeginDialog 516, 126, "EasyEnglish Options"
WordBasic.Text 14, 14, 133, 13, "Lexicon:", "Text1"
WordBasic.Text 14, 49, 104, 13, "Help file:", "Text3"
WordBasic.OKButton 194, 89, 88, 21
WordBasic.CancelButton 406, 89, 88, 21
WordBasic.TextBox 194, 14, 300, 18, "DlgLexicon$"
WordBasic.TextBox 194, 47, 300, 18, "DlgHelpFile$"
WordBasic.EndDialog
Dim OptionsDialog As Object: Set OptionsDialog =3D =
WordBasic.CurValues.UserDialog
OptionsDialog.DlgLexicon$ =3D Lexicon$
OptionsDialog.DlgHelpFile$ =3D Helpfile$
ButtonClicked =3D WordBasic.Dialog.UserDialog(OptionsDialog)
'** If Cancel clicked do not save options
If ButtonClicked <> -1 Then GoTo ENDOFSUB
'** Save the options
Lexicon$ =3D OptionsDialog.DlgLexicon$
Helpfile$ =3D OptionsDialog.DlgHelpFile$
WordBasic.SetAutoText "Lexicon", Lexicon$, 1
WordBasic.SetAutoText "HelpFile", Helpfile$, 1
'** Check that the files exist - if not issue warnings
If Dir(Lexicon$) =3D "" Then WordBasic.MsgBox "Cannot find the =
lexicon", "EasyEnglish", 48
If Dir(Helpfile$) =3D "" Then WordBasic.MsgBox "Cannot find the help =
file", "EasyEnglish", 48
'** Issue an OK message on the status bar
If Dir(Lexicon$) <> "" And Dir(Helpfile$) <> "" Then
WordBasic.MsgBox "The EasyEnglish options have been set =
successfully", -1
End If
ENDOFSUB:
End Sub
'********************************************************************
'Macro: ShowToolbar 26/May/00
'Displays the EasyEnglish Toolbar
'Modified 26/5/00 to move toolbar to (500,400)
'********************************************************************
Public Sub MAIN()
WordBasic.ViewToolbars ColorButtons:=3D1, ToolTips:=3D1
WordBasic.ViewToolbars Toolbar:=3D"EasyEnglish", Show:=3D1
WordBasic.MoveToolbar "EasyEnglish", 0, 500, 400
End Sub
------_=_NextPart_000_01C3B3AF.8E9D0650--