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