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