VERSION 5.00 | |
Begin VB.Form frmWizard | |
Appearance = 0 'Flat | |
BackColor = &H80000005& | |
BorderStyle = 1 'Fixed Single | |
Caption = "OpenOffice.org Document Analysis Wizard" | |
ClientHeight = 5520 | |
ClientLeft = 1965 | |
ClientTop = 1815 | |
ClientWidth = 8175 | |
BeginProperty Font | |
Name = "Arial" | |
Size = 8.25 | |
Charset = 0 | |
Weight = 400 | |
Underline = 0 'False | |
Italic = 0 'False | |
Strikethrough = 0 'False | |
EndProperty | |
Icon = "Wizard.frx":0000 | |
KeyPreview = -1 'True | |
LinkTopic = "Form1" | |
LockControls = -1 'True | |
MaxButton = 0 'False | |
MinButton = 0 'False | |
ScaleHeight = 5520 | |
ScaleWidth = 8175 | |
Tag = "1000" | |
Begin VB.Frame fraStep | |
BorderStyle = 0 'None | |
Caption = "Introduction" | |
ClipControls = 0 'False | |
Enabled = 0 'False | |
BeginProperty Font | |
Name = "MS Sans Serif" | |
Size = 8.25 | |
Charset = 0 | |
Weight = 400 | |
Underline = 0 'False | |
Italic = 0 'False | |
Strikethrough = 0 'False | |
EndProperty | |
Height = 4905 | |
Index = 0 | |
Left = -10000 | |
TabIndex = 25 | |
Tag = "1000" | |
Top = 0 | |
Width = 8235 | |
Begin VB.PictureBox Picture4 | |
Appearance = 0 'Flat | |
BackColor = &H80000005& | |
BorderStyle = 0 'None | |
ForeColor = &H80000008& | |
Height = 4935 | |
Index = 0 | |
Left = 0 | |
ScaleHeight = 4935 | |
ScaleWidth = 2565 | |
TabIndex = 2 | |
TabStop = 0 'False | |
Top = 0 | |
Width = 2565 | |
Begin VB.PictureBox Picture10 | |
Height = 735 | |
Left = 2580 | |
ScaleHeight = 735 | |
ScaleWidth = 30 | |
TabIndex = 68 | |
TabStop = 0 'False | |
Top = 2610 | |
Width = 30 | |
End | |
Begin VB.PictureBox Picture6 | |
Appearance = 0 'Flat | |
BackColor = &H80000005& | |
BorderStyle = 0 'None | |
ForeColor = &H80000008& | |
Height = 1485 | |
Left = 150 | |
ScaleHeight = 1485 | |
ScaleWidth = 2355 | |
TabIndex = 67 | |
TabStop = 0 'False | |
Top = 3390 | |
Width = 2355 | |
Begin VB.PictureBox Picture1 | |
Appearance = 0 'Flat | |
BackColor = &H80000005& | |
BorderStyle = 0 'None | |
ForeColor = &H80000008& | |
Height = 1200 | |
Index = 0 | |
Left = 200 | |
Picture = "Wizard.frx":482C2 | |
ScaleHeight = 1200 | |
ScaleWidth = 1980 | |
TabIndex = 7 | |
TabStop = 0 'False | |
Tag = "1060" | |
Top = 300 | |
Width = 1980 | |
End | |
End | |
Begin VB.Label lblStep1_4 | |
BackColor = &H00EED3C2& | |
BackStyle = 0 'Transparent | |
Caption = "4. Analyze" | |
ForeColor = &H00BF4F59& | |
Height = 195 | |
Left = 120 | |
TabIndex = 89 | |
Tag = "1044" | |
Top = 1800 | |
Width = 2140 | |
End | |
Begin VB.Line Line2 | |
BorderColor = &H00808080& | |
Index = 2 | |
X1 = 2550 | |
X2 = 2550 | |
Y1 = 0 | |
Y2 = 4920 | |
End | |
Begin VB.Line Line3 | |
Index = 1 | |
X1 = 120 | |
X2 = 2280 | |
Y1 = 480 | |
Y2 = 480 | |
End | |
Begin VB.Label Label7 | |
BackColor = &H00EED3C2& | |
Caption = "1. Introduction" | |
ForeColor = &H00BF4F59& | |
Height = 255 | |
Index = 1 | |
Left = 120 | |
TabIndex = 11 | |
Tag = "1041" | |
Top = 720 | |
Width = 2140 | |
End | |
Begin VB.Label Label8 | |
BackColor = &H00EED3C2& | |
BackStyle = 0 'Transparent | |
Caption = "3. Results" | |
ForeColor = &H00BF4F59& | |
Height = 255 | |
Index = 1 | |
Left = 120 | |
TabIndex = 9 | |
Tag = "1043" | |
Top = 1440 | |
Width = 2140 | |
End | |
Begin VB.Label Label9 | |
BackColor = &H00EED3C2& | |
BackStyle = 0 'Transparent | |
Caption = "2. Documents" | |
ForeColor = &H00BF4F59& | |
Height = 255 | |
Index = 1 | |
Left = 120 | |
TabIndex = 10 | |
Tag = "1042" | |
Top = 1080 | |
Width = 2140 | |
End | |
Begin VB.Label Label12 | |
BackStyle = 0 'Transparent | |
Caption = "Steps" | |
BeginProperty Font | |
Name = "Arial" | |
Size = 8.25 | |
Charset = 0 | |
Weight = 700 | |
Underline = 0 'False | |
Italic = 0 'False | |
Strikethrough = 0 'False | |
EndProperty | |
Height = 255 | |
Index = 1 | |
Left = 120 | |
TabIndex = 8 | |
Tag = "1040" | |
Top = 240 | |
Width = 2115 | |
End | |
End | |
Begin VB.PictureBox Picture8 | |
Appearance = 0 'Flat | |
BorderStyle = 0 'None | |
ForeColor = &H80000008& | |
Height = 4935 | |
Left = 2400 | |
ScaleHeight = 4935 | |
ScaleWidth = 5925 | |
TabIndex = 3 | |
TabStop = 0 'False | |
Top = -30 | |
Width = 5925 | |
Begin VB.CheckBox chkShowIntro | |
Caption = "Do not show this introduction again" | |
Enabled = 0 'False | |
Height = 315 | |
Left = 690 | |
MaskColor = &H00000000& | |
TabIndex = 6 | |
Tag = "1103" | |
Top = 4890 | |
Visible = 0 'False | |
Width = 3810 | |
End | |
Begin VB.Label lblIntroduction1 | |
AutoSize = -1 'True | |
Caption = $"Wizard.frx":4F8B8 | |
Height = 585 | |
Left = 690 | |
TabIndex = 93 | |
Tag = "1101" | |
Top = 750 | |
Width = 4890 | |
WordWrap = -1 'True | |
End | |
Begin VB.Label lblIntroduction3 | |
AutoSize = -1 'True | |
Caption = "The wizard will remain on screen while the analysis is carried out." | |
Height = 195 | |
Left = 690 | |
TabIndex = 0 | |
Tag = "1104" | |
Top = 2670 | |
Width = 4845 | |
WordWrap = -1 'True | |
End | |
Begin VB.Label lblIntroduction2 | |
AutoSize = -1 'True | |
Caption = "You will be able to select which documents you want to analyze as well as where you want the results to the analysis to be saved. " | |
Height = 390 | |
Left = 690 | |
TabIndex = 1 | |
Tag = "1102" | |
Top = 1800 | |
Width = 4875 | |
WordWrap = -1 'True | |
End | |
Begin VB.Label Label12 | |
BackStyle = 0 'Transparent | |
Caption = "Introduction" | |
BeginProperty Font | |
Name = "Arial" | |
Size = 8.25 | |
Charset = 0 | |
Weight = 700 | |
Underline = 0 'False | |
Italic = 0 'False | |
Strikethrough = 0 'False | |
EndProperty | |
Height = 255 | |
Index = 2 | |
Left = 450 | |
TabIndex = 5 | |
Tag = "1100" | |
Top = 270 | |
Width = 4000 | |
End | |
End | |
End | |
Begin VB.Frame fraStep | |
BorderStyle = 0 'None | |
Caption = "Setup" | |
Enabled = 0 'False | |
BeginProperty Font | |
Name = "MS Sans Serif" | |
Size = 8.25 | |
Charset = 0 | |
Weight = 400 | |
Underline = 0 'False | |
Italic = 0 'False | |
Strikethrough = 0 'False | |
EndProperty | |
Height = 4905 | |
Index = 1 | |
Left = -10000 | |
TabIndex = 32 | |
Tag = "2000" | |
Top = 0 | |
Width = 8235 | |
Begin VB.PictureBox Picture4 | |
Appearance = 0 'Flat | |
BackColor = &H80000005& | |
BorderStyle = 0 'None | |
ForeColor = &H80000008& | |
Height = 4905 | |
Index = 1 | |
Left = 0 | |
ScaleHeight = 4905 | |
ScaleWidth = 2565 | |
TabIndex = 61 | |
TabStop = 0 'False | |
Top = 0 | |
Width = 2565 | |
Begin VB.PictureBox Picture1 | |
Appearance = 0 'Flat | |
BackColor = &H80000005& | |
BorderStyle = 0 'None | |
ForeColor = &H80000008& | |
Height = 1200 | |
Index = 1 | |
Left = 350 | |
Picture = "Wizard.frx":4F971 | |
ScaleHeight = 1200 | |
ScaleWidth = 1980 | |
TabIndex = 62 | |
TabStop = 0 'False | |
Tag = "1060" | |
Top = 3690 | |
Width = 1980 | |
End | |
Begin VB.Label lblStep2_4 | |
BackColor = &H00EED3C2& | |
BackStyle = 0 'Transparent | |
Caption = "4. Analyze" | |
ForeColor = &H00BF4F59& | |
Height = 195 | |
Left = 120 | |
TabIndex = 90 | |
Tag = "1044" | |
Top = 1800 | |
Width = 2140 | |
End | |
Begin VB.Line Line2 | |
BorderColor = &H00808080& | |
Index = 1 | |
X1 = 2550 | |
X2 = 2550 | |
Y1 = 0 | |
Y2 = 4920 | |
End | |
Begin VB.Label Label12 | |
BackStyle = 0 'Transparent | |
Caption = "Steps" | |
BeginProperty Font | |
Name = "Arial" | |
Size = 8.25 | |
Charset = 0 | |
Weight = 700 | |
Underline = 0 'False | |
Italic = 0 'False | |
Strikethrough = 0 'False | |
EndProperty | |
Height = 255 | |
Index = 3 | |
Left = 120 | |
TabIndex = 66 | |
Tag = "1040" | |
Top = 240 | |
Width = 1335 | |
End | |
Begin VB.Label Label9 | |
BackColor = &H00EED3C2& | |
Caption = "2. Documents" | |
ForeColor = &H00BF4F59& | |
Height = 255 | |
Index = 2 | |
Left = 120 | |
TabIndex = 65 | |
Tag = "1042" | |
Top = 1080 | |
Width = 2140 | |
End | |
Begin VB.Label Label8 | |
BackColor = &H00EED3C2& | |
BackStyle = 0 'Transparent | |
Caption = "3. Results" | |
ForeColor = &H00BF4F59& | |
Height = 255 | |
Index = 2 | |
Left = 120 | |
TabIndex = 64 | |
Tag = "1043" | |
Top = 1440 | |
Width = 2140 | |
End | |
Begin VB.Label Label7 | |
BackColor = &H00EED3C2& | |
BackStyle = 0 'Transparent | |
Caption = "1. Introduction" | |
ForeColor = &H00BF4F59& | |
Height = 255 | |
Index = 2 | |
Left = 120 | |
TabIndex = 63 | |
Tag = "1041" | |
Top = 720 | |
Width = 2140 | |
End | |
Begin VB.Line Line3 | |
Index = 2 | |
X1 = 120 | |
X2 = 2280 | |
Y1 = 480 | |
Y2 = 480 | |
End | |
End | |
Begin VB.PictureBox Picture7 | |
Appearance = 0 'Flat | |
BorderStyle = 0 'None | |
ForeColor = &H80000008& | |
Height = 4725 | |
Left = 2580 | |
ScaleHeight = 4725 | |
ScaleWidth = 5535 | |
TabIndex = 58 | |
TabStop = 0 'False | |
Top = 0 | |
Width = 5535 | |
Begin VB.ComboBox cbIgnoreOld | |
Height = 330 | |
ItemData = "Wizard.frx":56F67 | |
Left = 3950 | |
List = "Wizard.frx":56F74 | |
Style = 2 'Dropdown List | |
TabIndex = 99 | |
Top = 1570 | |
Width = 1215 | |
End | |
Begin VB.CheckBox chkIgnoreOld | |
Caption = "Ignore documents older than" | |
Height = 225 | |
Left = 450 | |
TabIndex = 98 | |
Top = 1600 | |
Width = 3400 | |
End | |
Begin VB.CheckBox chkWordDoc | |
Caption = "Documents (*.doc)" | |
Height = 225 | |
Left = 2160 | |
TabIndex = 19 | |
Tag = "1208" | |
Top = 2600 | |
Value = 1 'Checked | |
Width = 3200 | |
End | |
Begin VB.CheckBox chkWordTemplate | |
Caption = "Templates (*.dot)" | |
Height = 225 | |
Left = 2160 | |
TabIndex = 20 | |
Tag = "1209" | |
Top = 2900 | |
Width = 3200 | |
End | |
Begin VB.CheckBox chkPPTemplate | |
Caption = "Templates (*.pot)" | |
Height = 225 | |
Left = 2160 | |
TabIndex = 24 | |
Tag = "1215" | |
Top = 4400 | |
Width = 3200 | |
End | |
Begin VB.CheckBox chkPPDoc | |
Caption = "Presentations (*.ppt)" | |
Height = 225 | |
Left = 2160 | |
TabIndex = 23 | |
Tag = "1214" | |
Top = 4100 | |
Width = 3200 | |
End | |
Begin VB.CheckBox chkExcelDoc | |
Caption = "Spreadsheets (*.xls)" | |
Height = 225 | |
Left = 2160 | |
TabIndex = 21 | |
Tag = "1211" | |
Top = 3350 | |
Width = 3200 | |
End | |
Begin VB.CheckBox chkExcelTemplate | |
Caption = "Templates (*.xlt)" | |
Height = 225 | |
Left = 2160 | |
TabIndex = 22 | |
Tag = "1212" | |
Top = 3650 | |
Width = 3200 | |
End | |
Begin VB.CommandButton btnBrowseDirInput | |
Caption = "..." | |
Height = 315 | |
Left = 4740 | |
TabIndex = 17 | |
Top = 900 | |
Width = 400 | |
End | |
Begin VB.TextBox txtInputDir | |
Height = 315 | |
Left = 450 | |
TabIndex = 16 | |
Tag = "1205" | |
Text = "C:\" | |
Top = 900 | |
Width = 4155 | |
End | |
Begin VB.CheckBox chkIncludeSubdirs | |
Caption = "Include subdirectories in the analysis" | |
Height = 225 | |
Left = 450 | |
TabIndex = 18 | |
Tag = "1202" | |
Top = 1300 | |
Width = 4965 | |
End | |
Begin VB.Label lblDocTypes | |
Caption = "Document types to analyze" | |
Height = 225 | |
Left = 450 | |
TabIndex = 95 | |
Tag = "1206" | |
Top = 2250 | |
Width = 4905 | |
End | |
Begin VB.Label lblChooseDocs | |
AutoSize = -1 'True | |
Caption = "Choose the documents you want to analyze" | |
BeginProperty Font | |
Name = "Arial" | |
Size = 8.25 | |
Charset = 0 | |
Weight = 700 | |
Underline = 0 'False | |
Italic = 0 'False | |
Strikethrough = 0 'False | |
EndProperty | |
Height = 195 | |
Left = 300 | |
TabIndex = 94 | |
Tag = "1200" | |
Top = 240 | |
Width = 5115 | |
WordWrap = -1 'True | |
End | |
Begin VB.Label Label13 | |
AutoSize = -1 'True | |
Caption = "PowerPoint" | |
Height = 225 | |
Index = 2 | |
Left = 690 | |
TabIndex = 74 | |
Tag = "1213" | |
Top = 4100 | |
Width = 1245 | |
WordWrap = -1 'True | |
End | |
Begin VB.Label Label13 | |
AutoSize = -1 'True | |
Caption = "Excel" | |
Height = 225 | |
Index = 1 | |
Left = 690 | |
TabIndex = 73 | |
Tag = "1210" | |
Top = 3350 | |
Width = 1245 | |
WordWrap = -1 'True | |
End | |
Begin VB.Label Label13 | |
AutoSize = -1 'True | |
Caption = "Word" | |
Height = 225 | |
Index = 0 | |
Left = 690 | |
TabIndex = 72 | |
Tag = "1207" | |
Top = 2600 | |
Width = 1245 | |
WordWrap = -1 'True | |
End | |
Begin VB.Label Label1 | |
Caption = "Location of Microsoft Office documents" | |
Height = 200 | |
Left = 450 | |
TabIndex = 59 | |
Tag = "1201" | |
Top = 600 | |
Width = 4935 | |
End | |
End | |
End | |
Begin VB.Frame fraStep | |
BorderStyle = 0 'None | |
Caption = "Options" | |
Enabled = 0 'False | |
BeginProperty Font | |
Name = "MS Sans Serif" | |
Size = 8.25 | |
Charset = 0 | |
Weight = 400 | |
Underline = 0 'False | |
Italic = 0 'False | |
Strikethrough = 0 'False | |
EndProperty | |
Height = 4905 | |
Index = 2 | |
Left = -10000 | |
TabIndex = 33 | |
Tag = "2002" | |
Top = 0 | |
Width = 8235 | |
Begin VB.PictureBox Picture11 | |
BorderStyle = 0 'None | |
Height = 555 | |
Left = 7260 | |
ScaleHeight = 555 | |
ScaleWidth = 705 | |
TabIndex = 75 | |
Top = 1890 | |
Width = 705 | |
Begin VB.CommandButton btnBrowseDirOut | |
Caption = "..." | |
Height = 375 | |
Left = 90 | |
TabIndex = 28 | |
Top = 90 | |
Width = 495 | |
End | |
End | |
Begin VB.TextBox txtResultsName | |
Height = 375 | |
Left = 3030 | |
TabIndex = 26 | |
Tag = "1302" | |
Text = "Analysis Results.xls" | |
Top = 1140 | |
Width = 3045 | |
End | |
Begin VB.TextBox txtOutputDir | |
Height = 375 | |
Left = 3030 | |
TabIndex = 27 | |
Top = 1980 | |
Width = 4185 | |
End | |
Begin VB.PictureBox Picture5 | |
Appearance = 0 'Flat | |
BorderStyle = 0 'None | |
ForeColor = &H80000008& | |
Height = 1365 | |
Left = 3300 | |
ScaleHeight = 1365 | |
ScaleWidth = 4635 | |
TabIndex = 57 | |
TabStop = 0 'False | |
Top = 3210 | |
Width = 4635 | |
Begin VB.OptionButton rdbResultsPrompt | |
Caption = "Ask me before overwriting" | |
Height = 435 | |
Left = 0 | |
TabIndex = 29 | |
Tag = "1312" | |
Top = 0 | |
Value = -1 'True | |
Width = 4485 | |
End | |
Begin VB.OptionButton rdbResultsOverwrite | |
Caption = "Overwrite without asking me" | |
Height = 435 | |
Left = 0 | |
TabIndex = 30 | |
Tag = "1313" | |
Top = 450 | |
Width = 4455 | |
End | |
Begin VB.OptionButton rdbResultsAppend | |
Caption = "Append the new results to the existing results" | |
Height = 675 | |
Left = 0 | |
TabIndex = 31 | |
Tag = "1314" | |
Top = 780 | |
Visible = 0 'False | |
Width = 4515 | |
End | |
End | |
Begin VB.Frame Frame3 | |
Appearance = 0 'Flat | |
BackColor = &H80000005& | |
BorderStyle = 0 'None | |
Enabled = 0 'False | |
ForeColor = &H0099A8AC& | |
Height = 5175 | |
Index = 0 | |
Left = 0 | |
TabIndex = 39 | |
Top = 0 | |
Width = 2535 | |
Begin VB.PictureBox Picture1 | |
Appearance = 0 'Flat | |
BackColor = &H80000005& | |
BorderStyle = 0 'None | |
ForeColor = &H80000008& | |
Height = 1200 | |
Index = 3 | |
Left = 350 | |
Picture = "Wizard.frx":56F97 | |
ScaleHeight = 1200 | |
ScaleWidth = 1980 | |
TabIndex = 40 | |
TabStop = 0 'False | |
Top = 3690 | |
Width = 1980 | |
End | |
Begin VB.Label lblStep3_4 | |
BackColor = &H00EED3C2& | |
BackStyle = 0 'Transparent | |
Caption = "4. Analyze" | |
ForeColor = &H00BF4F59& | |
Height = 195 | |
Left = 120 | |
TabIndex = 91 | |
Tag = "1044" | |
Top = 1800 | |
Width = 2140 | |
End | |
Begin VB.Label Label12 | |
BackStyle = 0 'Transparent | |
Caption = "Steps" | |
BeginProperty Font | |
Name = "Arial" | |
Size = 8.25 | |
Charset = 0 | |
Weight = 700 | |
Underline = 0 'False | |
Italic = 0 'False | |
Strikethrough = 0 'False | |
EndProperty | |
Height = 255 | |
Index = 0 | |
Left = 120 | |
TabIndex = 53 | |
Tag = "1040" | |
Top = 240 | |
Width = 1335 | |
End | |
Begin VB.Label Label9 | |
BackColor = &H00EED3C2& | |
BackStyle = 0 'Transparent | |
Caption = "2. Documents" | |
ForeColor = &H00BF4F59& | |
Height = 255 | |
Index = 0 | |
Left = 120 | |
TabIndex = 43 | |
Tag = "1042" | |
Top = 1080 | |
Width = 2140 | |
End | |
Begin VB.Label Label8 | |
BackColor = &H00EED3C2& | |
Caption = "3. Results" | |
ForeColor = &H00BF4F59& | |
Height = 255 | |
Index = 0 | |
Left = 120 | |
TabIndex = 42 | |
Tag = "1043" | |
Top = 1440 | |
Width = 2140 | |
End | |
Begin VB.Label Label7 | |
BackColor = &H00EED3C2& | |
BackStyle = 0 'Transparent | |
Caption = "1. Introduction" | |
ForeColor = &H00BF4F59& | |
Height = 255 | |
Index = 0 | |
Left = 120 | |
TabIndex = 41 | |
Tag = "1041" | |
Top = 720 | |
Width = 2140 | |
End | |
Begin VB.Line Line3 | |
Index = 0 | |
X1 = 120 | |
X2 = 2280 | |
Y1 = 480 | |
Y2 = 480 | |
End | |
End | |
Begin VB.Label Label3 | |
Caption = "File name for the results spreadsheet" | |
Height = 195 | |
Left = 3030 | |
TabIndex = 71 | |
Tag = "1301" | |
Top = 840 | |
Width = 4785 | |
End | |
Begin VB.Label lblResultsLocation | |
Caption = "Location" | |
Height = 195 | |
Left = 3030 | |
TabIndex = 70 | |
Tag = "1304" | |
Top = 1710 | |
Width = 4755 | |
End | |
Begin VB.Label Label13 | |
AutoSize = -1 'True | |
Caption = "If results already exisit under the same name and location:" | |
Height = 195 | |
Index = 5 | |
Left = 3030 | |
TabIndex = 38 | |
Tag = "1311" | |
Top = 2730 | |
Width = 4230 | |
WordWrap = -1 'True | |
End | |
Begin VB.Line Line2 | |
BorderColor = &H00808080& | |
Index = 0 | |
X1 = 2550 | |
X2 = 2550 | |
Y1 = 0 | |
Y2 = 4920 | |
End | |
Begin VB.Label lblChooseResults | |
AutoSize = -1 'True | |
Caption = "Choose where and how to save the analysis results" | |
BeginProperty Font | |
Name = "Arial" | |
Size = 8.25 | |
Charset = 0 | |
Weight = 700 | |
Underline = 0 'False | |
Italic = 0 'False | |
Strikethrough = 0 'False | |
EndProperty | |
Height = 195 | |
Left = 2880 | |
TabIndex = 37 | |
Tag = "1300" | |
Top = 240 | |
Width = 5055 | |
WordWrap = -1 'True | |
End | |
End | |
Begin VB.Frame fraStep | |
BorderStyle = 0 'None | |
Caption = "Analyze" | |
Enabled = 0 'False | |
BeginProperty Font | |
Name = "MS Sans Serif" | |
Size = 8.25 | |
Charset = 0 | |
Weight = 400 | |
Underline = 0 'False | |
Italic = 0 'False | |
Strikethrough = 0 'False | |
EndProperty | |
Height = 4905 | |
Index = 3 | |
Left = 0 | |
TabIndex = 34 | |
Tag = "3000" | |
Top = 0 | |
Width = 2.45745e5 | |
Begin VB.PictureBox Picture12 | |
Appearance = 0 'Flat | |
BorderStyle = 0 'None | |
ForeColor = &H80000008& | |
Height = 4905 | |
Left = 10020 | |
ScaleHeight = 4905 | |
ScaleWidth = 8175 | |
TabIndex = 69 | |
TabStop = 0 'False | |
Top = 0 | |
Width = 8175 | |
End | |
Begin VB.CommandButton btnPrepare | |
Caption = "Prepare" | |
Enabled = 0 'False | |
Height = 375 | |
Left = 3340 | |
TabIndex = 97 | |
Tag = "1411" | |
Top = 4410 | |
Visible = 0 'False | |
Width = 4000 | |
End | |
Begin VB.CommandButton btnRunAnalysis | |
Caption = "Run" | |
Height = 375 | |
Left = 3340 | |
TabIndex = 35 | |
Tag = "1404" | |
Top = 3410 | |
Width = 4000 | |
End | |
Begin VB.CommandButton btnViewResults | |
Caption = "View" | |
Enabled = 0 'False | |
Height = 375 | |
Left = 3340 | |
TabIndex = 36 | |
Tag = "1406" | |
Top = 3910 | |
Width = 4000 | |
End | |
Begin VB.Frame Frame3 | |
Appearance = 0 'Flat | |
BackColor = &H80000005& | |
BorderStyle = 0 'None | |
Enabled = 0 'False | |
ForeColor = &H0099A8AC& | |
Height = 5175 | |
Index = 3 | |
Left = 0 | |
TabIndex = 44 | |
Top = 0 | |
Width = 2535 | |
Begin VB.PictureBox Picture4 | |
Appearance = 0 'Flat | |
BackColor = &H80000005& | |
BorderStyle = 0 'None | |
ForeColor = &H80000008& | |
Height = 1575 | |
Index = 2 | |
Left = 150 | |
ScaleHeight = 1575 | |
ScaleWidth = 2385 | |
TabIndex = 55 | |
TabStop = 0 'False | |
Top = 3390 | |
Width = 2385 | |
Begin VB.PictureBox Picture1 | |
Appearance = 0 'Flat | |
BackColor = &H80000005& | |
BorderStyle = 0 'None | |
ForeColor = &H80000008& | |
Height = 1200 | |
Index = 2 | |
Left = 200 | |
Picture = "Wizard.frx":5E58D | |
ScaleHeight = 1200 | |
ScaleWidth = 2475 | |
TabIndex = 56 | |
TabStop = 0 'False | |
Tag = "1060" | |
Top = 300 | |
Width = 2480 | |
End | |
End | |
Begin VB.Label lblStep4_4 | |
BackColor = &H00EED3C2& | |
Caption = "4. Analyze" | |
ForeColor = &H00BF4F59& | |
Height = 255 | |
Left = 120 | |
TabIndex = 92 | |
Tag = "1044" | |
Top = 1800 | |
Width = 2140 | |
End | |
Begin VB.Label Label12 | |
BackStyle = 0 'Transparent | |
Caption = "Steps" | |
BeginProperty Font | |
Name = "Arial" | |
Size = 8.25 | |
Charset = 0 | |
Weight = 700 | |
Underline = 0 'False | |
Italic = 0 'False | |
Strikethrough = 0 'False | |
EndProperty | |
Height = 255 | |
Index = 5 | |
Left = 120 | |
TabIndex = 54 | |
Tag = "1040" | |
Top = 240 | |
Width = 1335 | |
End | |
Begin VB.Label Label9 | |
BackColor = &H00EED3C2& | |
BackStyle = 0 'Transparent | |
Caption = "2. Documents" | |
ForeColor = &H00BF4F59& | |
Height = 255 | |
Index = 3 | |
Left = 120 | |
TabIndex = 47 | |
Tag = "1042" | |
Top = 1080 | |
Width = 2140 | |
End | |
Begin VB.Label Label8 | |
BackColor = &H00EED3C2& | |
BackStyle = 0 'Transparent | |
Caption = "3. Results" | |
ForeColor = &H00BF4F59& | |
Height = 255 | |
Index = 3 | |
Left = 120 | |
TabIndex = 46 | |
Tag = "1043" | |
Top = 1440 | |
Width = 2140 | |
End | |
Begin VB.Label Label7 | |
BackColor = &H00EED3C2& | |
BackStyle = 0 'Transparent | |
Caption = "1. Introduction" | |
ForeColor = &H00BF4F59& | |
Height = 255 | |
Index = 3 | |
Left = 120 | |
TabIndex = 45 | |
Tag = "1041" | |
Top = 720 | |
Width = 2140 | |
End | |
Begin VB.Line Line3 | |
Index = 3 | |
X1 = 120 | |
X2 = 2280 | |
Y1 = 480 | |
Y2 = 480 | |
End | |
End | |
Begin VB.Label lblSkippedOld | |
Caption = "Skipped <TOPIC> documets, because they were too old" | |
Height = 195 | |
Left = 3180 | |
TabIndex = 60 | |
Top = 2880 | |
Width = 4935 | |
End | |
Begin VB.Label lblSetupDone | |
AutoSize = -1 'True | |
Caption = "Run the analysis and view the results" | |
BeginProperty Font | |
Name = "Arial" | |
Size = 8.25 | |
Charset = 0 | |
Weight = 700 | |
Underline = 0 'False | |
Italic = 0 'False | |
Strikethrough = 0 'False | |
EndProperty | |
Height = 195 | |
Left = 2880 | |
TabIndex = 96 | |
Tag = "1400" | |
Top = 240 | |
Width = 4905 | |
WordWrap = -1 'True | |
End | |
Begin VB.Label lblNumPPT | |
Caption = "<TOPIC> Presentations" | |
Height = 255 | |
Left = 4620 | |
TabIndex = 88 | |
Tag = "1409" | |
Top = 2280 | |
Width = 3375 | |
End | |
Begin VB.Label lblNumPOT | |
Caption = "<TOPIC> Templates" | |
Height = 255 | |
Left = 4620 | |
TabIndex = 87 | |
Tag = "1403" | |
Top = 2550 | |
Width = 3375 | |
End | |
Begin VB.Label lblNumXLS | |
Caption = "<TOPIC> Spreadsheets" | |
Height = 255 | |
Left = 4620 | |
TabIndex = 86 | |
Tag = "1408" | |
Top = 1680 | |
Width = 3375 | |
End | |
Begin VB.Label lblNumXLT | |
Caption = "<TOPIC> Templates" | |
Height = 255 | |
Left = 4620 | |
TabIndex = 85 | |
Tag = "1403" | |
Top = 1950 | |
Width = 3375 | |
End | |
Begin VB.Label Label16 | |
AutoSize = -1 'True | |
Caption = "PowerPoint" | |
Height = 195 | |
Left = 3360 | |
TabIndex = 82 | |
Tag = "1213" | |
Top = 2280 | |
Width = 1095 | |
WordWrap = -1 'True | |
End | |
Begin VB.Label Label13 | |
Caption = "Word" | |
Height = 705 | |
Index = 10 | |
Left = 0 | |
TabIndex = 81 | |
Tag = "1207" | |
Top = 0 | |
Width = 1245 | |
End | |
Begin VB.Label Label13 | |
Caption = "Excel" | |
Height = 705 | |
Index = 9 | |
Left = 0 | |
TabIndex = 80 | |
Tag = "1210" | |
Top = 810 | |
Width = 1245 | |
End | |
Begin VB.Label Label13 | |
Caption = "PowerPoint" | |
Height = 585 | |
Index = 8 | |
Left = 0 | |
TabIndex = 79 | |
Tag = "1213" | |
Top = 1620 | |
Width = 1245 | |
End | |
Begin VB.Label Label13 | |
Caption = "Word" | |
Height = 585 | |
Index = 7 | |
Left = 0 | |
TabIndex = 78 | |
Tag = "1207" | |
Top = 0 | |
Width = 1245 | |
End | |
Begin VB.Label Label13 | |
Caption = "Excel" | |
Height = 585 | |
Index = 6 | |
Left = 0 | |
TabIndex = 77 | |
Tag = "1210" | |
Top = 810 | |
Width = 1245 | |
End | |
Begin VB.Label Label13 | |
Caption = "PowerPoint" | |
Height = 465 | |
Index = 4 | |
Left = 0 | |
TabIndex = 76 | |
Tag = "1213" | |
Top = 1620 | |
Width = 1245 | |
End | |
Begin VB.Label lblNumTemplates | |
Caption = "<TOPIC> Templates" | |
Height = 255 | |
Left = 4620 | |
TabIndex = 52 | |
Tag = "1403" | |
Top = 1350 | |
Width = 3375 | |
End | |
Begin VB.Label lblNumDocs | |
Caption = "<TOPIC> Documents" | |
Height = 255 | |
Left = 4620 | |
TabIndex = 51 | |
Tag = "1402" | |
Top = 1080 | |
Width = 3375 | |
End | |
Begin VB.Line Line6 | |
BorderColor = &H00808080& | |
X1 = 2640 | |
X2 = 8040 | |
Y1 = 3270 | |
Y2 = 3270 | |
End | |
Begin VB.Label Label15 | |
AutoSize = -1 'True | |
Caption = "Excel" | |
Height = 195 | |
Left = 3360 | |
TabIndex = 50 | |
Tag = "1210" | |
Top = 1680 | |
Width = 1095 | |
WordWrap = -1 'True | |
End | |
Begin VB.Label Label14 | |
AutoSize = -1 'True | |
Caption = "Word" | |
Height = 195 | |
Left = 3360 | |
TabIndex = 49 | |
Tag = "1207" | |
Top = 1080 | |
Width = 1110 | |
WordWrap = -1 'True | |
End | |
Begin VB.Label lblTotalNumDocs | |
AutoSize = -1 'True | |
Caption = "A total of <TOPIC> documents will be analyzed:" | |
Height = 195 | |
Left = 3180 | |
TabIndex = 48 | |
Tag = "1401" | |
Top = 660 | |
Width = 4800 | |
WordWrap = -1 'True | |
End | |
Begin VB.Line Line2 | |
BorderColor = &H00808080& | |
Index = 3 | |
X1 = 2550 | |
X2 = 2550 | |
Y1 = 0 | |
Y2 = 4920 | |
End | |
End | |
Begin VB.PictureBox picNav | |
Align = 2 'Align Bottom | |
Appearance = 0 'Flat | |
BorderStyle = 0 'None | |
BeginProperty Font | |
Name = "MS Sans Serif" | |
Size = 8.25 | |
Charset = 0 | |
Weight = 400 | |
Underline = 0 'False | |
Italic = 0 'False | |
Strikethrough = 0 'False | |
EndProperty | |
ForeColor = &H80000008& | |
Height = 570 | |
Left = 0 | |
ScaleHeight = 570 | |
ScaleWidth = 8175 | |
TabIndex = 4 | |
TabStop = 0 'False | |
Top = 4950 | |
Width = 8175 | |
Begin VB.CommandButton cmdNav | |
Caption = "Finish" | |
Height = 312 | |
Index = 4 | |
Left = 5325 | |
MaskColor = &H00000000& | |
TabIndex = 14 | |
Tag = "1023" | |
Top = 120 | |
Width = 1320 | |
End | |
Begin VB.CommandButton cmdNav | |
Caption = "Next >>" | |
Height = 312 | |
Index = 3 | |
Left = 3870 | |
MaskColor = &H00000000& | |
TabIndex = 13 | |
Tag = "1022" | |
Top = 120 | |
Width = 1320 | |
End | |
Begin VB.CommandButton cmdNav | |
Caption = "<< Back" | |
Height = 312 | |
Index = 2 | |
Left = 2535 | |
MaskColor = &H00000000& | |
TabIndex = 12 | |
Tag = "1021" | |
Top = 120 | |
Width = 1320 | |
End | |
Begin VB.CommandButton cmdNav | |
Cancel = -1 'True | |
Caption = "Cancel" | |
Height = 312 | |
Index = 1 | |
Left = 6750 | |
MaskColor = &H00000000& | |
TabIndex = 15 | |
Tag = "1024" | |
Top = 120 | |
Width = 1320 | |
End | |
End | |
Begin VB.Label Label18 | |
Caption = "<TOPIC> Documents" | |
Height = 255 | |
Left = 0 | |
TabIndex = 84 | |
Top = 0 | |
Width = 2085 | |
WordWrap = -1 'True | |
End | |
Begin VB.Label Label17 | |
Caption = "<TOPIC> Templates" | |
Height = 255 | |
Left = 0 | |
TabIndex = 83 | |
Top = 390 | |
Width = 3615 | |
WordWrap = -1 'True | |
End | |
Begin VB.Line Line4 | |
BorderColor = &H00808080& | |
X1 = 0 | |
X2 = 8160 | |
Y1 = 4920 | |
Y2 = 4920 | |
End | |
End | |
Attribute VB_Name = "frmWizard" | |
Attribute VB_GlobalNameSpace = False | |
Attribute VB_Creatable = False | |
Attribute VB_PredeclaredId = True | |
Attribute VB_Exposed = False | |
' ******************************************************************************* | |
' * | |
' * Copyright 2000, 2010 Oracle and/or its affiliates. All rights reserved. Use of this | |
' * product is subject to license terms. | |
' * | |
' ******************************************************************************* | |
Option Explicit | |
Const TOPIC_STR = "<TOPIC>" | |
Const TOPIC2_STR = "<TOPIC2>" | |
Const CR_STR = "<CR>" | |
Const CDEBUG_LEVEL_DEFAULT = 1 'Will output all Debug output to analysis.log file | |
Const CSUPPORTED_VERSION = 9# | |
Const NUM_STEPS = 4 | |
Const CAPPNAME_WORD = "Word" | |
Const CAPPNAME_EXCEL = "Excel" | |
Const CAPPNAME_POWERPOINT = "PowerPoint" | |
Const CANALYZING = "Analyzing" | |
Const BTN_CANCEL = 1 | |
Const BTN_BACK = 2 | |
Const BTN_NEXT = 3 | |
Const BTN_FINISH = 4 | |
Const STEP_INTRO = 0 | |
Const STEP_1 = 1 | |
Const STEP_2 = 2 | |
Const STEP_FINISH = 3 | |
Const DIR_NONE = 0 | |
Const DIR_BACK = 1 | |
Const DIR_NEXT = 2 | |
Const CPRODUCTNAME_STR = "<PRODUCTNAME>" | |
Const CSTR_ANALYSIS_LOG_DONE = "Done" | |
Const CINPUT_DIR = "indir" | |
Const COUTPUT_DIR = "outdir" | |
Const CRESULTS_FILE = "resultsfile" | |
Const CLOG_FILE = "logfile" | |
Const CRESULTS_TEMPLATE = "resultstemplate" | |
Const CRESULTS_EXIST = "resultsexist" | |
Const CPROMPT_FILE = "promptfile" | |
Const COVERWRITE_FILE = "overwritefile" | |
Const CAPPEND_FILE = "appendfile" | |
Const CNEW_RESULTS_FILE = "newresultsfile" | |
Const CINCLUDE_SUBDIRS = "includesubdirs" | |
Const CDEBUG_LEVEL = "debuglevel" | |
Const CTYPE_WORDDOC = "typeworddoc" | |
Const CTYPE_WORDDOT = "typeworddot" | |
Const CTYPE_EXCELDOC = "typeexceldoc" | |
Const CTYPE_EXCELDOT = "typeexceldot" | |
Const CTYPE_PPDOC = "typepowerpointdoc" | |
Const CTYPE_PPDOT = "typepowerpointdot" | |
Const COUTPUT_TYPE = "outputtype" | |
Const COUTPUT_TYPE_XLS = "xls" | |
Const COUTPUT_TYPE_XML = "xml" | |
Const COUTPUT_TYPE_BOTH = "both" | |
Const CVERSION = "version" | |
Const CDOPREPARE = "prepare" | |
Const CTITLE = "title" | |
Const CIGNORE_OLD_DOCS = "ignoreolddocuments" | |
Const CISSUE_LIMIT = "issuesmonthlimit" | |
Const CISSUE_LIMIT_DAW = 6 | |
Private mIssueLimit As Integer | |
Const CDEFAULT_PASSWORD = "defaultpassword" | |
Const CSTR_TEST_PASSWORD = "test" | |
Private mDefaultPassword As String | |
Const CLAST_CHECKPOINT As String = "LastCheckpoint" | |
Const CNEXT_FILE As String = "NextFile" | |
Const C_ABORT_ANALYSIS As String = "AbortAnalysis" | |
Const CNUMBER_TOTAL_DOCS = "total_numberdocs" | |
Const CNUMBER_DOCS_DOC = "numberdocs_doc" | |
Const CNUMBER_TEMPLATES_DOT = "numbertemplates_dot" | |
Const CNUMBER_DOCS_XLS = "numberdocs_xls" | |
Const CNUMBER_TEMPLATES_XLT = "numbertemplates_xlt" | |
Const CNUMBER_DOCS_PPT = "numberdocs_ppt" | |
Const CNUMBER_TEMPLATES_POT = "numbertemplates_pot" | |
Const CSTART_TIME = "start" | |
Const CEND_TIME = "end" | |
Const CELAPSED_TIME = "time_for_analysis" | |
Const CWINVERSION = "win_version" | |
Const CUSER_LOCALE_INFO = "user_locale" | |
Const CSYS_LOCALE_INFO = "system_locale" | |
Const CWORD_VERSION = "word_ver" | |
Const CEXCEL_VERSION = "excel_ver" | |
Const CPOWERPOINT_VERSION = "powerpoint_ver" | |
Const CNOT_INSTALLED = "not installed" | |
Const CRESULTS_FILE_EXTENSION = ".xls" | |
Const CCONFIG_BACKUP_EXT = "_bak" | |
Const CDEFAULT_README_NAME = "UserGuide" | |
Const C_DOCS_LESS_3_MONTH = "DocumentsYoungerThan3Month" | |
Const C_DOCS_LESS_6_MONTH = "DocumentsYoungerThan6Month" | |
Const C_DOCS_LESS_12_MONTH = "DocumentsYoungerThan12Month" | |
Const C_DOCS_MORE_12_MONTH = "DocumentsOlderThan12Month" | |
'module level vars | |
Dim mnCurStep As Integer | |
Dim mbTrue As Boolean | |
Dim mbFalse As Boolean | |
Dim mLblSteps As String | |
Dim mChbSubdirs As String | |
Dim mWordDocCount As Long | |
Dim mExcelDocCount As Long | |
Dim mPPDocCount As Long | |
Dim mWordTemplateCount As Long | |
Dim mExcelTemplateCount As Long | |
Dim mPPTemplateCount As Long | |
Dim mTotalDocCount As Long | |
Dim mIgnoredDocCount As Long | |
Public VBInst As VBIDE.VBE | |
Dim mbFinishOK As Boolean | |
Dim mbAllowExit As Boolean | |
Private mStrTrue As String | |
Private mLogFilePath As String | |
Private mDebugLevel As String | |
Private mIniFilePath As String | |
Private mbDocCountCurrent As Boolean | |
Private mbDoPrepare As Boolean | |
Dim mDocFiles As CollectedFiles | |
Private Declare Sub InitCommonControls Lib "comctl32" () | |
Private Declare Function GetTickCount Lib "kernel32" () As Long | |
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) | |
Const FORMAT_MESSAGE_FROM_SYSTEM = &H1000 | |
Private Declare Function FormatMessage Lib "kernel32" Alias _ | |
"FormatMessageA" (ByVal dwFlags As Long, lpSource As Long, _ | |
ByVal dwMessageId As Long, ByVal dwLanguageId As Long, _ | |
ByVal lpBuffer As String, ByVal nSize As Long, Arguments As Any) As Long | |
Private Const HKEY_CURRENT_USER As Long = &H80000001 | |
Private Const HKEY_LOCAL_MACHINE As Long = &H80000002 | |
Const WORD_APP = "word" | |
Const EXCEL_APP = "excel" | |
Const PP_APP = "pp" | |
Const REG_KEY_APP_PATH = "Software\Microsoft\Windows\CurrentVersion\App Paths\" | |
Function GetAppPath(myApp As String) As String | |
Dim myPath As String | |
If (myApp = WORD_APP) Then | |
myPath = GetRegistryInfo(HKEY_LOCAL_MACHINE, REG_KEY_APP_PATH & "winword.exe", "") | |
ElseIf (myApp = EXCEL_APP) Then | |
myPath = GetRegistryInfo(HKEY_LOCAL_MACHINE, REG_KEY_APP_PATH & "excel.exe", "") | |
ElseIf (myApp = PP_APP) Then | |
myPath = GetRegistryInfo(HKEY_LOCAL_MACHINE, REG_KEY_APP_PATH & "powerpnt.exe", "") | |
Else | |
MsgBox "Unknown application: " & myApp, vbCritical | |
Exit Function | |
End If | |
If (myPath = "") Then | |
If (myApp = WORD_APP) Then | |
myPath = GetRegistryInfo(HKEY_CURRENT_USER, REG_KEY_APP_PATH & "winword.exe", "") | |
ElseIf (myApp = EXCEL_APP) Then | |
myPath = GetRegistryInfo(HKEY_CURRENT_USER, REG_KEY_APP_PATH & "excel.exe", "") | |
ElseIf (myApp = PP_APP) Then | |
myPath = GetRegistryInfo(HKEY_CURRENT_USER, REG_KEY_APP_PATH & "powerpnt.exe", "") | |
End If | |
End If | |
GetAppPath = myPath | |
End Function | |
Function GetDriverDoc(myApp As String) As String | |
Dim myPath As String | |
Dim errStr As String | |
Dim fso As New FileSystemObject | |
If (myApp = WORD_APP) Then | |
myPath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CWORD_DRIVER_FILE) | |
ElseIf (myApp = EXCEL_APP) Then | |
myPath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CEXCEL_DRIVER_FILE) | |
ElseIf (myApp = PP_APP) Then | |
myPath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CPP_DRIVER_FILE) | |
Else | |
MsgBox "Unknown application: " & myApp, vbCritical | |
GoTo FinalExit | |
End If | |
If Not fso.FileExists(myPath) Then | |
errStr = ReplaceTopic2Tokens(GetResString(ERR_MISSING_WORD_DRIVER), _ | |
TOPIC_STR, myPath, CR_STR, Chr(13)) | |
WriteDebug errStr | |
MsgBox errStr, vbCritical | |
GoTo FinalExit | |
End If | |
GetDriverDoc = myPath | |
FinalExit: | |
Set fso = Nothing | |
End Function | |
Private Function AutomationMessageText(lCode As Long) As String | |
Dim sRtrnCode As String | |
Dim lRet As Long | |
sRtrnCode = Space$(256) | |
lRet = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, 0&, lCode, 0&, _ | |
sRtrnCode, 256&, 0&) | |
If lRet > 0 Then | |
AutomationMessageText = Left(sRtrnCode, lRet) | |
Else | |
AutomationMessageText = "Error not found." | |
End If | |
End Function | |
Private Sub btnBrowseDirInput_Click() | |
Dim folder As String | |
Dim StartDir As String | |
If Len(txtInputDir.Text) > 0 Then | |
StartDir = txtInputDir.Text | |
End If | |
folder = BrowseForFolder(Me, GetResString(BROWSE_FOR_DOC_DIR_ID), StartDir) | |
If Len(folder) = 0 Then | |
Exit Sub 'User Selected Cancel | |
End If | |
txtInputDir.Text = folder | |
txtInputDir.ToolTipText = folder | |
If Len(txtOutputDir.Text) = 0 Then | |
txtOutputDir.Text = folder | |
txtOutputDir.ToolTipText = folder | |
End If | |
End Sub | |
Private Sub btnBrowseDirOut_Click() | |
Dim folder As String | |
Dim StartDir As String | |
If Len(txtOutputDir.Text) > 0 Then | |
StartDir = txtOutputDir.Text | |
End If | |
folder = BrowseForFolder(Me, GetResString(BROWSE_FOR_RES_DIR_ID), StartDir) | |
If Len(folder) = 0 Then | |
Exit Sub 'User Selected Cancel | |
End If | |
txtOutputDir.Text = folder | |
txtOutputDir.ToolTipText = folder | |
End Sub | |
Private Sub btnPrepare_Click() | |
On Error GoTo HandleErrors | |
Dim currentFunctionName As String | |
currentFunctionName = "btnPrepare_Click" | |
mbDoPrepare = True | |
mbAllowExit = True | |
btnViewResults.Enabled = False | |
btnRunAnalysis.Enabled = False | |
btnPrepare.Enabled = False | |
cmdNav(BTN_CANCEL).Enabled = False | |
cmdNav(BTN_BACK).Enabled = False | |
cmdNav(BTN_NEXT).Enabled = False | |
cmdNav(BTN_FINISH).Enabled = False | |
btnPrepare.Caption = GetResString(RUNBTN_RUNNING_ID) | |
Dim str As String | |
If RunAnalysis(True) Then | |
cmdNav(BTN_FINISH).Enabled = True | |
btnRunAnalysis.Enabled = True | |
btnViewResults.Enabled = True | |
btnPrepare.Enabled = True | |
btnViewResults.SetFocus | |
str = ReplaceTopic2Tokens(GetResString(RID_STR_ENG_OTHER_PREPARE_COMPLETED_PREP_ID), _ | |
TOPIC_STR, getOutputDir, CR_STR, Chr(13)) | |
MsgBox str, vbInformation | |
Else | |
cmdNav(BTN_FINISH).Enabled = False | |
btnRunAnalysis.Enabled = True | |
btnViewResults.Enabled = False | |
btnPrepare.Enabled = False | |
End If | |
FinalExit: | |
mbDoPrepare = False | |
cmdNav(BTN_CANCEL).Enabled = True | |
cmdNav(BTN_BACK).Enabled = True | |
cmdNav(BTN_NEXT).Enabled = False | |
btnPrepare.Caption = GetResString(PREPAREBTN_START_ID) | |
Exit Sub | |
HandleErrors: | |
cmdNav(BTN_FINISH).Enabled = False | |
btnRunAnalysis.Enabled = True | |
btnViewResults.Enabled = False | |
btnPrepare.Enabled = False | |
WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source | |
Resume FinalExit | |
End Sub | |
Private Sub cmdNav_Click(Index As Integer) | |
On Error GoTo HandleError | |
Dim currentFunctionName As String | |
currentFunctionName = "cmdNav_Click" | |
Dim nAltStep As Integer | |
Dim rc As Long | |
Dim fso As Scripting.FileSystemObject | |
Select Case Index | |
Case BTN_CANCEL | |
'Copy backup configuration file over existing | |
If fso Is Nothing Then | |
Set fso = New Scripting.FileSystemObject | |
End If | |
If fso.FileExists(mIniFilePath & CCONFIG_BACKUP_EXT) Then | |
DeleteFile mIniFilePath | |
AttemptToCopyFile mIniFilePath & CCONFIG_BACKUP_EXT, mIniFilePath | |
End If | |
Set mDocFiles = Nothing | |
Unload Me | |
Case BTN_BACK | |
nAltStep = mnCurStep - 1 | |
SetStep nAltStep, DIR_BACK | |
Case BTN_NEXT | |
nAltStep = mnCurStep + 1 | |
SetStep nAltStep, DIR_NEXT | |
Case BTN_FINISH | |
If (Not mbAllowExit) Then | |
Dim str As String | |
Dim response As Integer | |
str = ReplaceTopicTokens(GetResString(RID_STR_ENG_ANALYSE_NOT_RUN), CR_STR, Chr(13)) | |
response = MsgBox(str, vbOKCancel + vbInformation) | |
If response = vbOK Then ' User chose Ok. | |
mbAllowExit = True | |
End If | |
End If | |
If (mbAllowExit) Then | |
DeleteFile mIniFilePath & CCONFIG_BACKUP_EXT | |
Set mDocFiles = Nothing | |
Unload Me | |
End If | |
End Select | |
FinalExit: | |
Set fso = Nothing | |
Exit Sub | |
HandleError: | |
WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source | |
Resume FinalExit | |
End Sub | |
Private Sub btnRunAnalysis_Click() | |
On Error GoTo HandleErrors | |
Dim bViewResults As Boolean | |
Dim str As String | |
Dim response As Integer | |
btnViewResults.Enabled = False | |
btnRunAnalysis.Enabled = False | |
btnPrepare.Enabled = False | |
bViewResults = False | |
mbAllowExit = True | |
cmdNav(BTN_CANCEL).Enabled = False | |
cmdNav(BTN_BACK).Enabled = False | |
cmdNav(BTN_NEXT).Enabled = False | |
cmdNav(BTN_FINISH).Enabled = False | |
btnRunAnalysis.Caption = GetResString(RUNBTN_RUNNING_ID) | |
If RunAnalysis(False) Then | |
cmdNav(BTN_FINISH).Enabled = True | |
btnRunAnalysis.Enabled = True | |
btnViewResults.Enabled = True | |
btnPrepare.Enabled = True | |
btnViewResults.SetFocus | |
btnRunAnalysis.Caption = GetResString(RUNBTN_START_ID) | |
str = ReplaceTopicTokens(GetResString(RID_STR_ENG_ANALYZE_COMPLETED_ID), CR_STR, Chr(13)) | |
response = MsgBox(str, vbOKCancel + vbInformation) | |
If response = vbOK Then ' User chose Ok. | |
bViewResults = True | |
End If | |
Else | |
btnRunAnalysis.Enabled = True | |
btnViewResults.Enabled = False | |
btnPrepare.Enabled = False | |
End If | |
FinalExit: | |
cmdNav(BTN_CANCEL).Enabled = True | |
cmdNav(BTN_BACK).Enabled = True | |
cmdNav(BTN_NEXT).Enabled = False | |
btnRunAnalysis.Caption = GetResString(RUNBTN_START_ID) | |
If bViewResults Then | |
btnViewResults_Click | |
End If | |
Exit Sub | |
HandleErrors: | |
cmdNav(BTN_FINISH).Enabled = False | |
btnRunAnalysis.Enabled = True | |
btnViewResults.Enabled = False | |
btnPrepare.Enabled = False | |
WriteDebug "Document Analysis: View Analysis Results" & Err.Number & " " & Err.Description & " " & Err.Source | |
Resume FinalExit | |
End Sub | |
Private Sub btnViewResults_Click() | |
On Error GoTo HandleErrors | |
Dim resultsFile As String | |
Dim fso As New FileSystemObject | |
Dim str As String | |
mbAllowExit = True | |
resultsFile = getOutputDir & "\" & txtResultsName.Text | |
If GetIniSetting(COUTPUT_TYPE) = COUTPUT_TYPE_XML Or _ | |
GetIniSetting(COUTPUT_TYPE) = COUTPUT_TYPE_BOTH Then | |
Dim base As String | |
Dim path As String | |
base = fso.GetParentFolderName(resultsFile) & "\" & fso.GetBaseName(txtResultsName.Text) | |
If CheckWordDocsToAnalyze Then | |
path = base & "_" & CAPPNAME_WORD & "." & COUTPUT_TYPE_XML | |
End If | |
If CheckExcelDocsToAnalyze Then | |
If path <> "" Then path = path & vbLf | |
path = path & base & "_" & CAPPNAME_EXCEL & "." & COUTPUT_TYPE_XML | |
End If | |
If CheckPPDocsToAnalyze Then | |
If path <> "" Then path = path & vbLf | |
path = path & base & "_" & CAPPNAME_POWERPOINT & "." & COUTPUT_TYPE_XML | |
End If | |
str = ReplaceTopic2Tokens(GetResString(XML_RESULTS_ID), _ | |
TOPIC_STR, path, CR_STR, Chr(13)) | |
WriteDebug str | |
MsgBox str, vbInformation | |
If GetIniSetting(COUTPUT_TYPE) = COUTPUT_TYPE_XML Then | |
Resume FinalExit | |
End If | |
End If | |
If Not fso.FileExists(resultsFile) Then | |
str = ReplaceTopic2Tokens(GetResString(ERR_MISSING_RESULTS_DOC), _ | |
TOPIC_STR, resultsFile, CR_STR, Chr(13)) | |
WriteDebug str | |
MsgBox str, vbCritical | |
Resume FinalExit | |
End If | |
Dim xl As Excel.application | |
Set xl = New Excel.application | |
xl.Visible = True | |
xl.Workbooks.Open resultsFile | |
FinalExit: | |
Set xl = Nothing | |
Set fso = Nothing | |
Exit Sub | |
HandleErrors: | |
WriteDebug "Document Analysis: View Analysis Results" & Err.Number & " " & Err.Description & " " & Err.Source | |
End Sub | |
Private Sub Form_Activate() | |
Dim currentFunctionName As String | |
Dim missingFile As String | |
currentFunctionName = "Form_Activate" | |
On Error GoTo HandleErrors | |
If Not CheckNeededFiles(missingFile) Then | |
Dim str As String | |
str = ReplaceTopic2Tokens(GetResString(ERR_MISSING_WORD_DRIVER), _ | |
TOPIC_STR, missingFile, CR_STR, Chr(13)) | |
WriteDebug str | |
MsgBox str, vbCritical | |
End 'Exit application - some needed files are missing | |
End If | |
FinalExit: | |
Exit Sub | |
HandleErrors: | |
WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source | |
GoTo FinalExit | |
End Sub | |
Private Sub Form_Initialize() | |
Dim currentFunctionName As String | |
currentFunctionName = "Form_Initialize" | |
On Error GoTo ErrorHandler | |
Call InitCommonControls 'Use Windows XP Visual Style | |
FinalExit: | |
Exit Sub | |
ErrorHandler: | |
WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source | |
GoTo FinalExit | |
End Sub | |
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) | |
If KeyCode = vbKeyF1 Then | |
'cmdNav_Click BTN_HELP | |
End If | |
End Sub | |
Private Sub Form_Load() | |
Const COS_CHECK = "oscheck" | |
On Error GoTo HandleErrors | |
Dim currentFunctionName As String | |
currentFunctionName = "Form_Load" | |
Dim fso As New FileSystemObject | |
Dim i As Integer | |
'init all vars | |
mbFinishOK = False | |
mbTrue = True | |
mbFalse = False | |
mLogFilePath = GetLogFilePath | |
mIniFilePath = GetIniFilePath | |
mbDocCountCurrent = False | |
mbDoPrepare = False | |
mbAllowExit = False | |
'Check OS before running | |
Dim bOSCheck As Boolean | |
bOSCheck = IIf(GetIniSetting(COS_CHECK) = "False", False, True) | |
If bOSCheck Then | |
If Not IsWin98Plus Then | |
Dim str As String | |
Dim winVer As RGB_WINVER | |
str = ReplaceTopic2Tokens(GetResString(ERR_SUPPORTED_OSVERSION), _ | |
TOPIC_STR, GetWinVersion(winVer), CR_STR, Chr(13)) | |
WriteDebug str | |
MsgBox str, vbCritical | |
End 'Exit application - unsupported OS | |
End If | |
Else | |
Err.Clear | |
WriteDebug "IsWin2000Plus OS Check bypassed by analysis.ini oscheck=False setting" | |
End If | |
For i = 0 To NUM_STEPS - 1 | |
fraStep(i).Left = -10000 | |
Next | |
'Load All string info for Form | |
LoadResStrings Me | |
frmWizard.Caption = ReplaceTopicTokens(GetResString(TITLE_ID), CPRODUCTNAME_STR, _ | |
GetResString(PRODUCTNAME_ID)) | |
lblIntroduction1.Caption = ReplaceTopicTokens(GetResString(INTRO1_ID), CPRODUCTNAME_STR, _ | |
GetResString(PRODUCTNAME_ID)) | |
mLblSteps = GetResString(LBL_STEPS_ID) | |
mChbSubdirs = GetResString(CHK_SUBDIRS_ID) | |
' Setup Doc Preparation specific strings | |
If gBoolPreparation Then | |
' Steps | |
lblStep1_4.Caption = GetResString(RID_STR_ENG_SIDEBAR_ANALYZE_PREP_ID) | |
lblStep2_4.Caption = GetResString(RID_STR_ENG_SIDEBAR_ANALYZE_PREP_ID) | |
lblStep3_4.Caption = GetResString(RID_STR_ENG_SIDEBAR_ANALYZE_PREP_ID) | |
lblStep4_4.Caption = GetResString(RID_STR_ENG_SIDEBAR_ANALYZE_PREP_ID) | |
' Preparation - Step 1. Introduction | |
lblIntroduction1.Caption = ReplaceTopicTokens(GetResString(RID_STR_ENG_INTRODUCTION_INTRO1_PREP_ID), CPRODUCTNAME_STR, _ | |
GetResString(PRODUCTNAME_ID)) | |
lblIntroduction2.Caption = GetResString(RID_STR_ENG_INTRODUCTION_INTRO2_PREP_ID) | |
lblIntroduction3.Caption = GetResString(RID_STR_ENG_INTRODUCTION_INTRO3_PREP_ID) | |
' Preparation - Step 2. Documents | |
lblChooseDocs.Caption = GetResString(RID_STR_ENG_DOCUMENTS_CHOOSE_DOCUMENTS_PREP_ID) | |
lblDocTypes.Caption = GetResString(RID_STR_ENG_DOCUMENTS_CHOOSE_DOC_TYPES_PREP_ID) | |
'mChbSubdirs = GetResString(RID_STR_ENG_DOCUMENTS_INCLUDE_SUBDIRECTORIES_PREP_ID) | |
chkIgnoreOld.Caption = GetResString(RID_STR_IGNORE_OLDER_CB_ID) | |
cbIgnoreOld.Clear | |
cbIgnoreOld.AddItem (GetResString(RID_STR_IGNORE_OLDER_3_MONTHS_ID)) | |
cbIgnoreOld.AddItem (GetResString(RID_STR_IGNORE_OLDER_6_MONTHS_ID)) | |
cbIgnoreOld.AddItem (GetResString(RID_STR_IGNORE_OLDER_12_MONTHS_ID)) | |
cbIgnoreOld.ListIndex = 0 | |
' Preparation - Step 3. Results | |
lblChooseResults.Caption = GetResString(RID_STR_ENG_RESULTS_CHOOSE_OPTIONS_PREP_ID) | |
txtResultsName.Text = GetResString(RID_STR_ENG_RESULTS_ANALYSIS_XLS_PREP_ID) | |
'Show Append option | |
rdbResultsAppend.Visible = True | |
' Preparation - Step 4. Analysis | |
lblSetupDone.Caption = GetResString(RID_STR_ENG_ANALYZE_SETUP_COMPLETE_PREP_ID) | |
btnPrepare.Visible = True | |
Else | |
' The next line is a work around for a wrong translated string and should be removed | |
' when RID_STR_ENG_RESULTS_CHOOSE_OPTIONS has been corrected | |
lblChooseResults.Caption = GetResString(RID_STR_ENG_RESULTS_CHOOSE_OPTIONS_PREP_ID) | |
mDefaultPassword = IIf(GetIniSetting(CDEFAULT_PASSWORD) = "", _ | |
CSTR_TEST_PASSWORD, GetIniSetting(CDEFAULT_PASSWORD)) | |
End If | |
SetStep 0, DIR_NEXT | |
Dim tmpStr As String | |
'Setup Params | |
tmpStr = GetIniSetting(CINPUT_DIR) | |
If tmpStr <> "" Then | |
txtInputDir.Text = tmpStr | |
txtInputDir.ToolTipText = tmpStr | |
End If | |
tmpStr = GetIniSetting(COUTPUT_DIR) | |
If tmpStr <> "" Then | |
If Right(tmpStr, 1) = ":" And Len(tmpStr) = 2 Then | |
tmpStr = tmpStr & "\" | |
End If | |
txtOutputDir.Text = tmpStr | |
txtOutputDir.ToolTipText = tmpStr | |
End If | |
tmpStr = GetIniSetting(CRESULTS_FILE) | |
If tmpStr <> "" Then txtResultsName.Text = tmpStr | |
rdbResultsPrompt.value = False | |
rdbResultsOverwrite.value = False | |
rdbResultsAppend.value = False | |
Dim resultsSetting As String | |
resultsSetting = GetIniSetting(CRESULTS_EXIST) | |
If resultsSetting = CPROMPT_FILE Then | |
rdbResultsPrompt.value = True | |
ElseIf resultsSetting = CAPPEND_FILE Then | |
rdbResultsAppend.value = True | |
Else | |
rdbResultsOverwrite.value = True | |
End If | |
chkWordDoc.value = IIf(GetIniSetting(CTYPE_WORDDOC) = CStr(True), vbChecked, 0) | |
chkWordTemplate.value = IIf(GetIniSetting(CTYPE_WORDDOT) = CStr(True), vbChecked, 0) | |
chkExcelDoc.value = IIf(GetIniSetting(CTYPE_EXCELDOC) = CStr(True), vbChecked, 0) | |
chkExcelTemplate.value = IIf(GetIniSetting(CTYPE_EXCELDOT) = CStr(True), vbChecked, 0) | |
chkPPDoc.value = IIf(GetIniSetting(CTYPE_PPDOC) = CStr(True), vbChecked, 0) | |
chkPPTemplate.value = IIf(GetIniSetting(CTYPE_PPDOT) = CStr(True), vbChecked, 0) | |
chkIncludeSubdirs.value = IIf(GetIniSetting(CINCLUDE_SUBDIRS) = CStr(True), vbChecked, 0) | |
mDebugLevel = IIf(GetIniSetting(CDEBUG_LEVEL) = "", CDEBUG_LEVEL_DEFAULT, GetIniSetting(CDEBUG_LEVEL)) | |
chkIgnoreOld.value = IIf(GetIniSetting(CIGNORE_OLD_DOCS) = CStr(True), vbChecked, 0) | |
mIssueLimit = IIf(GetIniSetting(CISSUE_LIMIT) = "", CISSUE_LIMIT_DAW, GetIniSetting(CISSUE_LIMIT)) | |
If (mIssueLimit <= 3) Then | |
cbIgnoreOld.ListIndex = 0 | |
ElseIf (mIssueLimit <= 6) Then | |
cbIgnoreOld.ListIndex = 1 | |
Else | |
cbIgnoreOld.ListIndex = 2 | |
End If | |
'Always ensure at least one doc type is selected on startup | |
If (chkWordDoc.value <> vbChecked) And _ | |
(chkWordTemplate.value <> vbChecked) And _ | |
(chkExcelDoc.value <> vbChecked) And _ | |
(chkExcelTemplate.value <> vbChecked) And _ | |
(chkPPDoc.value <> vbChecked) And _ | |
(chkPPTemplate.value <> vbChecked) Then | |
chkWordDoc.value = vbChecked | |
End If | |
FinalExit: | |
Set fso = Nothing | |
Exit Sub | |
HandleErrors: | |
WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source | |
Resume FinalExit | |
End Sub | |
Private Sub SetStep(nStep As Integer, nDirection As Integer) | |
On Error GoTo HandleError | |
Const driveTypeIsCDROM = 4 | |
Dim val As String | |
Dim fso As Scripting.FileSystemObject | |
Set fso = New Scripting.FileSystemObject | |
Dim drive | |
mbDocCountCurrent = False | |
Select Case nStep | |
Case STEP_INTRO | |
'MsgBox "Enter Intro" | |
Case STEP_1 | |
'Leave Introduction | |
'Workaround - resource bug for SubDir checkbox, have to set it explicitly | |
chkIncludeSubdirs.Caption = mChbSubdirs | |
Case STEP_2 | |
'Leave Documents | |
Set drive = fso.GetDrive(fso.GetDriveName(txtInputDir.Text)) | |
If drive.DriveType = driveTypeIsCDROM Then | |
If Not drive.IsReady Then | |
MsgBox GetResString(ERR_CDROM_NOT_READY), vbCritical | |
Exit Sub | |
End If | |
End If | |
If txtInputDir.Text = "" Or Not fso.FolderExists(txtInputDir.Text) Then ' fso.FolderExists() has replaced dir() | |
MsgBox ReplaceTopicTokens(GetResString(ERR_NO_DOC_DIR), _ | |
CR_STR, Chr(13)), vbCritical | |
Exit Sub | |
End If | |
If Not CheckUserChosenDocsToAnalyze Then | |
MsgBox GetResString(ERR_NO_DOC_TYPES), vbCritical | |
Exit Sub | |
End If | |
'Expand directory name only without path to full path | |
txtInputDir.Text = fso.GetAbsolutePathName(txtInputDir.Text) | |
If txtOutputDir.Text = "" Then | |
txtOutputDir.Text = txtInputDir.Text | |
End If | |
mbFinishOK = False | |
'Workaround - label resource bug for Steps, have to set it explicitly | |
Label12(0).Caption = mLblSteps | |
Label12(5).Caption = mLblSteps | |
Case STEP_FINISH | |
'Leave Results | |
If Not CheckResultsDir(getOutputDir) Then | |
Exit Sub | |
End If | |
'Expand directory name only without path to full path | |
txtOutputDir.Text = fso.GetAbsolutePathName(txtOutputDir) | |
'Check Results file is there and has a valid extension | |
If fso.GetBaseName(txtResultsName.Text) = "" Then | |
txtResultsName.Text = GetResString(SETUP_ANALYSIS_XLS_ID) | |
End If | |
txtResultsName.Text = fso.GetBaseName(txtResultsName.Text) & CRESULTS_FILE_EXTENSION | |
Screen.MousePointer = vbHourglass | |
DeleteFile mLogFilePath | |
Set mDocFiles = Nothing | |
If Not CheckNumberDocsToAnalyze Then | |
Screen.MousePointer = vbDefault | |
Exit Sub | |
End If | |
Screen.MousePointer = vbDefault | |
btnRunAnalysis.Enabled = True | |
If GetNumberOfDocsToAnalyze = 0 Then | |
btnRunAnalysis.Enabled = False | |
End If | |
'Backup configuration | |
If Not AttemptToCopyFile(mIniFilePath, mIniFilePath & CCONFIG_BACKUP_EXT) Then | |
Exit Sub | |
End If | |
'Save current Wizard Settings | |
WriteWizardSettingsToLog mIniFilePath | |
'If results file already exists, enable View and Prepare | |
If fso.FileExists(getOutputDir & "\" & txtResultsName.Text) Then | |
btnViewResults.Enabled = True | |
btnPrepare.Enabled = True | |
End If | |
mbFinishOK = True | |
End Select | |
'move to new step | |
fraStep(mnCurStep).Enabled = False | |
fraStep(nStep).Left = 0 | |
If nStep <> mnCurStep Then | |
fraStep(mnCurStep).Left = -10000 | |
fraStep(mnCurStep).Enabled = False | |
End If | |
fraStep(nStep).Enabled = True | |
SetNavBtns nStep | |
Exit Sub | |
FinalExit: | |
Set fso = Nothing | |
Set drive = Nothing | |
Exit Sub | |
HandleError: | |
Screen.MousePointer = vbDefault | |
WriteDebug "Document Analysis: SetStep() " & Err.Number & " " & Err.Description & " " & Err.Source | |
Resume FinalExit | |
End Sub | |
Function CheckResultsDir(resultsDir As String) As Boolean | |
On Error GoTo HandleError | |
Dim fso As Scripting.FileSystemObject | |
Set fso = New Scripting.FileSystemObject | |
Const driveTypeIsCDROM = 4 | |
Const readOnlyFolderRemainder = 1 | |
Dim drive | |
CheckResultsDir = False | |
If resultsDir = "" Then | |
MsgBox ReplaceTopicTokens(GetResString(ERR_NO_RESULTS_DIRECTORY), _ | |
CR_STR, Chr(13)), vbCritical | |
CheckResultsDir = False | |
Exit Function | |
End If | |
Set drive = fso.GetDrive(fso.GetDriveName(resultsDir)) | |
If drive.DriveType = driveTypeIsCDROM Then 'If CD-ROM Drive Then | |
Dim Msg1 As String | |
Msg1 = ReplaceTopic2Tokens(GetResString(ERR_CREATE_FILE), _ | |
TOPIC_STR, txtResultsName.Text, CR_STR, Chr(13)) | |
MsgBox Msg1, vbCritical | |
CheckResultsDir = False | |
Exit Function | |
End If | |
If Not fso.FolderExists(resultsDir) Then | |
Dim Msg, Style, response | |
Msg = ReplaceTopicTokens(GetResString(ERR_NO_RES_DIR), CR_STR, Chr(13)) | |
Style = vbYesNo + vbQuestion + vbDefaultButton1 ' Define buttons. | |
response = MsgBox(Msg, Style) | |
If response = vbYes Then ' User chose Yes. | |
If Not CreateDir(getOutputDir) Then | |
CheckResultsDir = False | |
Exit Function | |
End If | |
Else ' User chose No. | |
CheckResultsDir = False | |
Exit Function | |
End If | |
End If | |
Dim testFile As String | |
testFile = resultsDir & "\" & fso.GetTempName | |
Do While fso.FileExists(testFile) | |
testFile = resultsDir & "\" & fso.GetTempName | |
Loop | |
On Error GoTo HandleReadOnly | |
Dim aText As TextStream | |
Set aText = fso.CreateTextFile(testFile, False, False) | |
aText.WriteLine ("Dies ist ein Test.") | |
aText.Close | |
fso.DeleteFile (testFile) | |
' GetAttr doesn't work reliable ( returns read only for 'my Documents' and rw for read only network folder | |
' If ((GetAttr(resultsDir) Mod 2) = readOnlyFolderRemainder) Then 'If the attribute is odd then the folder is read-only | |
' MsgBox GetResString(ERR_NO_WRITE_TO_READ_ONLY_FOLDER), vbCritical | |
' CheckResultsDir = False | |
' Exit Function | |
' End If | |
CheckResultsDir = True | |
Exit Function | |
HandleError: | |
WriteDebug "Document Analysis: CheckResultsDir() " & Err.Number & " " & Err.Description & " " & Err.Source | |
CheckResultsDir = False | |
Exit Function | |
HandleReadOnly: | |
Dim str As String | |
str = ReplaceTopic2Tokens(GetResString(ERR_CREATE_FILE), _ | |
TOPIC_STR, txtResultsName.Text, CR_STR, Chr(13)) | |
MsgBox str, vbCritical | |
CheckResultsDir = False | |
Exit Function | |
End Function | |
Function CheckUserChosenDocsToAnalyze() As Boolean | |
CheckUserChosenDocsToAnalyze = Not ((chkWordDoc.value <> vbChecked) And (chkWordTemplate.value <> vbChecked) And _ | |
(chkExcelDoc.value <> vbChecked) And (chkExcelTemplate.value <> vbChecked) And _ | |
(chkPPDoc.value <> vbChecked) And (chkPPTemplate.value <> vbChecked)) | |
End Function | |
Function AttemptToCopyFile(Source As String, dest As String) As Boolean | |
On Error GoTo HandleErrors | |
Dim fso As Scripting.FileSystemObject | |
Set fso = New Scripting.FileSystemObject | |
If fso.FileExists(Source) Then | |
fso.CopyFile Source, dest | |
End If | |
'True if no source or copy succeded | |
AttemptToCopyFile = True | |
FinalExit: | |
Set fso = Nothing | |
Exit Function | |
HandleErrors: | |
AttemptToCopyFile = False | |
Dim str As String | |
str = ReplaceTopic2Tokens(GetResString(ERR_CREATE_FILE), _ | |
TOPIC_STR, mIniFilePath & CCONFIG_BACKUP_EXT, CR_STR, Chr(13)) | |
Resume FinalExit | |
End Function | |
Function CreateDir(dir As String) As Boolean | |
On Error GoTo HandleErrors | |
Dim fso As Scripting.FileSystemObject | |
Set fso = New Scripting.FileSystemObject | |
fso.CreateFolder (dir) | |
CreateDir = True | |
FinalExit: | |
Set fso = Nothing | |
Exit Function | |
HandleErrors: | |
Dim str As String | |
str = ReplaceTopic2Tokens(GetResString(ERR_CREATE_DIR), _ | |
TOPIC_STR, dir, CR_STR, Chr(13)) | |
Select Case Err.Number | |
Case 76 | |
WriteDebug str | |
MsgBox str, vbCritical | |
CreateDir = False | |
Case 58 | |
'Don't care if it exists already | |
CreateDir = True | |
Case Else | |
WriteDebug str | |
MsgBox str, vbCritical | |
CreateDir = False | |
End Select | |
Resume FinalExit | |
End Function | |
Private Sub SetNavBtns(nStep As Integer) | |
mnCurStep = nStep | |
If mnCurStep = 0 Then | |
cmdNav(BTN_BACK).Enabled = False | |
cmdNav(BTN_NEXT).Enabled = True | |
ElseIf mnCurStep = NUM_STEPS - 1 Then | |
cmdNav(BTN_NEXT).Enabled = False | |
cmdNav(BTN_BACK).Enabled = True | |
Else | |
cmdNav(BTN_BACK).Enabled = True | |
cmdNav(BTN_NEXT).Enabled = True | |
End If | |
If mbFinishOK Then | |
cmdNav(BTN_FINISH).Enabled = True | |
Else | |
cmdNav(BTN_FINISH).Enabled = False | |
End If | |
End Sub | |
Function CheckForSupportedApp(app As String, lowerVerLimit As Long) As Boolean | |
Dim appRegStr As String | |
Dim appVer As Long | |
appRegStr = GetRegistryInfo(HKEY_CLASSES_ROOT, app & ".Application\CurVer", "") | |
appVer = val(Right(appRegStr, Len(appRegStr) - Len(app & ".Application."))) | |
If appVer >= lowerVerLimit Then | |
CheckForSupportedApp = True | |
Else | |
CheckForSupportedApp = False | |
End If | |
End Function | |
Function GetAppVersion(app As String) As Long | |
Dim appRegStr As String | |
Dim appVer As Long | |
appRegStr = GetRegistryInfo(HKEY_CLASSES_ROOT, app & ".Application\CurVer", "") | |
GetAppVersion = val(Right(appRegStr, Len(appRegStr) - Len(app & ".Application."))) | |
End Function | |
Function GetInstalledApp(app As String) As String | |
GetInstalledApp = GetRegistryInfo(HKEY_CLASSES_ROOT, app & ".Application\CurVer", "") | |
End Function | |
Sub WriteInfoToApplicationLog(wordAppStr As String, excelAppStr As String, ppAppStr As String) | |
On Error GoTo HandleErrors | |
Dim currentFunctionName As String | |
currentFunctionName = "WriteInfoToApplicationLog" | |
Dim userLCID As Long | |
userLCID = GetUserDefaultLCID() | |
Dim sysLCID As Long | |
sysLCID = GetSystemDefaultLCID() | |
WriteToLog CWORD_VERSION, IIf(wordAppStr <> "", wordAppStr, CNOT_INSTALLED) | |
WriteToLog CEXCEL_VERSION, IIf(excelAppStr <> "", excelAppStr, CNOT_INSTALLED) | |
WriteToLog CPOWERPOINT_VERSION, IIf(ppAppStr <> "", ppAppStr, CNOT_INSTALLED) | |
WriteToLog CUSER_LOCALE_INFO, _ | |
"langid: " & GetUserLocaleInfo(userLCID, LOCALE_ILANGUAGE) & ": " & _ | |
GetUserLocaleInfo(userLCID, LOCALE_SENGLANGUAGE) & _ | |
"-" & GetUserLocaleInfo(userLCID, LOCALE_SENGCOUNTRY) & _ | |
" abrv: " & GetUserLocaleInfo(userLCID, LOCALE_SISO639LANGNAME) & _ | |
"-" & GetUserLocaleInfo(userLCID, LOCALE_SISO3166CTRYNAME) & _ | |
" sdate: " & GetUserLocaleInfo(userLCID, LOCALE_SSHORTDATE) | |
WriteToLog CSYS_LOCALE_INFO, _ | |
"langid: " & GetUserLocaleInfo(sysLCID, LOCALE_ILANGUAGE) & ": " & _ | |
GetUserLocaleInfo(sysLCID, LOCALE_SENGLANGUAGE) & _ | |
"-" & GetUserLocaleInfo(sysLCID, LOCALE_SENGCOUNTRY) & _ | |
" abrv: " & GetUserLocaleInfo(sysLCID, LOCALE_SISO639LANGNAME) & _ | |
"-" & GetUserLocaleInfo(sysLCID, LOCALE_SISO3166CTRYNAME) & _ | |
" sdate: " & GetUserLocaleInfo(userLCID, LOCALE_SSHORTDATE) | |
Dim myWinVer As RGB_WINVER | |
GetWinVersion myWinVer | |
WriteToLog CWINVERSION, myWinVer.VersionName & " " & myWinVer.VersionNo & _ | |
" " & myWinVer.ServicePack & _ | |
" build " & myWinVer.BuildNo | |
WriteToLog CNUMBER_TOTAL_DOCS, CStr(mTotalDocCount) | |
WriteToLog CNUMBER_DOCS_DOC, CStr(mWordDocCount) | |
WriteToLog CNUMBER_TEMPLATES_DOT, CStr(mWordTemplateCount) | |
WriteToLog CNUMBER_DOCS_XLS, CStr(mExcelDocCount) | |
WriteToLog CNUMBER_TEMPLATES_XLT, CStr(mExcelTemplateCount) | |
WriteToLog CNUMBER_DOCS_PPT, CStr(mPPDocCount) | |
WriteToLog CNUMBER_TEMPLATES_POT, CStr(mPPTemplateCount) | |
FinalExit: | |
Exit Sub | |
HandleErrors: | |
WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source | |
Resume FinalExit | |
End Sub | |
Function CheckTemplatePath(sMigrationResultsTemplatePath As String, fso As FileSystemObject) As Boolean | |
If Not fso.FileExists(sMigrationResultsTemplatePath) Then | |
Dim str As String | |
str = ReplaceTopic2Tokens(GetResString(ERR_MISSING_RESULTS_TEMPLATE), _ | |
TOPIC_STR, sMigrationResultsTemplatePath, CR_STR, Chr(13)) | |
WriteDebug str | |
MsgBox str, vbCritical | |
CheckTemplatePath = False | |
Else | |
CheckTemplatePath = True | |
End If | |
End Function | |
Function RunAnalysis(bDoPrepare) As Boolean | |
On Error GoTo HandleErrors | |
Dim currentFunctionName As String | |
currentFunctionName = "RunAnalysis" | |
Dim tstart As Single 'timer var for this routine only | |
Dim tend As Single 'timer var for this routine only | |
Dim fso As New FileSystemObject | |
Dim wordAppStr As String | |
Dim excelAppStr As String | |
Dim ppAppStr As String | |
Dim sMigrationResultsTemplatePath As String | |
Dim startDate As Variant | |
Dim bSuccess | |
bSuccess = True | |
startDate = Now | |
tstart = GetTickCount() | |
app.OleRequestPendingMsgText = GetResString(RUNBTN_RUNNING_ID) | |
app.OleRequestPendingMsgTitle = frmWizard.Caption | |
wordAppStr = GetInstalledApp(CAPPNAME_WORD) | |
excelAppStr = GetInstalledApp(CAPPNAME_EXCEL) | |
ppAppStr = GetInstalledApp(CAPPNAME_POWERPOINT) | |
'Write locale, version info and settings to the Application log | |
WriteInfoToApplicationLog wordAppStr, excelAppStr, ppAppStr | |
'Check for template | |
sMigrationResultsTemplatePath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CRESULTS_TEMPLATE_FILE) | |
If Not CheckTemplatePath(sMigrationResultsTemplatePath, fso) Then | |
bSuccess = False | |
GoTo FinalExit | |
End If | |
'Check for installed Apps | |
If Not CheckInstalledApps(wordAppStr, excelAppStr, ppAppStr) Then | |
bSuccess = False | |
GoTo FinalExit | |
End If | |
If bDoPrepare Then | |
'Show MsgBox ( to give apps some time to quit ) | |
Dim strMsgBox As String | |
Dim response As Integer | |
strMsgBox = ReplaceTopic2Tokens(GetResString(RID_STR_ENG_OTHER_PREPARE_PROMPT_PREP_ID), _ | |
TOPIC_STR, getOutputDir & "\" & txtResultsName.Text, TOPIC2_STR, getOutputDir) | |
strMsgBox = ReplaceTopicTokens(strMsgBox, CR_STR, Chr(13)) | |
response = MsgBox(strMsgBox, Buttons:=vbOKCancel + vbInformation) | |
If response <> vbOK Then | |
bSuccess = False | |
GoTo FinalExit | |
End If | |
End If | |
'Write Wizard Setting to Application log | |
WriteWizardSettingsToLog mLogFilePath | |
'Write to Analysis ini file - used by driver docs | |
WriteCommonParamsToLog sMigrationResultsTemplatePath, mLogFilePath, mIniFilePath, fso | |
Screen.MousePointer = vbHourglass | |
' Doc Counts are setup by CheckNumberDocsToAnalyze() when user moves to Analysis Panel | |
' Takes account of user Options selected and inspects source directory | |
Dim analysisAborted As Boolean | |
analysisAborted = False | |
SetupInputVariables mLogFilePath, fso | |
Load ShowProgress | |
Call ShowProgress.SP_Init(mDocFiles.WordFiles.count + _ | |
mDocFiles.ExcelFiles.count + _ | |
mDocFiles.PowerPointFiles.count) | |
Dim myOffset As Long | |
myOffset = 0 | |
If (mDocFiles.WordFiles.count > 0) Then | |
bSuccess = AnalyseList(mDocFiles.WordFiles, "word", mIniFilePath, myOffset, analysisAborted) | |
'bSuccess = RunWordAnalysis(sMigrationResultsTemplatePath, mLogFilePath, fso) | |
End If | |
myOffset = mDocFiles.WordFiles.count | |
If ((mDocFiles.ExcelFiles.count > 0) And (Not analysisAborted)) Then | |
bSuccess = bSuccess And _ | |
AnalyseList(mDocFiles.ExcelFiles, "excel", mIniFilePath, myOffset, analysisAborted) | |
'bSuccess = RunExcelAnalysis(sMigrationResultsTemplatePath, mLogFilePath, fso) | |
End If | |
myOffset = myOffset + mDocFiles.ExcelFiles.count | |
If ((mDocFiles.PowerPointFiles.count > 0) And (Not analysisAborted)) Then | |
bSuccess = bSuccess And _ | |
AnalyseList(mDocFiles.PowerPointFiles, "pp", mIniFilePath, myOffset, analysisAborted) | |
'bSuccess = RunPPAnalysis(sMigrationResultsTemplatePath, mLogFilePath, fso) | |
End If | |
SetupInputVariables mLogFilePath, fso | |
tend = GetTickCount() | |
WriteToLog CELAPSED_TIME, (FormatNumber((tend - tstart) / 1000, 0) & " seconds: ") & _ | |
(FormatNumber((tend - tstart), 0) & " miliseconds") | |
FinalExit: | |
Unload ShowProgress | |
Screen.MousePointer = vbDefault | |
WriteToLog CSTART_TIME, CDate(startDate) | |
WriteToLog CEND_TIME, Now | |
Set fso = Nothing | |
RunAnalysis = bSuccess | |
Exit Function | |
HandleErrors: | |
bSuccess = False | |
WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source | |
Resume FinalExit | |
End Function | |
Function CheckInstalledApps(wordAppStr As String, excelAppStr As String, ppAppStr As String) As Boolean | |
On Error GoTo HandleErrors | |
Dim currentFunctionName As String | |
Dim str As String | |
currentFunctionName = "CheckInstalledApps" | |
Dim missingInstalledApps As String | |
Dim unsupportedApps As String | |
Dim runningApps As String | |
Dim bSuccess As Boolean | |
bSuccess = False | |
If mWordDocCount > 0 Or mWordTemplateCount > 0 Then | |
If wordAppStr = "" Then 'Word not installed | |
missingInstalledApps = CAPPNAME_WORD | |
ElseIf Not CheckForSupportedApp(CAPPNAME_WORD, CSUPPORTED_VERSION) Then | |
unsupportedApps = CAPPNAME_WORD | |
ElseIf IsOfficeAppRunning(CAPPNAME_WORD) Then | |
runningApps = CAPPNAME_WORD | |
End If | |
End If | |
If excelAppStr = "" Then | |
If missingInstalledApps <> "" Then missingInstalledApps = missingInstalledApps & ", " | |
missingInstalledApps = missingInstalledApps & CAPPNAME_EXCEL | |
ElseIf Not CheckForSupportedApp(CAPPNAME_EXCEL, CSUPPORTED_VERSION) Then | |
If unsupportedApps <> "" Then unsupportedApps = unsupportedApps & ", " | |
unsupportedApps = unsupportedApps & CAPPNAME_EXCEL | |
ElseIf IsOfficeAppRunning(CAPPNAME_EXCEL) Then | |
If runningApps <> "" Then runningApps = runningApps & ", " | |
runningApps = runningApps & CAPPNAME_EXCEL | |
End If | |
If mPPDocCount > 0 Or mPPTemplateCount > 0 Then | |
If ppAppStr = "" Then 'PP not installed | |
If missingInstalledApps <> "" Then missingInstalledApps = missingInstalledApps & ", " | |
missingInstalledApps = missingInstalledApps & CAPPNAME_POWERPOINT | |
ElseIf Not CheckForSupportedApp(CAPPNAME_POWERPOINT, CSUPPORTED_VERSION) Then | |
If unsupportedApps <> "" Then unsupportedApps = unsupportedApps & ", " | |
unsupportedApps = unsupportedApps & CAPPNAME_POWERPOINT | |
ElseIf IsOfficeAppRunning(CAPPNAME_POWERPOINT) Then | |
If runningApps <> "" Then runningApps = runningApps & ", " | |
runningApps = runningApps & CAPPNAME_POWERPOINT | |
End If | |
End If | |
If missingInstalledApps <> "" Then | |
str = ReplaceTopic2Tokens(GetResString(ERR_NOT_INSTALLED), _ | |
TOPIC_STR, missingInstalledApps, CR_STR, Chr(13)) | |
WriteDebug str | |
MsgBox str, vbCritical | |
GoTo FinalExit | |
End If | |
If unsupportedApps <> "" Then | |
str = ReplaceTopic2Tokens(GetResString(ERR_SUPPORTED_VERSION), _ | |
TOPIC_STR, unsupportedApps, CR_STR, Chr(13)) | |
WriteDebug str | |
MsgBox str, vbCritical | |
GoTo FinalExit | |
End If | |
If runningApps <> "" Then | |
str = ReplaceTopic2Tokens(GetResString(ERR_APPLICATION_IN_USE), _ | |
TOPIC_STR, runningApps, CR_STR, Chr(13)) | |
WriteDebug str | |
MsgBox str, vbCritical | |
GoTo FinalExit | |
End If | |
'Check for Excel automation server | |
If CheckForExcel Then | |
str = ReplaceTopicTokens(GetResString(ERR_EXCEL_OPEN), _ | |
CR_STR, Chr(13)) | |
WriteDebug str | |
MsgBox str, vbCritical | |
bSuccess = False | |
GoTo FinalExit | |
End If | |
bSuccess = True | |
FinalExit: | |
CheckInstalledApps = bSuccess | |
Exit Function | |
HandleErrors: | |
bSuccess = False | |
WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source | |
Resume FinalExit | |
End Function | |
Function RunPPAnalysis(resultsTemplate As String, logFile As String, fsObject As FileSystemObject) As Boolean | |
'DV: do we need this? get some error handling ideas here | |
On Error GoTo HandleErrors | |
Dim currentFunctionName As String | |
currentFunctionName = "RunPPAnalysis" | |
Const APP_PP = "PowerPoint" | |
Dim str As String | |
Dim bSuccess | |
bSuccess = False | |
If (chkPPDoc.value <> vbChecked) And (chkPPTemplate.value <> vbChecked) Then | |
RunPPAnalysis = True | |
Exit Function | |
End If | |
Dim sPPDriverDocPath As String | |
sPPDriverDocPath = fsObject.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CPP_DRIVER_FILE) | |
If Not fsObject.FileExists(sPPDriverDocPath) Then | |
str = ReplaceTopic2Tokens(GetResString(ERR_MISSING_PP_DRIVER), _ | |
TOPIC_STR, sPPDriverDocPath, CR_STR, Chr(13)) | |
WriteDebug str | |
MsgBox str, vbCritical | |
bSuccess = False | |
GoTo FinalExit | |
End If | |
Dim pp As PowerPoint.application | |
Dim po As Object | |
Dim aPres As PowerPoint.Presentation | |
Dim RegValue As Long | |
Set po = GetObject(sPPDriverDocPath) | |
Set pp = po.application | |
If val(pp.Version) < CSUPPORTED_VERSION Then | |
str = ReplaceTopic2Tokens(GetResString(ERR_SUPPORTED_VERSION), _ | |
TOPIC_STR, pp.Version, CR_STR, Chr(13)) | |
WriteDebug str | |
MsgBox str, vbCritical | |
bSuccess = False | |
GoTo FinalExit | |
End If | |
If Not CheckForAccesToPPVBProject(pp, aPres) Then | |
RegValue = -1 | |
If Not GiveAccessToMacroProject(APP_PP, pp.Version, RegValue) Then | |
Dim Style, response | |
str = ReplaceTopic2Tokens(GetResString(ERR_NO_ACCESS_TO_VBPROJECT), _ | |
TOPIC_STR, CAPPNAME_POWERPOINT, CR_STR, Chr(13)) | |
WriteDebug str | |
Style = vbYesNo + vbQuestion + vbDefaultButton1 | |
response = MsgBox(str, Style) | |
If response <> vbYes Then | |
bSuccess = False | |
GoTo FinalExit | |
End If | |
End If | |
End If | |
Set aPres = pp.Presentations(1) | |
Dim ppSlideHidden As PowerPoint.Slide | |
Set ppSlideHidden = aPres.Slides(2) | |
'Setup Input Variables | |
'SetupInputVariables resultsTemplate, logFile, fsObject, CAPPNAME_POWERPOINT | |
'Run PowerPoint Analysis | |
pp.Run (fsObject.GetFileName(CBASE_RESOURCE_DIR & "\" & CPP_DRIVER_FILE) & "!AnalysisDriver.AnalyseDirectory") | |
bSuccess = True | |
FinalExit: | |
'Cannot seem to close it down from VB | |
'Workaround is to close it in macro | |
' | |
'If Not aPres Is Nothing Then | |
' aPres.Saved = msoTrue | |
'End If | |
'If Not pp Is Nothing Then pp.Quit | |
'Swallow error as we are closing down PP from macro | |
'Does not seem to be possible to close it down from VB | |
On Error Resume Next | |
If RegValue <> -1 Then | |
SetDefaultRegValue APP_PP, pp.Version, RegValue | |
End If | |
If RegValue = 0 Then | |
DeleteRegValue APP_PP, pp.Version | |
End If | |
If Not pp Is Nothing Then | |
pp.Run (fsObject.GetFileName(CBASE_RESOURCE_DIR & "\" & CPP_DRIVER_FILE) & "!ApplicationSpecific.QuitPowerPoint") | |
End If | |
Set aPres = Nothing | |
Set pp = Nothing | |
Set po = Nothing | |
RunPPAnalysis = bSuccess | |
Exit Function | |
HandleErrors: | |
bSuccess = False | |
Set pp = Nothing | |
Dim failedDoc As String | |
WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source | |
failedDoc = GetDebug(CAPPNAME_POWERPOINT, CANALYZING) | |
If failedDoc = "" Or failedDoc = CSTR_ANALYSIS_LOG_DONE Then | |
str = ReplaceTopic2Tokens(GetResString(ERR_AUTOMATION_FAILURE), _ | |
TOPIC_STR, CAPPNAME_POWERPOINT, CR_STR, Chr(13)) | |
Else | |
str = ReplaceTopic2Tokens(GetResString(ERR_PP_DRIVER_CRASH), _ | |
TOPIC_STR, failedDoc, CR_STR, Chr(13)) | |
End If | |
WriteDebug str | |
MsgBox str, vbCritical | |
Resume FinalExit | |
End Function | |
Sub SetupInputVariables(logFile As String, fso As FileSystemObject) | |
Dim bNewResultsFile As Boolean | |
bNewResultsFile = CheckCreateNewResultsFile(fso) | |
WriteToLog CNEW_RESULTS_FILE, IIf(bNewResultsFile, "True", "False"), mIniFilePath | |
WriteToLog CNEW_RESULTS_FILE, IIf(bNewResultsFile, "True", "False"), logFile | |
End Sub | |
Function RunExcelAnalysis(resultsTemplate As String, logFile As String, fsObject As FileSystemObject) As Boolean | |
On Error GoTo HandleErrors | |
Dim currentFunctionName As String | |
currentFunctionName = "RunExcelAnalysis" | |
Const APP_EXCEL = "Excel" | |
Dim str As String | |
Dim bSuccess | |
bSuccess = False | |
If (chkExcelDoc.value <> vbChecked) And (chkExcelTemplate.value <> vbChecked) Then | |
RunExcelAnalysis = True | |
Exit Function | |
End If | |
Dim xl As Excel.application | |
Dim aWb As Excel.Workbook | |
Dim sExcelDriverDocPath As String | |
Dim RegValue As Long | |
sExcelDriverDocPath = fsObject.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CEXCEL_DRIVER_FILE) | |
If Not fsObject.FileExists(sExcelDriverDocPath) Then | |
str = ReplaceTopic2Tokens(GetResString(ERR_MISSING_EXCEL_DRIVER), _ | |
TOPIC_STR, sExcelDriverDocPath, CR_STR, Chr(13)) | |
WriteDebug str | |
MsgBox str, vbCritical | |
bSuccess = False | |
GoTo FinalExit | |
End If | |
Set xl = GetExcelInstance | |
If val(xl.Version) < CSUPPORTED_VERSION Then | |
str = ReplaceTopic2Tokens(GetResString(ERR_SUPPORTED_VERSION), _ | |
TOPIC_STR, xl.Version, CR_STR, Chr(13)) | |
WriteDebug str | |
MsgBox str, vbCritical | |
bSuccess = False | |
GoTo FinalExit | |
End If | |
If Not CheckForAccesToExcelVBProject(xl) Then | |
RegValue = -1 | |
If Not GiveAccessToMacroProject(APP_EXCEL, xl.Version, RegValue) Then | |
Dim Style, response | |
str = ReplaceTopic2Tokens(GetResString(ERR_NO_ACCESS_TO_VBPROJECT), _ | |
TOPIC_STR, CAPPNAME_EXCEL, CR_STR, Chr(13)) | |
WriteDebug str | |
Style = vbYesNo + vbQuestion + vbDefaultButton1 | |
response = MsgBox(str, Style) | |
If response <> vbYes Then | |
bSuccess = False | |
GoTo FinalExit | |
End If | |
End If | |
End If | |
Set aWb = xl.Workbooks.Open(fileName:=sExcelDriverDocPath) | |
'Setup Input Variables | |
'SetupInputVariables resultsTemplate, logFile, fsObject, CAPPNAME_EXCEL | |
'Run Excel Analysis | |
xl.Run ("AnalysisTool.AnalysisDriver.AnalyseDirectory") | |
bSuccess = True | |
FinalExit: | |
If RegValue <> -1 Then | |
SetDefaultRegValue APP_EXCEL, xl.Version, RegValue | |
End If | |
If RegValue = 0 Then | |
DeleteRegValue APP_EXCEL, xl.Version | |
End If | |
If Not aWb Is Nothing Then | |
If xl.Workbooks.count = 1 Then | |
xl.Visible = False | |
End If | |
aWb.Close (False) | |
End If | |
Set aWb = Nothing | |
If Not xl Is Nothing Then | |
If xl.Workbooks.count = 0 Then | |
xl.Quit | |
End If | |
End If | |
Set xl = Nothing | |
RunExcelAnalysis = bSuccess | |
Exit Function | |
HandleErrors: | |
bSuccess = False | |
Set aWb = Nothing | |
Set xl = Nothing | |
Dim failedDoc As String | |
WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source | |
failedDoc = GetDebug(CAPPNAME_EXCEL, CANALYZING) | |
If failedDoc = "" Or failedDoc = CSTR_ANALYSIS_LOG_DONE Then | |
str = ReplaceTopic2Tokens(GetResString(ERR_AUTOMATION_FAILURE), _ | |
TOPIC_STR, CAPPNAME_EXCEL, CR_STR, Chr(13)) | |
Else | |
str = ReplaceTopic2Tokens(GetResString(ERR_EXCEL_DRIVER_CRASH), _ | |
TOPIC_STR, failedDoc, CR_STR, Chr(13)) | |
End If | |
WriteDebug str | |
MsgBox str, vbCritical | |
On Error Resume Next | |
Resume FinalExit | |
End Function | |
Sub WriteWizardSettingsToLog(path As String) | |
'### DO NOT USE Boolean True/ False it is loaclised by the OS - use "True"/ "False" | |
WriteToLog CINPUT_DIR, getInputDir, path | |
WriteToLog CINCLUDE_SUBDIRS, IIf(chkIncludeSubdirs.value, "True", "False"), path | |
WriteToLog COUTPUT_DIR, getOutputDir, path | |
WriteToLog CRESULTS_FILE, txtResultsName.Text, path | |
WriteToLog CTYPE_WORDDOC, IIf(chkWordDoc.value, "True", "False"), path | |
WriteToLog CTYPE_WORDDOT, IIf(chkWordTemplate.value, "True", "False"), path | |
WriteToLog CTYPE_EXCELDOC, IIf(chkExcelDoc.value, "True", "False"), path | |
WriteToLog CTYPE_EXCELDOT, IIf(chkExcelTemplate.value, "True", "False"), path | |
WriteToLog CTYPE_PPDOC, IIf(chkPPDoc.value, "True", "False"), path | |
WriteToLog CTYPE_PPDOT, IIf(chkPPTemplate.value, "True", "False"), path | |
Dim resultsSetting As String | |
If rdbResultsPrompt.value Then | |
resultsSetting = CPROMPT_FILE | |
ElseIf rdbResultsAppend.value Then | |
resultsSetting = CAPPEND_FILE | |
Else | |
resultsSetting = COVERWRITE_FILE | |
End If | |
WriteToLog CRESULTS_EXIST, resultsSetting, path | |
WriteToLog CIGNORE_OLD_DOCS, IIf(chkIgnoreOld.value, "True", "False"), path | |
WriteToLog CISSUE_LIMIT, CStr(mIssueLimit), path | |
'WriteToLog CVERSION, Version, path | |
End Sub | |
Sub WriteCommonParamsToLog(resultsTemplate As String, logFile As String, path As String, fso As Scripting.FileSystemObject) | |
WriteToLog CLOG_FILE, logFile, path | |
WriteToLog CRESULTS_TEMPLATE, resultsTemplate, path | |
WriteToLog CDEBUG_LEVEL, CLng(mDebugLevel), path | |
WriteToLog CDOPREPARE, IIf(mbDoPrepare, "True", "False"), path | |
WriteToLog CTITLE, frmWizard.Caption, path | |
WriteToLog CLAST_CHECKPOINT, "" | |
WriteToLog CNEXT_FILE, "" | |
WriteToLog C_ABORT_ANALYSIS, "" | |
End Sub | |
Function GetNumberOfDocsToAnalyze() As Long | |
Dim count As Long | |
count = 0 | |
If CheckWordDocsToAnalyze Then | |
count = mWordDocCount + mWordTemplateCount | |
End If | |
If CheckExcelDocsToAnalyze Then | |
count = count + mExcelDocCount + mExcelTemplateCount | |
End If | |
If CheckPPDocsToAnalyze Then | |
count = count + mPPDocCount + mPPTemplateCount | |
End If | |
GetNumberOfDocsToAnalyze = count | |
End Function | |
Function CheckWordDocsToAnalyze() As Boolean | |
CheckWordDocsToAnalyze = mbDocCountCurrent And (chkWordDoc.value = vbChecked And mWordDocCount > 0) Or _ | |
(chkWordTemplate.value = vbChecked And mWordTemplateCount > 0) | |
End Function | |
Function CheckExcelDocsToAnalyze() As Boolean | |
CheckExcelDocsToAnalyze = mbDocCountCurrent And (chkExcelDoc.value = vbChecked And mExcelDocCount > 0) Or _ | |
(chkExcelTemplate.value = vbChecked And mExcelTemplateCount > 0) | |
End Function | |
Function CheckPPDocsToAnalyze() As Boolean | |
CheckPPDocsToAnalyze = mbDocCountCurrent And (chkPPDoc.value = vbChecked And mPPDocCount > 0) Or _ | |
(chkPPTemplate.value = vbChecked And mPPTemplateCount > 0) | |
End Function | |
Function CheckNumberDocsToAnalyze() As Boolean | |
On Error GoTo HandleErrors | |
Dim currentFunctionName As String | |
currentFunctionName = "CheckNumberDocsToAnalyze" | |
Set mDocFiles = New CollectedFiles | |
Dim docSearchTypes As Collection | |
Set docSearchTypes = New Collection | |
mbDocCountCurrent = False | |
SetupDocSearchTypes docSearchTypes | |
If (cbIgnoreOld.ListIndex = 0) Then | |
mIssueLimit = 3 | |
ElseIf (cbIgnoreOld.ListIndex = 1) Then | |
mIssueLimit = 6 | |
Else | |
mIssueLimit = 12 | |
End If | |
If Not mDocFiles.Search(rootDir:=getInputDir, FileSpecs:=docSearchTypes, _ | |
IncludeSubdirs:=IIf(chkIncludeSubdirs.value, mbTrue, mbFalse), _ | |
ignoreOld:=IIf(chkIgnoreOld.value, mbTrue, mbFalse), Months:=mIssueLimit) Then | |
CheckNumberDocsToAnalyze = False | |
GoTo FinalExit | |
End If | |
SetDocCountsFromFileSearch mDocFiles | |
WriteFileDateCountsToLog mDocFiles | |
'WriteDocsToAnalyzeToLog mDocFiles 'UNCOMMENT Recovery - want to list out files to analyze | |
mbDocCountCurrent = True | |
lblNumDocs.Caption = ReplaceTopicTokens(GetResString(ANALYZE_DOCUMENTS_ID), TOPIC_STR, _ | |
CStr(mWordDocCount)) | |
lblNumTemplates.Caption = ReplaceTopicTokens(GetResString(ANALYZE_TEMPLATES_ID), TOPIC_STR, _ | |
CStr(mWordTemplateCount)) | |
lblNumXLS.Caption = ReplaceTopicTokens(GetResString(ANALYZE_DOCUMENTS_XLS_ID), TOPIC_STR, _ | |
CStr(mExcelDocCount)) | |
lblNumXLT.Caption = ReplaceTopicTokens(GetResString(ANALYZE_TEMPLATES_ID), TOPIC_STR, _ | |
CStr(mExcelTemplateCount)) | |
lblNumPPT.Caption = ReplaceTopicTokens(GetResString(ANALYZE_DOCUMENTS_PPT_ID), TOPIC_STR, _ | |
CStr(mPPDocCount)) | |
lblNumPOT.Caption = ReplaceTopicTokens(GetResString(ANALYZE_TEMPLATES_ID), TOPIC_STR, _ | |
CStr(mPPTemplateCount)) | |
lblTotalNumDocs.Caption = ReplaceTopicTokens(GetResString(ANALYZE_TOTAL_NUM_DOCS_ID), TOPIC_STR, _ | |
CStr(mTotalDocCount)) | |
If (mIgnoredDocCount > 0) Then | |
lblSkippedOld.Caption = ReplaceTopicTokens(GetResString(RID_STR_ENG_ANALYZE_IGNORED_DOCS_ID), _ | |
TOPIC_STR, CStr(mIgnoredDocCount)) | |
lblSkippedOld.Visible = True | |
Else | |
lblSkippedOld.Visible = False | |
End If | |
CheckNumberDocsToAnalyze = True | |
FinalExit: | |
Set docSearchTypes = Nothing | |
Exit Function | |
HandleErrors: | |
WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source | |
Resume FinalExit | |
End Function | |
Sub SetDocCountsFromFileSearch(myDocFiles As CollectedFiles) | |
'No Error handling required | |
mWordDocCount = myDocFiles.DocCount | |
mWordTemplateCount = myDocFiles.DotCount | |
mExcelDocCount = myDocFiles.XlsCount | |
mExcelTemplateCount = myDocFiles.XltCount | |
mPPDocCount = myDocFiles.PptCount | |
mPPTemplateCount = myDocFiles.PotCount | |
mTotalDocCount = mWordDocCount + mWordTemplateCount + mExcelDocCount + mExcelTemplateCount + _ | |
mPPDocCount + mPPTemplateCount | |
mIgnoredDocCount = myDocFiles.IgnoredDocCount | |
End Sub | |
Sub SetupDocSearchTypes(docSearchTypes As Collection) | |
'No Error handling required | |
If chkWordDoc.value Then docSearchTypes.add ("*.doc") | |
If chkWordTemplate.value Then docSearchTypes.add ("*.dot") | |
If chkExcelDoc.value Then docSearchTypes.add ("*.xls") | |
If chkExcelTemplate.value Then docSearchTypes.add ("*.xlt") | |
If chkPPDoc.value Then docSearchTypes.add ("*.ppt") | |
If chkPPTemplate.value Then docSearchTypes.add ("*.pot") | |
End Sub | |
Sub WriteDocsToAnalyzeToLog(myDocFiles As CollectedFiles) | |
On Error GoTo HandleErrors | |
Dim currentFunctionName As String | |
currentFunctionName = "WriteDocsToAnalyzeToLog" | |
Dim vFileName As Variant | |
Dim Index As Long | |
Dim limit As Long | |
limit = myDocFiles.WordFiles.count | |
For Index = 1 To limit | |
vFileName = myDocFiles.WordFiles(Index) | |
WriteToLog "Doc" & Index, CStr(vFileName), section:=(WIZARD_NAME & "ListFor" & CAPPNAME_WORD) | |
Next | |
limit = myDocFiles.ExcelFiles.count | |
For Index = 1 To limit | |
vFileName = myDocFiles.ExcelFiles(Index) | |
WriteToLog "Doc" & Index, CStr(vFileName), section:=(WIZARD_NAME & "ListFor" & CAPPNAME_EXCEL) | |
Next | |
limit = myDocFiles.PowerPointFiles.count | |
For Index = 1 To limit | |
vFileName = myDocFiles.PowerPointFiles(Index) | |
WriteToLog "Doc" & Index, CStr(vFileName), section:=(WIZARD_NAME & "ListFor" & CAPPNAME_POWERPOINT) | |
Next | |
FinalExit: | |
Exit Sub | |
HandleErrors: | |
WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source | |
Resume FinalExit | |
End Sub | |
Sub WriteFileDateCountsToLog(myDocFiles As CollectedFiles) | |
On Error GoTo HandleErrors | |
Dim currentFunctionName As String | |
currentFunctionName = "WriteFileDateCountsToLog" | |
WriteToLog C_DOCS_LESS_3_MONTH, CStr(myDocFiles.DocsLessThan3Months), mIniFilePath | |
WriteToLog C_DOCS_LESS_6_MONTH, CStr(myDocFiles.DocsLessThan6Months), mIniFilePath | |
WriteToLog C_DOCS_LESS_12_MONTH, CStr(myDocFiles.DocsLessThan12Months), mIniFilePath | |
WriteToLog C_DOCS_MORE_12_MONTH, CStr(myDocFiles.DocsMoreThan12Months), mIniFilePath | |
FinalExit: | |
Exit Sub | |
HandleErrors: | |
WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source | |
Resume FinalExit | |
End Sub | |
Function RunWordAnalysis(resultsTemplate As String, logFile As String, fsObject As FileSystemObject) As Boolean | |
On Error GoTo HandleErrors | |
Dim currentFunctionName As String | |
currentFunctionName = "RunWordAnalysis" | |
Const APP_WORD = "Word" | |
Dim str As String | |
Dim bSuccess | |
bSuccess = False | |
Dim wrd As Word.application | |
Dim aDoc As Word.Document | |
Dim sWordDriverDocPath As String | |
Dim RegValue As Long | |
If (chkWordDoc.value <> vbChecked) And (chkWordTemplate.value <> vbChecked) Then | |
'No Word doc filters selected | |
RunWordAnalysis = True | |
Exit Function | |
End If | |
sWordDriverDocPath = fsObject.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CWORD_DRIVER_FILE) | |
If Not fsObject.FileExists(sWordDriverDocPath) Then | |
str = ReplaceTopic2Tokens(GetResString(ERR_MISSING_WORD_DRIVER), _ | |
TOPIC_STR, sWordDriverDocPath, CR_STR, Chr(13)) | |
WriteDebug str | |
MsgBox str, vbCritical | |
bSuccess = False | |
GoTo FinalExit | |
End If | |
Set wrd = New Word.application | |
If val(wrd.Version) < CSUPPORTED_VERSION Then | |
str = ReplaceTopic2Tokens(GetResString(ERR_SUPPORTED_VERSION), _ | |
TOPIC_STR, wrd.Version, CR_STR, Chr(13)) | |
WriteDebug str | |
MsgBox str, vbCritical | |
bSuccess = False | |
GoTo FinalExit | |
End If | |
If Not CheckForAccesToWordVBProject(wrd) Then | |
RegValue = -1 | |
If Not GiveAccessToMacroProject(APP_WORD, wrd.Version, RegValue) Then | |
Dim Style, response | |
str = ReplaceTopic2Tokens(GetResString(ERR_NO_ACCESS_TO_VBPROJECT), _ | |
TOPIC_STR, CAPPNAME_WORD, CR_STR, Chr(13)) | |
WriteDebug str | |
Style = vbYesNo + vbQuestion + vbDefaultButton1 | |
response = MsgBox(str, Style) | |
If response <> vbYes Then | |
bSuccess = False | |
GoTo FinalExit | |
End If | |
End If | |
End If | |
Set aDoc = wrd.Documents.Open(fileName:=sWordDriverDocPath) | |
'Clear out any doc vars | |
Dim MyObj As Variable | |
For Each MyObj In aDoc.Variables | |
MyObj.Delete | |
Next | |
'Setup Input Variables | |
'SetupInputVariables resultsTemplate, logFile, fsObject, CAPPNAME_WORD | |
wrd.Run ("AnalysisTool.AnalysisDriver.AnalyseDirectory") | |
wrd.Visible = False | |
bSuccess = True | |
FinalExit: | |
If RegValue <> -1 Then | |
SetDefaultRegValue APP_WORD, wrd.Version, RegValue | |
End If | |
If RegValue = 0 Then | |
DeleteRegValue APP_WORD, wrd.Version | |
End If | |
If Not aDoc Is Nothing Then aDoc.Close (False) | |
Set aDoc = Nothing | |
If Not wrd Is Nothing Then wrd.Quit (False) | |
Set wrd = Nothing | |
RunWordAnalysis = bSuccess | |
Exit Function | |
HandleErrors: | |
On Error Resume Next | |
bSuccess = False | |
Set aDoc = Nothing | |
Set wrd = Nothing | |
Dim failedDoc As String | |
WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source | |
failedDoc = GetDebug(CAPPNAME_WORD, CANALYZING) | |
If failedDoc = "" Or failedDoc = CSTR_ANALYSIS_LOG_DONE Then | |
str = ReplaceTopic2Tokens(GetResString(ERR_AUTOMATION_FAILURE), _ | |
TOPIC_STR, CAPPNAME_WORD, CR_STR, Chr(13)) | |
Else | |
str = ReplaceTopic2Tokens(GetResString(ERR_WORD_DRIVER_CRASH), _ | |
TOPIC_STR, failedDoc, CR_STR, Chr(13)) | |
End If | |
WriteDebug str | |
MsgBox str, vbCritical | |
Resume FinalExit | |
End Function | |
Function stripLastBackslash(inputStr As String) As String | |
Const MIN_DIR_SIZE = 3 | |
On Error GoTo HandleErrors | |
Dim currentFunctionName As String | |
currentFunctionName = "stripLastBackslash" | |
If Len(inputStr) > MIN_DIR_SIZE Then | |
Dim lastStrChar As String | |
lastStrChar = Right(inputStr, 1) | |
If lastStrChar = "\" Then | |
inputStr = Left(inputStr, Len(inputStr) - 1) | |
End If | |
End If | |
stripLastBackslash = inputStr | |
Exit Function | |
HandleErrors: | |
WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source | |
stripLastBackslash = inputStr | |
End Function | |
Function getInputDir() As String | |
getInputDir = stripLastBackslash(txtInputDir.Text) | |
End Function | |
Function getOutputDir() As String | |
Dim tmpStr As String | |
tmpStr = stripLastBackslash(txtOutputDir.Text) | |
'Bug when specifying C:\ | |
If tmpStr <> "" Then | |
If Right(tmpStr, 1) = "\" Then | |
tmpStr = Left(tmpStr, Len(tmpStr) - 1) | |
End If | |
End If | |
getOutputDir = tmpStr | |
End Function | |
Function CheckCreateNewResultsFile(fsObject As FileSystemObject) As Boolean | |
If Not fsObject.FileExists(getOutputDir & "\" & txtResultsName.Text) Then | |
'No Results File - Create it | |
CheckCreateNewResultsFile = True | |
ElseIf rdbResultsAppend.value Then | |
'Results File exists and user wants to append to it | |
CheckCreateNewResultsFile = False | |
Else | |
'Results File exists and user has elected not to append | |
CheckCreateNewResultsFile = True | |
End If | |
End Function | |
Sub DeleteFile(file As String) | |
On Error GoTo HandleErrors | |
Dim currentFunctionName As String | |
currentFunctionName = "DeleteFile" | |
Dim fso As Scripting.FileSystemObject | |
Set fso = New Scripting.FileSystemObject | |
Dim filePath As String | |
filePath = fso.GetAbsolutePathName(file) | |
If fso.FileExists(filePath) Then | |
fso.DeleteFile filePath, True | |
End If | |
FinalExit: | |
Set fso = Nothing | |
Exit Sub | |
HandleErrors: | |
WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source | |
Resume FinalExit | |
End Sub | |
Public Property Get Version() As String | |
Version = app.Major & "." & app.Minor & "." & app.Revision | |
End Property | |
Function GetExcelInstance() As Excel.application | |
Dim xl As Excel.application | |
On Error Resume Next | |
'Try and get an existing instance | |
Set xl = GetObject(, "Excel.Application") | |
If Err.Number = 429 Then | |
Set xl = CreateObject("Excel.Application") | |
ElseIf Err.Number <> 0 Then | |
Set xl = Nothing | |
MsgBox "Error: " & Err.Description | |
Exit Function | |
End If | |
Set GetExcelInstance = xl | |
Set xl = Nothing | |
End Function | |
Function CheckForAnalysisResultsWorkbook(analysisResultsName As String) As Boolean | |
On Error GoTo HandleErrors | |
Dim currentFunctionName As String | |
currentFunctionName = "CheckForAnalysisResultsWorkbook" | |
CheckForAnalysisResultsWorkbook = False | |
Dim xl As Excel.application | |
Set xl = GetExcelInstance | |
Dim aWb As Excel.Workbook | |
For Each aWb In xl.Workbooks | |
If aWb.Name = analysisResultsName Then | |
CheckForAnalysisResultsWorkbook = True | |
Exit For | |
End If | |
Next aWb | |
FinalExit: | |
If Not xl Is Nothing Then | |
If xl.Workbooks.count = 0 Then | |
xl.Quit | |
End If | |
End If | |
Set xl = Nothing | |
Exit Function | |
HandleErrors: | |
Set xl = Nothing | |
WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source | |
Resume FinalExit | |
End Function | |
Function CheckForExcel() As Boolean | |
On Error GoTo HandleErrors | |
Dim currentFunctionName As String | |
currentFunctionName = "CheckForExcel" | |
CheckForExcel = False | |
Dim xl As Excel.application | |
Set xl = GetExcelInstance | |
If xl.Workbooks.count > 0 Then | |
CheckForExcel = True | |
End If | |
FinalExit: | |
If Not xl Is Nothing Then | |
If xl.Workbooks.count = 0 Then | |
xl.Quit | |
End If | |
End If | |
Set xl = Nothing | |
Exit Function | |
HandleErrors: | |
Set xl = Nothing | |
WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source | |
Resume FinalExit | |
End Function | |
Public Function GetIniSetting(key As String) As String | |
If mIniFilePath = "" Or key = "" Then Exit Function | |
GetIniSetting = ProfileGetItem(WIZARD_NAME, key, "", mIniFilePath) | |
End Function | |
Sub WriteIniSetting(key As String, value As String) | |
If mIniFilePath = "" Or key = "" Then Exit Sub | |
Call WritePrivateProfileString(WIZARD_NAME, key, value, mIniFilePath) | |
End Sub | |
Private Sub lblSetupComplete_Click(Index As Integer) | |
End Sub | |
Private Function CheckNeededFiles(missingFile As String) As Boolean | |
Dim fso As New FileSystemObject | |
Dim filePath As String | |
CheckNeededFiles = False | |
filePath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CWORD_DRIVER_FILE) | |
If Not fso.FileExists(filePath) Then | |
missingFile = filePath | |
Exit Function | |
End If | |
filePath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CEXCEL_DRIVER_FILE) | |
If Not fso.FileExists(filePath) Then | |
missingFile = filePath | |
Exit Function | |
End If | |
filePath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CPP_DRIVER_FILE) | |
If Not fso.FileExists(filePath) Then | |
missingFile = filePath | |
Exit Function | |
End If | |
filePath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CLAUNCH_DRIVERS_EXE) | |
If Not fso.FileExists(filePath) Then | |
missingFile = filePath | |
Exit Function | |
End If | |
filePath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CMSO_KILL_EXE) | |
If Not fso.FileExists(filePath) Then | |
missingFile = filePath | |
Exit Function | |
End If | |
filePath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CRESULTS_TEMPLATE_FILE) | |
If Not fso.FileExists(filePath) Then | |
missingFile = filePath | |
Exit Function | |
End If | |
filePath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CRESOURCE_DLL) | |
If Not fso.FileExists(filePath) Then | |
missingFile = filePath | |
Exit Function | |
End If | |
CheckNeededFiles = True | |
End Function |