| 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 |