1VERSION 5.00 2Begin VB.Form frmWizard 3 Appearance = 0 'Flat 4 BackColor = &H80000005& 5 BorderStyle = 1 'Fixed Single 6 Caption = "OpenOffice.org Document Analysis Wizard" 7 ClientHeight = 5520 8 ClientLeft = 1965 9 ClientTop = 1815 10 ClientWidth = 8175 11 BeginProperty Font 12 Name = "Arial" 13 Size = 8.25 14 Charset = 0 15 Weight = 400 16 Underline = 0 'False 17 Italic = 0 'False 18 Strikethrough = 0 'False 19 EndProperty 20 Icon = "Wizard.frx":0000 21 KeyPreview = -1 'True 22 LinkTopic = "Form1" 23 LockControls = -1 'True 24 MaxButton = 0 'False 25 MinButton = 0 'False 26 ScaleHeight = 5520 27 ScaleWidth = 8175 28 Tag = "1000" 29 Begin VB.Frame fraStep 30 BorderStyle = 0 'None 31 Caption = "Introduction" 32 ClipControls = 0 'False 33 Enabled = 0 'False 34 BeginProperty Font 35 Name = "MS Sans Serif" 36 Size = 8.25 37 Charset = 0 38 Weight = 400 39 Underline = 0 'False 40 Italic = 0 'False 41 Strikethrough = 0 'False 42 EndProperty 43 Height = 4905 44 Index = 0 45 Left = -10000 46 TabIndex = 25 47 Tag = "1000" 48 Top = 0 49 Width = 8235 50 Begin VB.PictureBox Picture4 51 Appearance = 0 'Flat 52 BackColor = &H80000005& 53 BorderStyle = 0 'None 54 ForeColor = &H80000008& 55 Height = 4935 56 Index = 0 57 Left = 0 58 ScaleHeight = 4935 59 ScaleWidth = 2565 60 TabIndex = 2 61 TabStop = 0 'False 62 Top = 0 63 Width = 2565 64 Begin VB.PictureBox Picture10 65 Height = 735 66 Left = 2580 67 ScaleHeight = 735 68 ScaleWidth = 30 69 TabIndex = 68 70 TabStop = 0 'False 71 Top = 2610 72 Width = 30 73 End 74 Begin VB.PictureBox Picture6 75 Appearance = 0 'Flat 76 BackColor = &H80000005& 77 BorderStyle = 0 'None 78 ForeColor = &H80000008& 79 Height = 1485 80 Left = 150 81 ScaleHeight = 1485 82 ScaleWidth = 2355 83 TabIndex = 67 84 TabStop = 0 'False 85 Top = 3390 86 Width = 2355 87 Begin VB.PictureBox Picture1 88 Appearance = 0 'Flat 89 BackColor = &H80000005& 90 BorderStyle = 0 'None 91 ForeColor = &H80000008& 92 Height = 1200 93 Index = 0 94 Left = 200 95 Picture = "Wizard.frx":482C2 96 ScaleHeight = 1200 97 ScaleWidth = 1980 98 TabIndex = 7 99 TabStop = 0 'False 100 Tag = "1060" 101 Top = 300 102 Width = 1980 103 End 104 End 105 Begin VB.Label lblStep1_4 106 BackColor = &H00EED3C2& 107 BackStyle = 0 'Transparent 108 Caption = "4. Analyze" 109 ForeColor = &H00BF4F59& 110 Height = 195 111 Left = 120 112 TabIndex = 89 113 Tag = "1044" 114 Top = 1800 115 Width = 2140 116 End 117 Begin VB.Line Line2 118 BorderColor = &H00808080& 119 Index = 2 120 X1 = 2550 121 X2 = 2550 122 Y1 = 0 123 Y2 = 4920 124 End 125 Begin VB.Line Line3 126 Index = 1 127 X1 = 120 128 X2 = 2280 129 Y1 = 480 130 Y2 = 480 131 End 132 Begin VB.Label Label7 133 BackColor = &H00EED3C2& 134 Caption = "1. Introduction" 135 ForeColor = &H00BF4F59& 136 Height = 255 137 Index = 1 138 Left = 120 139 TabIndex = 11 140 Tag = "1041" 141 Top = 720 142 Width = 2140 143 End 144 Begin VB.Label Label8 145 BackColor = &H00EED3C2& 146 BackStyle = 0 'Transparent 147 Caption = "3. Results" 148 ForeColor = &H00BF4F59& 149 Height = 255 150 Index = 1 151 Left = 120 152 TabIndex = 9 153 Tag = "1043" 154 Top = 1440 155 Width = 2140 156 End 157 Begin VB.Label Label9 158 BackColor = &H00EED3C2& 159 BackStyle = 0 'Transparent 160 Caption = "2. Documents" 161 ForeColor = &H00BF4F59& 162 Height = 255 163 Index = 1 164 Left = 120 165 TabIndex = 10 166 Tag = "1042" 167 Top = 1080 168 Width = 2140 169 End 170 Begin VB.Label Label12 171 BackStyle = 0 'Transparent 172 Caption = "Steps" 173 BeginProperty Font 174 Name = "Arial" 175 Size = 8.25 176 Charset = 0 177 Weight = 700 178 Underline = 0 'False 179 Italic = 0 'False 180 Strikethrough = 0 'False 181 EndProperty 182 Height = 255 183 Index = 1 184 Left = 120 185 TabIndex = 8 186 Tag = "1040" 187 Top = 240 188 Width = 2115 189 End 190 End 191 Begin VB.PictureBox Picture8 192 Appearance = 0 'Flat 193 BorderStyle = 0 'None 194 ForeColor = &H80000008& 195 Height = 4935 196 Left = 2400 197 ScaleHeight = 4935 198 ScaleWidth = 5925 199 TabIndex = 3 200 TabStop = 0 'False 201 Top = -30 202 Width = 5925 203 Begin VB.CheckBox chkShowIntro 204 Caption = "Do not show this introduction again" 205 Enabled = 0 'False 206 Height = 315 207 Left = 690 208 MaskColor = &H00000000& 209 TabIndex = 6 210 Tag = "1103" 211 Top = 4890 212 Visible = 0 'False 213 Width = 3810 214 End 215 Begin VB.Label lblIntroduction1 216 AutoSize = -1 'True 217 Caption = $"Wizard.frx":4F8B8 218 Height = 585 219 Left = 690 220 TabIndex = 93 221 Tag = "1101" 222 Top = 750 223 Width = 4890 224 WordWrap = -1 'True 225 End 226 Begin VB.Label lblIntroduction3 227 AutoSize = -1 'True 228 Caption = "The wizard will remain on screen while the analysis is carried out." 229 Height = 195 230 Left = 690 231 TabIndex = 0 232 Tag = "1104" 233 Top = 2670 234 Width = 4845 235 WordWrap = -1 'True 236 End 237 Begin VB.Label lblIntroduction2 238 AutoSize = -1 'True 239 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. " 240 Height = 390 241 Left = 690 242 TabIndex = 1 243 Tag = "1102" 244 Top = 1800 245 Width = 4875 246 WordWrap = -1 'True 247 End 248 Begin VB.Label Label12 249 BackStyle = 0 'Transparent 250 Caption = "Introduction" 251 BeginProperty Font 252 Name = "Arial" 253 Size = 8.25 254 Charset = 0 255 Weight = 700 256 Underline = 0 'False 257 Italic = 0 'False 258 Strikethrough = 0 'False 259 EndProperty 260 Height = 255 261 Index = 2 262 Left = 450 263 TabIndex = 5 264 Tag = "1100" 265 Top = 270 266 Width = 4000 267 End 268 End 269 End 270 Begin VB.Frame fraStep 271 BorderStyle = 0 'None 272 Caption = "Setup" 273 Enabled = 0 'False 274 BeginProperty Font 275 Name = "MS Sans Serif" 276 Size = 8.25 277 Charset = 0 278 Weight = 400 279 Underline = 0 'False 280 Italic = 0 'False 281 Strikethrough = 0 'False 282 EndProperty 283 Height = 4905 284 Index = 1 285 Left = -10000 286 TabIndex = 32 287 Tag = "2000" 288 Top = 0 289 Width = 8235 290 Begin VB.PictureBox Picture4 291 Appearance = 0 'Flat 292 BackColor = &H80000005& 293 BorderStyle = 0 'None 294 ForeColor = &H80000008& 295 Height = 4905 296 Index = 1 297 Left = 0 298 ScaleHeight = 4905 299 ScaleWidth = 2565 300 TabIndex = 61 301 TabStop = 0 'False 302 Top = 0 303 Width = 2565 304 Begin VB.PictureBox Picture1 305 Appearance = 0 'Flat 306 BackColor = &H80000005& 307 BorderStyle = 0 'None 308 ForeColor = &H80000008& 309 Height = 1200 310 Index = 1 311 Left = 350 312 Picture = "Wizard.frx":4F971 313 ScaleHeight = 1200 314 ScaleWidth = 1980 315 TabIndex = 62 316 TabStop = 0 'False 317 Tag = "1060" 318 Top = 3690 319 Width = 1980 320 End 321 Begin VB.Label lblStep2_4 322 BackColor = &H00EED3C2& 323 BackStyle = 0 'Transparent 324 Caption = "4. Analyze" 325 ForeColor = &H00BF4F59& 326 Height = 195 327 Left = 120 328 TabIndex = 90 329 Tag = "1044" 330 Top = 1800 331 Width = 2140 332 End 333 Begin VB.Line Line2 334 BorderColor = &H00808080& 335 Index = 1 336 X1 = 2550 337 X2 = 2550 338 Y1 = 0 339 Y2 = 4920 340 End 341 Begin VB.Label Label12 342 BackStyle = 0 'Transparent 343 Caption = "Steps" 344 BeginProperty Font 345 Name = "Arial" 346 Size = 8.25 347 Charset = 0 348 Weight = 700 349 Underline = 0 'False 350 Italic = 0 'False 351 Strikethrough = 0 'False 352 EndProperty 353 Height = 255 354 Index = 3 355 Left = 120 356 TabIndex = 66 357 Tag = "1040" 358 Top = 240 359 Width = 1335 360 End 361 Begin VB.Label Label9 362 BackColor = &H00EED3C2& 363 Caption = "2. Documents" 364 ForeColor = &H00BF4F59& 365 Height = 255 366 Index = 2 367 Left = 120 368 TabIndex = 65 369 Tag = "1042" 370 Top = 1080 371 Width = 2140 372 End 373 Begin VB.Label Label8 374 BackColor = &H00EED3C2& 375 BackStyle = 0 'Transparent 376 Caption = "3. Results" 377 ForeColor = &H00BF4F59& 378 Height = 255 379 Index = 2 380 Left = 120 381 TabIndex = 64 382 Tag = "1043" 383 Top = 1440 384 Width = 2140 385 End 386 Begin VB.Label Label7 387 BackColor = &H00EED3C2& 388 BackStyle = 0 'Transparent 389 Caption = "1. Introduction" 390 ForeColor = &H00BF4F59& 391 Height = 255 392 Index = 2 393 Left = 120 394 TabIndex = 63 395 Tag = "1041" 396 Top = 720 397 Width = 2140 398 End 399 Begin VB.Line Line3 400 Index = 2 401 X1 = 120 402 X2 = 2280 403 Y1 = 480 404 Y2 = 480 405 End 406 End 407 Begin VB.PictureBox Picture7 408 Appearance = 0 'Flat 409 BorderStyle = 0 'None 410 ForeColor = &H80000008& 411 Height = 4725 412 Left = 2580 413 ScaleHeight = 4725 414 ScaleWidth = 5535 415 TabIndex = 58 416 TabStop = 0 'False 417 Top = 0 418 Width = 5535 419 Begin VB.ComboBox cbIgnoreOld 420 Height = 330 421 ItemData = "Wizard.frx":56F67 422 Left = 3950 423 List = "Wizard.frx":56F74 424 Style = 2 'Dropdown List 425 TabIndex = 99 426 Top = 1570 427 Width = 1215 428 End 429 Begin VB.CheckBox chkIgnoreOld 430 Caption = "Ignore documents older than" 431 Height = 225 432 Left = 450 433 TabIndex = 98 434 Top = 1600 435 Width = 3400 436 End 437 Begin VB.CheckBox chkWordDoc 438 Caption = "Documents (*.doc)" 439 Height = 225 440 Left = 2160 441 TabIndex = 19 442 Tag = "1208" 443 Top = 2600 444 Value = 1 'Checked 445 Width = 3200 446 End 447 Begin VB.CheckBox chkWordTemplate 448 Caption = "Templates (*.dot)" 449 Height = 225 450 Left = 2160 451 TabIndex = 20 452 Tag = "1209" 453 Top = 2900 454 Width = 3200 455 End 456 Begin VB.CheckBox chkPPTemplate 457 Caption = "Templates (*.pot)" 458 Height = 225 459 Left = 2160 460 TabIndex = 24 461 Tag = "1215" 462 Top = 4400 463 Width = 3200 464 End 465 Begin VB.CheckBox chkPPDoc 466 Caption = "Presentations (*.ppt)" 467 Height = 225 468 Left = 2160 469 TabIndex = 23 470 Tag = "1214" 471 Top = 4100 472 Width = 3200 473 End 474 Begin VB.CheckBox chkExcelDoc 475 Caption = "Spreadsheets (*.xls)" 476 Height = 225 477 Left = 2160 478 TabIndex = 21 479 Tag = "1211" 480 Top = 3350 481 Width = 3200 482 End 483 Begin VB.CheckBox chkExcelTemplate 484 Caption = "Templates (*.xlt)" 485 Height = 225 486 Left = 2160 487 TabIndex = 22 488 Tag = "1212" 489 Top = 3650 490 Width = 3200 491 End 492 Begin VB.CommandButton btnBrowseDirInput 493 Caption = "..." 494 Height = 315 495 Left = 4740 496 TabIndex = 17 497 Top = 900 498 Width = 400 499 End 500 Begin VB.TextBox txtInputDir 501 Height = 315 502 Left = 450 503 TabIndex = 16 504 Tag = "1205" 505 Text = "C:\" 506 Top = 900 507 Width = 4155 508 End 509 Begin VB.CheckBox chkIncludeSubdirs 510 Caption = "Include subdirectories in the analysis" 511 Height = 225 512 Left = 450 513 TabIndex = 18 514 Tag = "1202" 515 Top = 1300 516 Width = 4965 517 End 518 Begin VB.Label lblDocTypes 519 Caption = "Document types to analyze" 520 Height = 225 521 Left = 450 522 TabIndex = 95 523 Tag = "1206" 524 Top = 2250 525 Width = 4905 526 End 527 Begin VB.Label lblChooseDocs 528 AutoSize = -1 'True 529 Caption = "Choose the documents you want to analyze" 530 BeginProperty Font 531 Name = "Arial" 532 Size = 8.25 533 Charset = 0 534 Weight = 700 535 Underline = 0 'False 536 Italic = 0 'False 537 Strikethrough = 0 'False 538 EndProperty 539 Height = 195 540 Left = 300 541 TabIndex = 94 542 Tag = "1200" 543 Top = 240 544 Width = 5115 545 WordWrap = -1 'True 546 End 547 Begin VB.Label Label13 548 AutoSize = -1 'True 549 Caption = "PowerPoint" 550 Height = 225 551 Index = 2 552 Left = 690 553 TabIndex = 74 554 Tag = "1213" 555 Top = 4100 556 Width = 1245 557 WordWrap = -1 'True 558 End 559 Begin VB.Label Label13 560 AutoSize = -1 'True 561 Caption = "Excel" 562 Height = 225 563 Index = 1 564 Left = 690 565 TabIndex = 73 566 Tag = "1210" 567 Top = 3350 568 Width = 1245 569 WordWrap = -1 'True 570 End 571 Begin VB.Label Label13 572 AutoSize = -1 'True 573 Caption = "Word" 574 Height = 225 575 Index = 0 576 Left = 690 577 TabIndex = 72 578 Tag = "1207" 579 Top = 2600 580 Width = 1245 581 WordWrap = -1 'True 582 End 583 Begin VB.Label Label1 584 Caption = "Location of Microsoft Office documents" 585 Height = 200 586 Left = 450 587 TabIndex = 59 588 Tag = "1201" 589 Top = 600 590 Width = 4935 591 End 592 End 593 End 594 Begin VB.Frame fraStep 595 BorderStyle = 0 'None 596 Caption = "Options" 597 Enabled = 0 'False 598 BeginProperty Font 599 Name = "MS Sans Serif" 600 Size = 8.25 601 Charset = 0 602 Weight = 400 603 Underline = 0 'False 604 Italic = 0 'False 605 Strikethrough = 0 'False 606 EndProperty 607 Height = 4905 608 Index = 2 609 Left = -10000 610 TabIndex = 33 611 Tag = "2002" 612 Top = 0 613 Width = 8235 614 Begin VB.PictureBox Picture11 615 BorderStyle = 0 'None 616 Height = 555 617 Left = 7260 618 ScaleHeight = 555 619 ScaleWidth = 705 620 TabIndex = 75 621 Top = 1890 622 Width = 705 623 Begin VB.CommandButton btnBrowseDirOut 624 Caption = "..." 625 Height = 375 626 Left = 90 627 TabIndex = 28 628 Top = 90 629 Width = 495 630 End 631 End 632 Begin VB.TextBox txtResultsName 633 Height = 375 634 Left = 3030 635 TabIndex = 26 636 Tag = "1302" 637 Text = "Analysis Results.xls" 638 Top = 1140 639 Width = 3045 640 End 641 Begin VB.TextBox txtOutputDir 642 Height = 375 643 Left = 3030 644 TabIndex = 27 645 Top = 1980 646 Width = 4185 647 End 648 Begin VB.PictureBox Picture5 649 Appearance = 0 'Flat 650 BorderStyle = 0 'None 651 ForeColor = &H80000008& 652 Height = 1365 653 Left = 3300 654 ScaleHeight = 1365 655 ScaleWidth = 4635 656 TabIndex = 57 657 TabStop = 0 'False 658 Top = 3210 659 Width = 4635 660 Begin VB.OptionButton rdbResultsPrompt 661 Caption = "Ask me before overwriting" 662 Height = 435 663 Left = 0 664 TabIndex = 29 665 Tag = "1312" 666 Top = 0 667 Value = -1 'True 668 Width = 4485 669 End 670 Begin VB.OptionButton rdbResultsOverwrite 671 Caption = "Overwrite without asking me" 672 Height = 435 673 Left = 0 674 TabIndex = 30 675 Tag = "1313" 676 Top = 450 677 Width = 4455 678 End 679 Begin VB.OptionButton rdbResultsAppend 680 Caption = "Append the new results to the existing results" 681 Height = 675 682 Left = 0 683 TabIndex = 31 684 Tag = "1314" 685 Top = 780 686 Visible = 0 'False 687 Width = 4515 688 End 689 End 690 Begin VB.Frame Frame3 691 Appearance = 0 'Flat 692 BackColor = &H80000005& 693 BorderStyle = 0 'None 694 Enabled = 0 'False 695 ForeColor = &H0099A8AC& 696 Height = 5175 697 Index = 0 698 Left = 0 699 TabIndex = 39 700 Top = 0 701 Width = 2535 702 Begin VB.PictureBox Picture1 703 Appearance = 0 'Flat 704 BackColor = &H80000005& 705 BorderStyle = 0 'None 706 ForeColor = &H80000008& 707 Height = 1200 708 Index = 3 709 Left = 350 710 Picture = "Wizard.frx":56F97 711 ScaleHeight = 1200 712 ScaleWidth = 1980 713 TabIndex = 40 714 TabStop = 0 'False 715 Top = 3690 716 Width = 1980 717 End 718 Begin VB.Label lblStep3_4 719 BackColor = &H00EED3C2& 720 BackStyle = 0 'Transparent 721 Caption = "4. Analyze" 722 ForeColor = &H00BF4F59& 723 Height = 195 724 Left = 120 725 TabIndex = 91 726 Tag = "1044" 727 Top = 1800 728 Width = 2140 729 End 730 Begin VB.Label Label12 731 BackStyle = 0 'Transparent 732 Caption = "Steps" 733 BeginProperty Font 734 Name = "Arial" 735 Size = 8.25 736 Charset = 0 737 Weight = 700 738 Underline = 0 'False 739 Italic = 0 'False 740 Strikethrough = 0 'False 741 EndProperty 742 Height = 255 743 Index = 0 744 Left = 120 745 TabIndex = 53 746 Tag = "1040" 747 Top = 240 748 Width = 1335 749 End 750 Begin VB.Label Label9 751 BackColor = &H00EED3C2& 752 BackStyle = 0 'Transparent 753 Caption = "2. Documents" 754 ForeColor = &H00BF4F59& 755 Height = 255 756 Index = 0 757 Left = 120 758 TabIndex = 43 759 Tag = "1042" 760 Top = 1080 761 Width = 2140 762 End 763 Begin VB.Label Label8 764 BackColor = &H00EED3C2& 765 Caption = "3. Results" 766 ForeColor = &H00BF4F59& 767 Height = 255 768 Index = 0 769 Left = 120 770 TabIndex = 42 771 Tag = "1043" 772 Top = 1440 773 Width = 2140 774 End 775 Begin VB.Label Label7 776 BackColor = &H00EED3C2& 777 BackStyle = 0 'Transparent 778 Caption = "1. Introduction" 779 ForeColor = &H00BF4F59& 780 Height = 255 781 Index = 0 782 Left = 120 783 TabIndex = 41 784 Tag = "1041" 785 Top = 720 786 Width = 2140 787 End 788 Begin VB.Line Line3 789 Index = 0 790 X1 = 120 791 X2 = 2280 792 Y1 = 480 793 Y2 = 480 794 End 795 End 796 Begin VB.Label Label3 797 Caption = "File name for the results spreadsheet" 798 Height = 195 799 Left = 3030 800 TabIndex = 71 801 Tag = "1301" 802 Top = 840 803 Width = 4785 804 End 805 Begin VB.Label lblResultsLocation 806 Caption = "Location" 807 Height = 195 808 Left = 3030 809 TabIndex = 70 810 Tag = "1304" 811 Top = 1710 812 Width = 4755 813 End 814 Begin VB.Label Label13 815 AutoSize = -1 'True 816 Caption = "If results already exisit under the same name and location:" 817 Height = 195 818 Index = 5 819 Left = 3030 820 TabIndex = 38 821 Tag = "1311" 822 Top = 2730 823 Width = 4230 824 WordWrap = -1 'True 825 End 826 Begin VB.Line Line2 827 BorderColor = &H00808080& 828 Index = 0 829 X1 = 2550 830 X2 = 2550 831 Y1 = 0 832 Y2 = 4920 833 End 834 Begin VB.Label lblChooseResults 835 AutoSize = -1 'True 836 Caption = "Choose where and how to save the analysis results" 837 BeginProperty Font 838 Name = "Arial" 839 Size = 8.25 840 Charset = 0 841 Weight = 700 842 Underline = 0 'False 843 Italic = 0 'False 844 Strikethrough = 0 'False 845 EndProperty 846 Height = 195 847 Left = 2880 848 TabIndex = 37 849 Tag = "1300" 850 Top = 240 851 Width = 5055 852 WordWrap = -1 'True 853 End 854 End 855 Begin VB.Frame fraStep 856 BorderStyle = 0 'None 857 Caption = "Analyze" 858 Enabled = 0 'False 859 BeginProperty Font 860 Name = "MS Sans Serif" 861 Size = 8.25 862 Charset = 0 863 Weight = 400 864 Underline = 0 'False 865 Italic = 0 'False 866 Strikethrough = 0 'False 867 EndProperty 868 Height = 4905 869 Index = 3 870 Left = 0 871 TabIndex = 34 872 Tag = "3000" 873 Top = 0 874 Width = 2.45745e5 875 Begin VB.PictureBox Picture12 876 Appearance = 0 'Flat 877 BorderStyle = 0 'None 878 ForeColor = &H80000008& 879 Height = 4905 880 Left = 10020 881 ScaleHeight = 4905 882 ScaleWidth = 8175 883 TabIndex = 69 884 TabStop = 0 'False 885 Top = 0 886 Width = 8175 887 End 888 Begin VB.CommandButton btnPrepare 889 Caption = "Prepare" 890 Enabled = 0 'False 891 Height = 375 892 Left = 3340 893 TabIndex = 97 894 Tag = "1411" 895 Top = 4410 896 Visible = 0 'False 897 Width = 4000 898 End 899 Begin VB.CommandButton btnRunAnalysis 900 Caption = "Run" 901 Height = 375 902 Left = 3340 903 TabIndex = 35 904 Tag = "1404" 905 Top = 3410 906 Width = 4000 907 End 908 Begin VB.CommandButton btnViewResults 909 Caption = "View" 910 Enabled = 0 'False 911 Height = 375 912 Left = 3340 913 TabIndex = 36 914 Tag = "1406" 915 Top = 3910 916 Width = 4000 917 End 918 Begin VB.Frame Frame3 919 Appearance = 0 'Flat 920 BackColor = &H80000005& 921 BorderStyle = 0 'None 922 Enabled = 0 'False 923 ForeColor = &H0099A8AC& 924 Height = 5175 925 Index = 3 926 Left = 0 927 TabIndex = 44 928 Top = 0 929 Width = 2535 930 Begin VB.PictureBox Picture4 931 Appearance = 0 'Flat 932 BackColor = &H80000005& 933 BorderStyle = 0 'None 934 ForeColor = &H80000008& 935 Height = 1575 936 Index = 2 937 Left = 150 938 ScaleHeight = 1575 939 ScaleWidth = 2385 940 TabIndex = 55 941 TabStop = 0 'False 942 Top = 3390 943 Width = 2385 944 Begin VB.PictureBox Picture1 945 Appearance = 0 'Flat 946 BackColor = &H80000005& 947 BorderStyle = 0 'None 948 ForeColor = &H80000008& 949 Height = 1200 950 Index = 2 951 Left = 200 952 Picture = "Wizard.frx":5E58D 953 ScaleHeight = 1200 954 ScaleWidth = 2475 955 TabIndex = 56 956 TabStop = 0 'False 957 Tag = "1060" 958 Top = 300 959 Width = 2480 960 End 961 End 962 Begin VB.Label lblStep4_4 963 BackColor = &H00EED3C2& 964 Caption = "4. Analyze" 965 ForeColor = &H00BF4F59& 966 Height = 255 967 Left = 120 968 TabIndex = 92 969 Tag = "1044" 970 Top = 1800 971 Width = 2140 972 End 973 Begin VB.Label Label12 974 BackStyle = 0 'Transparent 975 Caption = "Steps" 976 BeginProperty Font 977 Name = "Arial" 978 Size = 8.25 979 Charset = 0 980 Weight = 700 981 Underline = 0 'False 982 Italic = 0 'False 983 Strikethrough = 0 'False 984 EndProperty 985 Height = 255 986 Index = 5 987 Left = 120 988 TabIndex = 54 989 Tag = "1040" 990 Top = 240 991 Width = 1335 992 End 993 Begin VB.Label Label9 994 BackColor = &H00EED3C2& 995 BackStyle = 0 'Transparent 996 Caption = "2. Documents" 997 ForeColor = &H00BF4F59& 998 Height = 255 999 Index = 3 1000 Left = 120 1001 TabIndex = 47 1002 Tag = "1042" 1003 Top = 1080 1004 Width = 2140 1005 End 1006 Begin VB.Label Label8 1007 BackColor = &H00EED3C2& 1008 BackStyle = 0 'Transparent 1009 Caption = "3. Results" 1010 ForeColor = &H00BF4F59& 1011 Height = 255 1012 Index = 3 1013 Left = 120 1014 TabIndex = 46 1015 Tag = "1043" 1016 Top = 1440 1017 Width = 2140 1018 End 1019 Begin VB.Label Label7 1020 BackColor = &H00EED3C2& 1021 BackStyle = 0 'Transparent 1022 Caption = "1. Introduction" 1023 ForeColor = &H00BF4F59& 1024 Height = 255 1025 Index = 3 1026 Left = 120 1027 TabIndex = 45 1028 Tag = "1041" 1029 Top = 720 1030 Width = 2140 1031 End 1032 Begin VB.Line Line3 1033 Index = 3 1034 X1 = 120 1035 X2 = 2280 1036 Y1 = 480 1037 Y2 = 480 1038 End 1039 End 1040 Begin VB.Label lblSkippedOld 1041 Caption = "Skipped <TOPIC> documets, because they were too old" 1042 Height = 195 1043 Left = 3180 1044 TabIndex = 60 1045 Top = 2880 1046 Width = 4935 1047 End 1048 Begin VB.Label lblSetupDone 1049 AutoSize = -1 'True 1050 Caption = "Run the analysis and view the results" 1051 BeginProperty Font 1052 Name = "Arial" 1053 Size = 8.25 1054 Charset = 0 1055 Weight = 700 1056 Underline = 0 'False 1057 Italic = 0 'False 1058 Strikethrough = 0 'False 1059 EndProperty 1060 Height = 195 1061 Left = 2880 1062 TabIndex = 96 1063 Tag = "1400" 1064 Top = 240 1065 Width = 4905 1066 WordWrap = -1 'True 1067 End 1068 Begin VB.Label lblNumPPT 1069 Caption = "<TOPIC> Presentations" 1070 Height = 255 1071 Left = 4620 1072 TabIndex = 88 1073 Tag = "1409" 1074 Top = 2280 1075 Width = 3375 1076 End 1077 Begin VB.Label lblNumPOT 1078 Caption = "<TOPIC> Templates" 1079 Height = 255 1080 Left = 4620 1081 TabIndex = 87 1082 Tag = "1403" 1083 Top = 2550 1084 Width = 3375 1085 End 1086 Begin VB.Label lblNumXLS 1087 Caption = "<TOPIC> Spreadsheets" 1088 Height = 255 1089 Left = 4620 1090 TabIndex = 86 1091 Tag = "1408" 1092 Top = 1680 1093 Width = 3375 1094 End 1095 Begin VB.Label lblNumXLT 1096 Caption = "<TOPIC> Templates" 1097 Height = 255 1098 Left = 4620 1099 TabIndex = 85 1100 Tag = "1403" 1101 Top = 1950 1102 Width = 3375 1103 End 1104 Begin VB.Label Label16 1105 AutoSize = -1 'True 1106 Caption = "PowerPoint" 1107 Height = 195 1108 Left = 3360 1109 TabIndex = 82 1110 Tag = "1213" 1111 Top = 2280 1112 Width = 1095 1113 WordWrap = -1 'True 1114 End 1115 Begin VB.Label Label13 1116 Caption = "Word" 1117 Height = 705 1118 Index = 10 1119 Left = 0 1120 TabIndex = 81 1121 Tag = "1207" 1122 Top = 0 1123 Width = 1245 1124 End 1125 Begin VB.Label Label13 1126 Caption = "Excel" 1127 Height = 705 1128 Index = 9 1129 Left = 0 1130 TabIndex = 80 1131 Tag = "1210" 1132 Top = 810 1133 Width = 1245 1134 End 1135 Begin VB.Label Label13 1136 Caption = "PowerPoint" 1137 Height = 585 1138 Index = 8 1139 Left = 0 1140 TabIndex = 79 1141 Tag = "1213" 1142 Top = 1620 1143 Width = 1245 1144 End 1145 Begin VB.Label Label13 1146 Caption = "Word" 1147 Height = 585 1148 Index = 7 1149 Left = 0 1150 TabIndex = 78 1151 Tag = "1207" 1152 Top = 0 1153 Width = 1245 1154 End 1155 Begin VB.Label Label13 1156 Caption = "Excel" 1157 Height = 585 1158 Index = 6 1159 Left = 0 1160 TabIndex = 77 1161 Tag = "1210" 1162 Top = 810 1163 Width = 1245 1164 End 1165 Begin VB.Label Label13 1166 Caption = "PowerPoint" 1167 Height = 465 1168 Index = 4 1169 Left = 0 1170 TabIndex = 76 1171 Tag = "1213" 1172 Top = 1620 1173 Width = 1245 1174 End 1175 Begin VB.Label lblNumTemplates 1176 Caption = "<TOPIC> Templates" 1177 Height = 255 1178 Left = 4620 1179 TabIndex = 52 1180 Tag = "1403" 1181 Top = 1350 1182 Width = 3375 1183 End 1184 Begin VB.Label lblNumDocs 1185 Caption = "<TOPIC> Documents" 1186 Height = 255 1187 Left = 4620 1188 TabIndex = 51 1189 Tag = "1402" 1190 Top = 1080 1191 Width = 3375 1192 End 1193 Begin VB.Line Line6 1194 BorderColor = &H00808080& 1195 X1 = 2640 1196 X2 = 8040 1197 Y1 = 3270 1198 Y2 = 3270 1199 End 1200 Begin VB.Label Label15 1201 AutoSize = -1 'True 1202 Caption = "Excel" 1203 Height = 195 1204 Left = 3360 1205 TabIndex = 50 1206 Tag = "1210" 1207 Top = 1680 1208 Width = 1095 1209 WordWrap = -1 'True 1210 End 1211 Begin VB.Label Label14 1212 AutoSize = -1 'True 1213 Caption = "Word" 1214 Height = 195 1215 Left = 3360 1216 TabIndex = 49 1217 Tag = "1207" 1218 Top = 1080 1219 Width = 1110 1220 WordWrap = -1 'True 1221 End 1222 Begin VB.Label lblTotalNumDocs 1223 AutoSize = -1 'True 1224 Caption = "A total of <TOPIC> documents will be analyzed:" 1225 Height = 195 1226 Left = 3180 1227 TabIndex = 48 1228 Tag = "1401" 1229 Top = 660 1230 Width = 4800 1231 WordWrap = -1 'True 1232 End 1233 Begin VB.Line Line2 1234 BorderColor = &H00808080& 1235 Index = 3 1236 X1 = 2550 1237 X2 = 2550 1238 Y1 = 0 1239 Y2 = 4920 1240 End 1241 End 1242 Begin VB.PictureBox picNav 1243 Align = 2 'Align Bottom 1244 Appearance = 0 'Flat 1245 BorderStyle = 0 'None 1246 BeginProperty Font 1247 Name = "MS Sans Serif" 1248 Size = 8.25 1249 Charset = 0 1250 Weight = 400 1251 Underline = 0 'False 1252 Italic = 0 'False 1253 Strikethrough = 0 'False 1254 EndProperty 1255 ForeColor = &H80000008& 1256 Height = 570 1257 Left = 0 1258 ScaleHeight = 570 1259 ScaleWidth = 8175 1260 TabIndex = 4 1261 TabStop = 0 'False 1262 Top = 4950 1263 Width = 8175 1264 Begin VB.CommandButton cmdNav 1265 Caption = "Finish" 1266 Height = 312 1267 Index = 4 1268 Left = 5325 1269 MaskColor = &H00000000& 1270 TabIndex = 14 1271 Tag = "1023" 1272 Top = 120 1273 Width = 1320 1274 End 1275 Begin VB.CommandButton cmdNav 1276 Caption = "Next >>" 1277 Height = 312 1278 Index = 3 1279 Left = 3870 1280 MaskColor = &H00000000& 1281 TabIndex = 13 1282 Tag = "1022" 1283 Top = 120 1284 Width = 1320 1285 End 1286 Begin VB.CommandButton cmdNav 1287 Caption = "<< Back" 1288 Height = 312 1289 Index = 2 1290 Left = 2535 1291 MaskColor = &H00000000& 1292 TabIndex = 12 1293 Tag = "1021" 1294 Top = 120 1295 Width = 1320 1296 End 1297 Begin VB.CommandButton cmdNav 1298 Cancel = -1 'True 1299 Caption = "Cancel" 1300 Height = 312 1301 Index = 1 1302 Left = 6750 1303 MaskColor = &H00000000& 1304 TabIndex = 15 1305 Tag = "1024" 1306 Top = 120 1307 Width = 1320 1308 End 1309 End 1310 Begin VB.Label Label18 1311 Caption = "<TOPIC> Documents" 1312 Height = 255 1313 Left = 0 1314 TabIndex = 84 1315 Top = 0 1316 Width = 2085 1317 WordWrap = -1 'True 1318 End 1319 Begin VB.Label Label17 1320 Caption = "<TOPIC> Templates" 1321 Height = 255 1322 Left = 0 1323 TabIndex = 83 1324 Top = 390 1325 Width = 3615 1326 WordWrap = -1 'True 1327 End 1328 Begin VB.Line Line4 1329 BorderColor = &H00808080& 1330 X1 = 0 1331 X2 = 8160 1332 Y1 = 4920 1333 Y2 = 4920 1334 End 1335End 1336Attribute VB_Name = "frmWizard" 1337Attribute VB_GlobalNameSpace = False 1338Attribute VB_Creatable = False 1339Attribute VB_PredeclaredId = True 1340Attribute VB_Exposed = False 1341' ******************************************************************************* 1342' * 1343' * Copyright 2000, 2010 Oracle and/or its affiliates. All rights reserved. Use of this 1344' * product is subject to license terms. 1345' * 1346' ******************************************************************************* 1347 1348Option Explicit 1349 1350Const TOPIC_STR = "<TOPIC>" 1351Const TOPIC2_STR = "<TOPIC2>" 1352Const CR_STR = "<CR>" 1353Const CDEBUG_LEVEL_DEFAULT = 1 'Will output all Debug output to analysis.log file 1354Const CSUPPORTED_VERSION = 9# 1355 1356Const NUM_STEPS = 4 1357 1358Const CAPPNAME_WORD = "Word" 1359Const CAPPNAME_EXCEL = "Excel" 1360Const CAPPNAME_POWERPOINT = "PowerPoint" 1361Const CANALYZING = "Analyzing" 1362 1363Const BTN_CANCEL = 1 1364Const BTN_BACK = 2 1365Const BTN_NEXT = 3 1366Const BTN_FINISH = 4 1367 1368Const STEP_INTRO = 0 1369Const STEP_1 = 1 1370Const STEP_2 = 2 1371Const STEP_FINISH = 3 1372 1373Const DIR_NONE = 0 1374Const DIR_BACK = 1 1375Const DIR_NEXT = 2 1376 1377Const CPRODUCTNAME_STR = "<PRODUCTNAME>" 1378 1379Const CSTR_ANALYSIS_LOG_DONE = "Done" 1380 1381Const CINPUT_DIR = "indir" 1382Const COUTPUT_DIR = "outdir" 1383Const CRESULTS_FILE = "resultsfile" 1384Const CLOG_FILE = "logfile" 1385Const CRESULTS_TEMPLATE = "resultstemplate" 1386Const CRESULTS_EXIST = "resultsexist" 1387Const CPROMPT_FILE = "promptfile" 1388Const COVERWRITE_FILE = "overwritefile" 1389Const CAPPEND_FILE = "appendfile" 1390Const CNEW_RESULTS_FILE = "newresultsfile" 1391Const CINCLUDE_SUBDIRS = "includesubdirs" 1392Const CDEBUG_LEVEL = "debuglevel" 1393Const CTYPE_WORDDOC = "typeworddoc" 1394Const CTYPE_WORDDOT = "typeworddot" 1395Const CTYPE_EXCELDOC = "typeexceldoc" 1396Const CTYPE_EXCELDOT = "typeexceldot" 1397Const CTYPE_PPDOC = "typepowerpointdoc" 1398Const CTYPE_PPDOT = "typepowerpointdot" 1399Const COUTPUT_TYPE = "outputtype" 1400Const COUTPUT_TYPE_XLS = "xls" 1401Const COUTPUT_TYPE_XML = "xml" 1402Const COUTPUT_TYPE_BOTH = "both" 1403Const CVERSION = "version" 1404Const CDOPREPARE = "prepare" 1405Const CTITLE = "title" 1406Const CIGNORE_OLD_DOCS = "ignoreolddocuments" 1407Const CISSUE_LIMIT = "issuesmonthlimit" 1408Const CISSUE_LIMIT_DAW = 6 1409Private mIssueLimit As Integer 1410Const CDEFAULT_PASSWORD = "defaultpassword" 1411Const CSTR_TEST_PASSWORD = "test" 1412Private mDefaultPassword As String 1413 1414Const CLAST_CHECKPOINT As String = "LastCheckpoint" 1415Const CNEXT_FILE As String = "NextFile" 1416Const C_ABORT_ANALYSIS As String = "AbortAnalysis" 1417 1418Const CNUMBER_TOTAL_DOCS = "total_numberdocs" 1419Const CNUMBER_DOCS_DOC = "numberdocs_doc" 1420Const CNUMBER_TEMPLATES_DOT = "numbertemplates_dot" 1421Const CNUMBER_DOCS_XLS = "numberdocs_xls" 1422Const CNUMBER_TEMPLATES_XLT = "numbertemplates_xlt" 1423Const CNUMBER_DOCS_PPT = "numberdocs_ppt" 1424Const CNUMBER_TEMPLATES_POT = "numbertemplates_pot" 1425Const CSTART_TIME = "start" 1426Const CEND_TIME = "end" 1427Const CELAPSED_TIME = "time_for_analysis" 1428Const CWINVERSION = "win_version" 1429Const CUSER_LOCALE_INFO = "user_locale" 1430Const CSYS_LOCALE_INFO = "system_locale" 1431Const CWORD_VERSION = "word_ver" 1432Const CEXCEL_VERSION = "excel_ver" 1433Const CPOWERPOINT_VERSION = "powerpoint_ver" 1434Const CNOT_INSTALLED = "not installed" 1435 1436Const CRESULTS_FILE_EXTENSION = ".xls" 1437Const CCONFIG_BACKUP_EXT = "_bak" 1438Const CDEFAULT_README_NAME = "UserGuide" 1439 1440Const C_DOCS_LESS_3_MONTH = "DocumentsYoungerThan3Month" 1441Const C_DOCS_LESS_6_MONTH = "DocumentsYoungerThan6Month" 1442Const C_DOCS_LESS_12_MONTH = "DocumentsYoungerThan12Month" 1443Const C_DOCS_MORE_12_MONTH = "DocumentsOlderThan12Month" 1444 1445'module level vars 1446Dim mnCurStep As Integer 1447Dim mbTrue As Boolean 1448Dim mbFalse As Boolean 1449Dim mLblSteps As String 1450Dim mChbSubdirs As String 1451 1452Dim mWordDocCount As Long 1453Dim mExcelDocCount As Long 1454Dim mPPDocCount As Long 1455 1456Dim mWordTemplateCount As Long 1457Dim mExcelTemplateCount As Long 1458Dim mPPTemplateCount As Long 1459Dim mTotalDocCount As Long 1460Dim mIgnoredDocCount As Long 1461 1462Public VBInst As VBIDE.VBE 1463Dim mbFinishOK As Boolean 1464Dim mbAllowExit As Boolean 1465Private mStrTrue As String 1466Private mLogFilePath As String 1467Private mDebugLevel As String 1468Private mIniFilePath As String 1469Private mbDocCountCurrent As Boolean 1470Private mbDoPrepare As Boolean 1471 1472Dim mDocFiles As CollectedFiles 1473 1474Private Declare Sub InitCommonControls Lib "comctl32" () 1475Private Declare Function GetTickCount Lib "kernel32" () As Long 1476Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 1477 1478Const FORMAT_MESSAGE_FROM_SYSTEM = &H1000 1479 1480Private Declare Function FormatMessage Lib "kernel32" Alias _ 1481 "FormatMessageA" (ByVal dwFlags As Long, lpSource As Long, _ 1482 ByVal dwMessageId As Long, ByVal dwLanguageId As Long, _ 1483 ByVal lpBuffer As String, ByVal nSize As Long, Arguments As Any) As Long 1484 1485 1486Private Const HKEY_CURRENT_USER As Long = &H80000001 1487Private Const HKEY_LOCAL_MACHINE As Long = &H80000002 1488 1489Const WORD_APP = "word" 1490Const EXCEL_APP = "excel" 1491Const PP_APP = "pp" 1492Const REG_KEY_APP_PATH = "Software\Microsoft\Windows\CurrentVersion\App Paths\" 1493 1494 1495Function GetAppPath(myApp As String) As String 1496 Dim myPath As String 1497 1498 If (myApp = WORD_APP) Then 1499 myPath = GetRegistryInfo(HKEY_LOCAL_MACHINE, REG_KEY_APP_PATH & "winword.exe", "") 1500 ElseIf (myApp = EXCEL_APP) Then 1501 myPath = GetRegistryInfo(HKEY_LOCAL_MACHINE, REG_KEY_APP_PATH & "excel.exe", "") 1502 ElseIf (myApp = PP_APP) Then 1503 myPath = GetRegistryInfo(HKEY_LOCAL_MACHINE, REG_KEY_APP_PATH & "powerpnt.exe", "") 1504 Else 1505 MsgBox "Unknown application: " & myApp, vbCritical 1506 Exit Function 1507 End If 1508 1509 If (myPath = "") Then 1510 If (myApp = WORD_APP) Then 1511 myPath = GetRegistryInfo(HKEY_CURRENT_USER, REG_KEY_APP_PATH & "winword.exe", "") 1512 ElseIf (myApp = EXCEL_APP) Then 1513 myPath = GetRegistryInfo(HKEY_CURRENT_USER, REG_KEY_APP_PATH & "excel.exe", "") 1514 ElseIf (myApp = PP_APP) Then 1515 myPath = GetRegistryInfo(HKEY_CURRENT_USER, REG_KEY_APP_PATH & "powerpnt.exe", "") 1516 End If 1517 End If 1518 1519 GetAppPath = myPath 1520End Function 1521 1522Function GetDriverDoc(myApp As String) As String 1523 Dim myPath As String 1524 Dim errStr As String 1525 Dim fso As New FileSystemObject 1526 1527 If (myApp = WORD_APP) Then 1528 myPath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CWORD_DRIVER_FILE) 1529 ElseIf (myApp = EXCEL_APP) Then 1530 myPath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CEXCEL_DRIVER_FILE) 1531 ElseIf (myApp = PP_APP) Then 1532 myPath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CPP_DRIVER_FILE) 1533 Else 1534 MsgBox "Unknown application: " & myApp, vbCritical 1535 GoTo FinalExit 1536 End If 1537 1538 If Not fso.FileExists(myPath) Then 1539 errStr = ReplaceTopic2Tokens(GetResString(ERR_MISSING_WORD_DRIVER), _ 1540 TOPIC_STR, myPath, CR_STR, Chr(13)) 1541 WriteDebug errStr 1542 MsgBox errStr, vbCritical 1543 GoTo FinalExit 1544 End If 1545 1546 GetDriverDoc = myPath 1547 1548FinalExit: 1549 Set fso = Nothing 1550End Function 1551 1552 1553 1554 1555Private Function AutomationMessageText(lCode As Long) As String 1556 Dim sRtrnCode As String 1557 Dim lRet As Long 1558 1559 sRtrnCode = Space$(256) 1560 lRet = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, 0&, lCode, 0&, _ 1561 sRtrnCode, 256&, 0&) 1562 If lRet > 0 Then 1563 AutomationMessageText = Left(sRtrnCode, lRet) 1564 Else 1565 AutomationMessageText = "Error not found." 1566 End If 1567 1568End Function 1569 1570Private Sub btnBrowseDirInput_Click() 1571 Dim folder As String 1572 Dim StartDir As String 1573 1574 If Len(txtInputDir.Text) > 0 Then 1575 StartDir = txtInputDir.Text 1576 End If 1577 1578 folder = BrowseForFolder(Me, GetResString(BROWSE_FOR_DOC_DIR_ID), StartDir) 1579 If Len(folder) = 0 Then 1580 Exit Sub 'User Selected Cancel 1581 End If 1582 txtInputDir.Text = folder 1583 txtInputDir.ToolTipText = folder 1584 1585 If Len(txtOutputDir.Text) = 0 Then 1586 txtOutputDir.Text = folder 1587 txtOutputDir.ToolTipText = folder 1588 End If 1589End Sub 1590 1591Private Sub btnBrowseDirOut_Click() 1592 Dim folder As String 1593 Dim StartDir As String 1594 1595 If Len(txtOutputDir.Text) > 0 Then 1596 StartDir = txtOutputDir.Text 1597 End If 1598 1599 folder = BrowseForFolder(Me, GetResString(BROWSE_FOR_RES_DIR_ID), StartDir) 1600 If Len(folder) = 0 Then 1601 Exit Sub 'User Selected Cancel 1602 End If 1603 txtOutputDir.Text = folder 1604 txtOutputDir.ToolTipText = folder 1605End Sub 1606 1607Private Sub btnPrepare_Click() 1608 On Error GoTo HandleErrors 1609 Dim currentFunctionName As String 1610 currentFunctionName = "btnPrepare_Click" 1611 1612 mbDoPrepare = True 1613 mbAllowExit = True 1614 1615 btnViewResults.Enabled = False 1616 btnRunAnalysis.Enabled = False 1617 btnPrepare.Enabled = False 1618 1619 cmdNav(BTN_CANCEL).Enabled = False 1620 cmdNav(BTN_BACK).Enabled = False 1621 cmdNav(BTN_NEXT).Enabled = False 1622 cmdNav(BTN_FINISH).Enabled = False 1623 btnPrepare.Caption = GetResString(RUNBTN_RUNNING_ID) 1624 1625 Dim str As String 1626 1627 If RunAnalysis(True) Then 1628 cmdNav(BTN_FINISH).Enabled = True 1629 btnRunAnalysis.Enabled = True 1630 btnViewResults.Enabled = True 1631 btnPrepare.Enabled = True 1632 btnViewResults.SetFocus 1633 str = ReplaceTopic2Tokens(GetResString(RID_STR_ENG_OTHER_PREPARE_COMPLETED_PREP_ID), _ 1634 TOPIC_STR, getOutputDir, CR_STR, Chr(13)) 1635 MsgBox str, vbInformation 1636 Else 1637 cmdNav(BTN_FINISH).Enabled = False 1638 btnRunAnalysis.Enabled = True 1639 btnViewResults.Enabled = False 1640 btnPrepare.Enabled = False 1641 End If 1642 1643FinalExit: 1644 mbDoPrepare = False 1645 cmdNav(BTN_CANCEL).Enabled = True 1646 cmdNav(BTN_BACK).Enabled = True 1647 cmdNav(BTN_NEXT).Enabled = False 1648 btnPrepare.Caption = GetResString(PREPAREBTN_START_ID) 1649 Exit Sub 1650 1651HandleErrors: 1652 cmdNav(BTN_FINISH).Enabled = False 1653 btnRunAnalysis.Enabled = True 1654 btnViewResults.Enabled = False 1655 btnPrepare.Enabled = False 1656 1657 WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source 1658 Resume FinalExit 1659End Sub 1660 1661 1662Private Sub cmdNav_Click(Index As Integer) 1663 On Error GoTo HandleError 1664 Dim currentFunctionName As String 1665 currentFunctionName = "cmdNav_Click" 1666 Dim nAltStep As Integer 1667 Dim rc As Long 1668 Dim fso As Scripting.FileSystemObject 1669 1670 Select Case Index 1671 Case BTN_CANCEL 1672 'Copy backup configuration file over existing 1673 If fso Is Nothing Then 1674 Set fso = New Scripting.FileSystemObject 1675 End If 1676 If fso.FileExists(mIniFilePath & CCONFIG_BACKUP_EXT) Then 1677 DeleteFile mIniFilePath 1678 AttemptToCopyFile mIniFilePath & CCONFIG_BACKUP_EXT, mIniFilePath 1679 End If 1680 Set mDocFiles = Nothing 1681 1682 Unload Me 1683 1684 Case BTN_BACK 1685 nAltStep = mnCurStep - 1 1686 SetStep nAltStep, DIR_BACK 1687 1688 Case BTN_NEXT 1689 nAltStep = mnCurStep + 1 1690 SetStep nAltStep, DIR_NEXT 1691 1692 Case BTN_FINISH 1693 If (Not mbAllowExit) Then 1694 Dim str As String 1695 Dim response As Integer 1696 1697 str = ReplaceTopicTokens(GetResString(RID_STR_ENG_ANALYSE_NOT_RUN), CR_STR, Chr(13)) 1698 response = MsgBox(str, vbOKCancel + vbInformation) 1699 If response = vbOK Then ' User chose Ok. 1700 mbAllowExit = True 1701 End If 1702 End If 1703 1704 If (mbAllowExit) Then 1705 DeleteFile mIniFilePath & CCONFIG_BACKUP_EXT 1706 Set mDocFiles = Nothing 1707 Unload Me 1708 End If 1709 End Select 1710 1711FinalExit: 1712 Set fso = Nothing 1713 Exit Sub 1714 1715HandleError: 1716 WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source 1717 1718 Resume FinalExit 1719End Sub 1720 1721Private Sub btnRunAnalysis_Click() 1722 On Error GoTo HandleErrors 1723 Dim bViewResults As Boolean 1724 Dim str As String 1725 Dim response As Integer 1726 1727 btnViewResults.Enabled = False 1728 btnRunAnalysis.Enabled = False 1729 btnPrepare.Enabled = False 1730 bViewResults = False 1731 mbAllowExit = True 1732 1733 cmdNav(BTN_CANCEL).Enabled = False 1734 cmdNav(BTN_BACK).Enabled = False 1735 cmdNav(BTN_NEXT).Enabled = False 1736 cmdNav(BTN_FINISH).Enabled = False 1737 btnRunAnalysis.Caption = GetResString(RUNBTN_RUNNING_ID) 1738 1739 If RunAnalysis(False) Then 1740 cmdNav(BTN_FINISH).Enabled = True 1741 btnRunAnalysis.Enabled = True 1742 btnViewResults.Enabled = True 1743 btnPrepare.Enabled = True 1744 btnViewResults.SetFocus 1745 btnRunAnalysis.Caption = GetResString(RUNBTN_START_ID) 1746 1747 str = ReplaceTopicTokens(GetResString(RID_STR_ENG_ANALYZE_COMPLETED_ID), CR_STR, Chr(13)) 1748 response = MsgBox(str, vbOKCancel + vbInformation) 1749 If response = vbOK Then ' User chose Ok. 1750 bViewResults = True 1751 End If 1752 Else 1753 btnRunAnalysis.Enabled = True 1754 btnViewResults.Enabled = False 1755 btnPrepare.Enabled = False 1756 End If 1757 1758FinalExit: 1759 cmdNav(BTN_CANCEL).Enabled = True 1760 cmdNav(BTN_BACK).Enabled = True 1761 cmdNav(BTN_NEXT).Enabled = False 1762 btnRunAnalysis.Caption = GetResString(RUNBTN_START_ID) 1763 1764 If bViewResults Then 1765 btnViewResults_Click 1766 End If 1767 1768 Exit Sub 1769 1770HandleErrors: 1771 cmdNav(BTN_FINISH).Enabled = False 1772 btnRunAnalysis.Enabled = True 1773 btnViewResults.Enabled = False 1774 btnPrepare.Enabled = False 1775 WriteDebug "Document Analysis: View Analysis Results" & Err.Number & " " & Err.Description & " " & Err.Source 1776 Resume FinalExit 1777End Sub 1778 1779Private Sub btnViewResults_Click() 1780 On Error GoTo HandleErrors 1781 Dim resultsFile As String 1782 Dim fso As New FileSystemObject 1783 Dim str As String 1784 1785 mbAllowExit = True 1786 1787 resultsFile = getOutputDir & "\" & txtResultsName.Text 1788 1789 If GetIniSetting(COUTPUT_TYPE) = COUTPUT_TYPE_XML Or _ 1790 GetIniSetting(COUTPUT_TYPE) = COUTPUT_TYPE_BOTH Then 1791 1792 Dim base As String 1793 Dim path As String 1794 base = fso.GetParentFolderName(resultsFile) & "\" & fso.GetBaseName(txtResultsName.Text) 1795 If CheckWordDocsToAnalyze Then 1796 path = base & "_" & CAPPNAME_WORD & "." & COUTPUT_TYPE_XML 1797 End If 1798 If CheckExcelDocsToAnalyze Then 1799 If path <> "" Then path = path & vbLf 1800 path = path & base & "_" & CAPPNAME_EXCEL & "." & COUTPUT_TYPE_XML 1801 End If 1802 If CheckPPDocsToAnalyze Then 1803 If path <> "" Then path = path & vbLf 1804 path = path & base & "_" & CAPPNAME_POWERPOINT & "." & COUTPUT_TYPE_XML 1805 End If 1806 1807 str = ReplaceTopic2Tokens(GetResString(XML_RESULTS_ID), _ 1808 TOPIC_STR, path, CR_STR, Chr(13)) 1809 WriteDebug str 1810 MsgBox str, vbInformation 1811 If GetIniSetting(COUTPUT_TYPE) = COUTPUT_TYPE_XML Then 1812 Resume FinalExit 1813 End If 1814 End If 1815 1816 If Not fso.FileExists(resultsFile) Then 1817 str = ReplaceTopic2Tokens(GetResString(ERR_MISSING_RESULTS_DOC), _ 1818 TOPIC_STR, resultsFile, CR_STR, Chr(13)) 1819 WriteDebug str 1820 MsgBox str, vbCritical 1821 Resume FinalExit 1822 End If 1823 1824 Dim xl As Excel.application 1825 Set xl = New Excel.application 1826 xl.Visible = True 1827 xl.Workbooks.Open resultsFile 1828 1829FinalExit: 1830 Set xl = Nothing 1831 Set fso = Nothing 1832 1833 Exit Sub 1834HandleErrors: 1835 WriteDebug "Document Analysis: View Analysis Results" & Err.Number & " " & Err.Description & " " & Err.Source 1836End Sub 1837 1838Private Sub Form_Activate() 1839 Dim currentFunctionName As String 1840 Dim missingFile As String 1841 currentFunctionName = "Form_Activate" 1842 On Error GoTo HandleErrors 1843 1844 If Not CheckNeededFiles(missingFile) Then 1845 Dim str As String 1846 str = ReplaceTopic2Tokens(GetResString(ERR_MISSING_WORD_DRIVER), _ 1847 TOPIC_STR, missingFile, CR_STR, Chr(13)) 1848 WriteDebug str 1849 MsgBox str, vbCritical 1850 1851 End 'Exit application - some needed files are missing 1852 End If 1853 1854FinalExit: 1855 Exit Sub 1856 1857HandleErrors: 1858 WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source 1859 GoTo FinalExit 1860End Sub 1861 1862Private Sub Form_Initialize() 1863 Dim currentFunctionName As String 1864 currentFunctionName = "Form_Initialize" 1865 On Error GoTo ErrorHandler 1866 Call InitCommonControls 'Use Windows XP Visual Style 1867 1868FinalExit: 1869 Exit Sub 1870 1871ErrorHandler: 1872 WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source 1873 GoTo FinalExit 1874End Sub 1875 1876Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) 1877 If KeyCode = vbKeyF1 Then 1878 'cmdNav_Click BTN_HELP 1879 End If 1880End Sub 1881 1882Private Sub Form_Load() 1883 Const COS_CHECK = "oscheck" 1884 1885 On Error GoTo HandleErrors 1886 Dim currentFunctionName As String 1887 currentFunctionName = "Form_Load" 1888 1889 Dim fso As New FileSystemObject 1890 Dim i As Integer 1891 'init all vars 1892 mbFinishOK = False 1893 mbTrue = True 1894 mbFalse = False 1895 1896 mLogFilePath = GetLogFilePath 1897 mIniFilePath = GetIniFilePath 1898 mbDocCountCurrent = False 1899 mbDoPrepare = False 1900 mbAllowExit = False 1901 1902 'Check OS before running 1903 Dim bOSCheck As Boolean 1904 bOSCheck = IIf(GetIniSetting(COS_CHECK) = "False", False, True) 1905 1906 If bOSCheck Then 1907 If Not IsWin98Plus Then 1908 Dim str As String 1909 Dim winVer As RGB_WINVER 1910 str = ReplaceTopic2Tokens(GetResString(ERR_SUPPORTED_OSVERSION), _ 1911 TOPIC_STR, GetWinVersion(winVer), CR_STR, Chr(13)) 1912 WriteDebug str 1913 MsgBox str, vbCritical 1914 1915 End 'Exit application - unsupported OS 1916 End If 1917 Else 1918 Err.Clear 1919 WriteDebug "IsWin2000Plus OS Check bypassed by analysis.ini oscheck=False setting" 1920 End If 1921 1922 1923 For i = 0 To NUM_STEPS - 1 1924 fraStep(i).Left = -10000 1925 Next 1926 1927 'Load All string info for Form 1928 LoadResStrings Me 1929 1930 frmWizard.Caption = ReplaceTopicTokens(GetResString(TITLE_ID), CPRODUCTNAME_STR, _ 1931 GetResString(PRODUCTNAME_ID)) 1932 lblIntroduction1.Caption = ReplaceTopicTokens(GetResString(INTRO1_ID), CPRODUCTNAME_STR, _ 1933 GetResString(PRODUCTNAME_ID)) 1934 mLblSteps = GetResString(LBL_STEPS_ID) 1935 mChbSubdirs = GetResString(CHK_SUBDIRS_ID) 1936 1937 ' Setup Doc Preparation specific strings 1938 If gBoolPreparation Then 1939 ' Steps 1940 lblStep1_4.Caption = GetResString(RID_STR_ENG_SIDEBAR_ANALYZE_PREP_ID) 1941 lblStep2_4.Caption = GetResString(RID_STR_ENG_SIDEBAR_ANALYZE_PREP_ID) 1942 lblStep3_4.Caption = GetResString(RID_STR_ENG_SIDEBAR_ANALYZE_PREP_ID) 1943 lblStep4_4.Caption = GetResString(RID_STR_ENG_SIDEBAR_ANALYZE_PREP_ID) 1944 1945 ' Preparation - Step 1. Introduction 1946 lblIntroduction1.Caption = ReplaceTopicTokens(GetResString(RID_STR_ENG_INTRODUCTION_INTRO1_PREP_ID), CPRODUCTNAME_STR, _ 1947 GetResString(PRODUCTNAME_ID)) 1948 lblIntroduction2.Caption = GetResString(RID_STR_ENG_INTRODUCTION_INTRO2_PREP_ID) 1949 lblIntroduction3.Caption = GetResString(RID_STR_ENG_INTRODUCTION_INTRO3_PREP_ID) 1950 1951 ' Preparation - Step 2. Documents 1952 lblChooseDocs.Caption = GetResString(RID_STR_ENG_DOCUMENTS_CHOOSE_DOCUMENTS_PREP_ID) 1953 lblDocTypes.Caption = GetResString(RID_STR_ENG_DOCUMENTS_CHOOSE_DOC_TYPES_PREP_ID) 1954 'mChbSubdirs = GetResString(RID_STR_ENG_DOCUMENTS_INCLUDE_SUBDIRECTORIES_PREP_ID) 1955 chkIgnoreOld.Caption = GetResString(RID_STR_IGNORE_OLDER_CB_ID) 1956 1957 cbIgnoreOld.Clear 1958 cbIgnoreOld.AddItem (GetResString(RID_STR_IGNORE_OLDER_3_MONTHS_ID)) 1959 cbIgnoreOld.AddItem (GetResString(RID_STR_IGNORE_OLDER_6_MONTHS_ID)) 1960 cbIgnoreOld.AddItem (GetResString(RID_STR_IGNORE_OLDER_12_MONTHS_ID)) 1961 cbIgnoreOld.ListIndex = 0 1962 1963 ' Preparation - Step 3. Results 1964 lblChooseResults.Caption = GetResString(RID_STR_ENG_RESULTS_CHOOSE_OPTIONS_PREP_ID) 1965 txtResultsName.Text = GetResString(RID_STR_ENG_RESULTS_ANALYSIS_XLS_PREP_ID) 1966 1967 'Show Append option 1968 rdbResultsAppend.Visible = True 1969 1970 ' Preparation - Step 4. Analysis 1971 lblSetupDone.Caption = GetResString(RID_STR_ENG_ANALYZE_SETUP_COMPLETE_PREP_ID) 1972 btnPrepare.Visible = True 1973 Else 1974 ' The next line is a work around for a wrong translated string and should be removed 1975 ' when RID_STR_ENG_RESULTS_CHOOSE_OPTIONS has been corrected 1976 lblChooseResults.Caption = GetResString(RID_STR_ENG_RESULTS_CHOOSE_OPTIONS_PREP_ID) 1977 mDefaultPassword = IIf(GetIniSetting(CDEFAULT_PASSWORD) = "", _ 1978 CSTR_TEST_PASSWORD, GetIniSetting(CDEFAULT_PASSWORD)) 1979 End If 1980 1981 SetStep 0, DIR_NEXT 1982 Dim tmpStr As String 1983 1984 'Setup Params 1985 tmpStr = GetIniSetting(CINPUT_DIR) 1986 If tmpStr <> "" Then 1987 txtInputDir.Text = tmpStr 1988 txtInputDir.ToolTipText = tmpStr 1989 End If 1990 tmpStr = GetIniSetting(COUTPUT_DIR) 1991 If tmpStr <> "" Then 1992 If Right(tmpStr, 1) = ":" And Len(tmpStr) = 2 Then 1993 tmpStr = tmpStr & "\" 1994 End If 1995 txtOutputDir.Text = tmpStr 1996 txtOutputDir.ToolTipText = tmpStr 1997 End If 1998 tmpStr = GetIniSetting(CRESULTS_FILE) 1999 If tmpStr <> "" Then txtResultsName.Text = tmpStr 2000 2001 rdbResultsPrompt.value = False 2002 rdbResultsOverwrite.value = False 2003 rdbResultsAppend.value = False 2004 Dim resultsSetting As String 2005 resultsSetting = GetIniSetting(CRESULTS_EXIST) 2006 If resultsSetting = CPROMPT_FILE Then 2007 rdbResultsPrompt.value = True 2008 ElseIf resultsSetting = CAPPEND_FILE Then 2009 rdbResultsAppend.value = True 2010 Else 2011 rdbResultsOverwrite.value = True 2012 End If 2013 2014 chkWordDoc.value = IIf(GetIniSetting(CTYPE_WORDDOC) = CStr(True), vbChecked, 0) 2015 chkWordTemplate.value = IIf(GetIniSetting(CTYPE_WORDDOT) = CStr(True), vbChecked, 0) 2016 chkExcelDoc.value = IIf(GetIniSetting(CTYPE_EXCELDOC) = CStr(True), vbChecked, 0) 2017 chkExcelTemplate.value = IIf(GetIniSetting(CTYPE_EXCELDOT) = CStr(True), vbChecked, 0) 2018 chkPPDoc.value = IIf(GetIniSetting(CTYPE_PPDOC) = CStr(True), vbChecked, 0) 2019 chkPPTemplate.value = IIf(GetIniSetting(CTYPE_PPDOT) = CStr(True), vbChecked, 0) 2020 chkIncludeSubdirs.value = IIf(GetIniSetting(CINCLUDE_SUBDIRS) = CStr(True), vbChecked, 0) 2021 mDebugLevel = IIf(GetIniSetting(CDEBUG_LEVEL) = "", CDEBUG_LEVEL_DEFAULT, GetIniSetting(CDEBUG_LEVEL)) 2022 chkIgnoreOld.value = IIf(GetIniSetting(CIGNORE_OLD_DOCS) = CStr(True), vbChecked, 0) 2023 2024 mIssueLimit = IIf(GetIniSetting(CISSUE_LIMIT) = "", CISSUE_LIMIT_DAW, GetIniSetting(CISSUE_LIMIT)) 2025 If (mIssueLimit <= 3) Then 2026 cbIgnoreOld.ListIndex = 0 2027 ElseIf (mIssueLimit <= 6) Then 2028 cbIgnoreOld.ListIndex = 1 2029 Else 2030 cbIgnoreOld.ListIndex = 2 2031 End If 2032 2033 'Always ensure at least one doc type is selected on startup 2034 If (chkWordDoc.value <> vbChecked) And _ 2035 (chkWordTemplate.value <> vbChecked) And _ 2036 (chkExcelDoc.value <> vbChecked) And _ 2037 (chkExcelTemplate.value <> vbChecked) And _ 2038 (chkPPDoc.value <> vbChecked) And _ 2039 (chkPPTemplate.value <> vbChecked) Then 2040 2041 chkWordDoc.value = vbChecked 2042 End If 2043 2044FinalExit: 2045 Set fso = Nothing 2046 Exit Sub 2047 2048HandleErrors: 2049 WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source 2050 Resume FinalExit 2051End Sub 2052 2053Private Sub SetStep(nStep As Integer, nDirection As Integer) 2054 On Error GoTo HandleError 2055 Const driveTypeIsCDROM = 4 2056 Dim val As String 2057 Dim fso As Scripting.FileSystemObject 2058 Set fso = New Scripting.FileSystemObject 2059 Dim drive 2060 2061 2062 mbDocCountCurrent = False 2063 2064 Select Case nStep 2065 Case STEP_INTRO 2066 'MsgBox "Enter Intro" 2067 Case STEP_1 2068 'Leave Introduction 2069 'Workaround - resource bug for SubDir checkbox, have to set it explicitly 2070 chkIncludeSubdirs.Caption = mChbSubdirs 2071 Case STEP_2 2072 'Leave Documents 2073 2074 Set drive = fso.GetDrive(fso.GetDriveName(txtInputDir.Text)) 2075 If drive.DriveType = driveTypeIsCDROM Then 2076 If Not drive.IsReady Then 2077 MsgBox GetResString(ERR_CDROM_NOT_READY), vbCritical 2078 Exit Sub 2079 End If 2080 End If 2081 2082 If txtInputDir.Text = "" Or Not fso.FolderExists(txtInputDir.Text) Then ' fso.FolderExists() has replaced dir() 2083 MsgBox ReplaceTopicTokens(GetResString(ERR_NO_DOC_DIR), _ 2084 CR_STR, Chr(13)), vbCritical 2085 Exit Sub 2086 End If 2087 2088 If Not CheckUserChosenDocsToAnalyze Then 2089 MsgBox GetResString(ERR_NO_DOC_TYPES), vbCritical 2090 Exit Sub 2091 End If 2092 'Expand directory name only without path to full path 2093 txtInputDir.Text = fso.GetAbsolutePathName(txtInputDir.Text) 2094 2095 If txtOutputDir.Text = "" Then 2096 txtOutputDir.Text = txtInputDir.Text 2097 End If 2098 2099 mbFinishOK = False 2100 2101 'Workaround - label resource bug for Steps, have to set it explicitly 2102 Label12(0).Caption = mLblSteps 2103 Label12(5).Caption = mLblSteps 2104 Case STEP_FINISH 2105 'Leave Results 2106 If Not CheckResultsDir(getOutputDir) Then 2107 Exit Sub 2108 End If 2109 2110 'Expand directory name only without path to full path 2111 txtOutputDir.Text = fso.GetAbsolutePathName(txtOutputDir) 2112 2113 'Check Results file is there and has a valid extension 2114 If fso.GetBaseName(txtResultsName.Text) = "" Then 2115 txtResultsName.Text = GetResString(SETUP_ANALYSIS_XLS_ID) 2116 End If 2117 txtResultsName.Text = fso.GetBaseName(txtResultsName.Text) & CRESULTS_FILE_EXTENSION 2118 2119 Screen.MousePointer = vbHourglass 2120 DeleteFile mLogFilePath 2121 Set mDocFiles = Nothing 2122 If Not CheckNumberDocsToAnalyze Then 2123 Screen.MousePointer = vbDefault 2124 Exit Sub 2125 End If 2126 2127 Screen.MousePointer = vbDefault 2128 2129 btnRunAnalysis.Enabled = True 2130 2131 If GetNumberOfDocsToAnalyze = 0 Then 2132 btnRunAnalysis.Enabled = False 2133 End If 2134 2135 'Backup configuration 2136 If Not AttemptToCopyFile(mIniFilePath, mIniFilePath & CCONFIG_BACKUP_EXT) Then 2137 Exit Sub 2138 End If 2139 2140 'Save current Wizard Settings 2141 WriteWizardSettingsToLog mIniFilePath 2142 2143 'If results file already exists, enable View and Prepare 2144 If fso.FileExists(getOutputDir & "\" & txtResultsName.Text) Then 2145 btnViewResults.Enabled = True 2146 btnPrepare.Enabled = True 2147 End If 2148 2149 mbFinishOK = True 2150 End Select 2151 2152 'move to new step 2153 fraStep(mnCurStep).Enabled = False 2154 fraStep(nStep).Left = 0 2155 If nStep <> mnCurStep Then 2156 fraStep(mnCurStep).Left = -10000 2157 fraStep(mnCurStep).Enabled = False 2158 End If 2159 fraStep(nStep).Enabled = True 2160 2161 SetNavBtns nStep 2162 Exit Sub 2163 2164FinalExit: 2165 Set fso = Nothing 2166 Set drive = Nothing 2167 Exit Sub 2168 2169HandleError: 2170 Screen.MousePointer = vbDefault 2171 WriteDebug "Document Analysis: SetStep() " & Err.Number & " " & Err.Description & " " & Err.Source 2172 2173 Resume FinalExit 2174End Sub 2175 2176Function CheckResultsDir(resultsDir As String) As Boolean 2177 On Error GoTo HandleError 2178 Dim fso As Scripting.FileSystemObject 2179 Set fso = New Scripting.FileSystemObject 2180 Const driveTypeIsCDROM = 4 2181 Const readOnlyFolderRemainder = 1 2182 Dim drive 2183 CheckResultsDir = False 2184 2185 If resultsDir = "" Then 2186 MsgBox ReplaceTopicTokens(GetResString(ERR_NO_RESULTS_DIRECTORY), _ 2187 CR_STR, Chr(13)), vbCritical 2188 CheckResultsDir = False 2189 Exit Function 2190 End If 2191 2192 Set drive = fso.GetDrive(fso.GetDriveName(resultsDir)) 2193 If drive.DriveType = driveTypeIsCDROM Then 'If CD-ROM Drive Then 2194 Dim Msg1 As String 2195 Msg1 = ReplaceTopic2Tokens(GetResString(ERR_CREATE_FILE), _ 2196 TOPIC_STR, txtResultsName.Text, CR_STR, Chr(13)) 2197 MsgBox Msg1, vbCritical 2198 CheckResultsDir = False 2199 Exit Function 2200 End If 2201 2202 2203 If Not fso.FolderExists(resultsDir) Then 2204 Dim Msg, Style, response 2205 2206 Msg = ReplaceTopicTokens(GetResString(ERR_NO_RES_DIR), CR_STR, Chr(13)) 2207 Style = vbYesNo + vbQuestion + vbDefaultButton1 ' Define buttons. 2208 2209 response = MsgBox(Msg, Style) 2210 If response = vbYes Then ' User chose Yes. 2211 If Not CreateDir(getOutputDir) Then 2212 CheckResultsDir = False 2213 Exit Function 2214 End If 2215 Else ' User chose No. 2216 CheckResultsDir = False 2217 Exit Function 2218 End If 2219 End If 2220 2221 Dim testFile As String 2222 testFile = resultsDir & "\" & fso.GetTempName 2223 Do While fso.FileExists(testFile) 2224 testFile = resultsDir & "\" & fso.GetTempName 2225 Loop 2226 2227 On Error GoTo HandleReadOnly 2228 Dim aText As TextStream 2229 Set aText = fso.CreateTextFile(testFile, False, False) 2230 aText.WriteLine ("Dies ist ein Test.") 2231 aText.Close 2232 fso.DeleteFile (testFile) 2233 2234' GetAttr doesn't work reliable ( returns read only for 'my Documents' and rw for read only network folder 2235' If ((GetAttr(resultsDir) Mod 2) = readOnlyFolderRemainder) Then 'If the attribute is odd then the folder is read-only 2236' MsgBox GetResString(ERR_NO_WRITE_TO_READ_ONLY_FOLDER), vbCritical 2237' CheckResultsDir = False 2238' Exit Function 2239' End If 2240 2241 CheckResultsDir = True 2242 2243 Exit Function 2244HandleError: 2245 WriteDebug "Document Analysis: CheckResultsDir() " & Err.Number & " " & Err.Description & " " & Err.Source 2246 CheckResultsDir = False 2247 Exit Function 2248HandleReadOnly: 2249 Dim str As String 2250 str = ReplaceTopic2Tokens(GetResString(ERR_CREATE_FILE), _ 2251 TOPIC_STR, txtResultsName.Text, CR_STR, Chr(13)) 2252 MsgBox str, vbCritical 2253 CheckResultsDir = False 2254 Exit Function 2255End Function 2256 2257Function CheckUserChosenDocsToAnalyze() As Boolean 2258 CheckUserChosenDocsToAnalyze = Not ((chkWordDoc.value <> vbChecked) And (chkWordTemplate.value <> vbChecked) And _ 2259 (chkExcelDoc.value <> vbChecked) And (chkExcelTemplate.value <> vbChecked) And _ 2260 (chkPPDoc.value <> vbChecked) And (chkPPTemplate.value <> vbChecked)) 2261End Function 2262 2263Function AttemptToCopyFile(Source As String, dest As String) As Boolean 2264 On Error GoTo HandleErrors 2265 Dim fso As Scripting.FileSystemObject 2266 Set fso = New Scripting.FileSystemObject 2267 2268 If fso.FileExists(Source) Then 2269 fso.CopyFile Source, dest 2270 End If 2271 2272 'True if no source or copy succeeded 2273 AttemptToCopyFile = True 2274 2275FinalExit: 2276 Set fso = Nothing 2277 Exit Function 2278 2279HandleErrors: 2280 AttemptToCopyFile = False 2281 Dim str As String 2282 str = ReplaceTopic2Tokens(GetResString(ERR_CREATE_FILE), _ 2283 TOPIC_STR, mIniFilePath & CCONFIG_BACKUP_EXT, CR_STR, Chr(13)) 2284 Resume FinalExit 2285 2286End Function 2287 2288Function CreateDir(dir As String) As Boolean 2289 On Error GoTo HandleErrors 2290 Dim fso As Scripting.FileSystemObject 2291 Set fso = New Scripting.FileSystemObject 2292 2293 fso.CreateFolder (dir) 2294 2295 CreateDir = True 2296 2297FinalExit: 2298 Set fso = Nothing 2299 Exit Function 2300 2301HandleErrors: 2302 Dim str As String 2303 str = ReplaceTopic2Tokens(GetResString(ERR_CREATE_DIR), _ 2304 TOPIC_STR, dir, CR_STR, Chr(13)) 2305 Select Case Err.Number 2306 Case 76 2307 WriteDebug str 2308 MsgBox str, vbCritical 2309 CreateDir = False 2310 Case 58 2311 'Don't care if it exists already 2312 CreateDir = True 2313 Case Else 2314 WriteDebug str 2315 MsgBox str, vbCritical 2316 CreateDir = False 2317 End Select 2318 Resume FinalExit 2319 2320End Function 2321Private Sub SetNavBtns(nStep As Integer) 2322 mnCurStep = nStep 2323 2324 If mnCurStep = 0 Then 2325 cmdNav(BTN_BACK).Enabled = False 2326 cmdNav(BTN_NEXT).Enabled = True 2327 ElseIf mnCurStep = NUM_STEPS - 1 Then 2328 cmdNav(BTN_NEXT).Enabled = False 2329 cmdNav(BTN_BACK).Enabled = True 2330 Else 2331 cmdNav(BTN_BACK).Enabled = True 2332 cmdNav(BTN_NEXT).Enabled = True 2333 End If 2334 2335 If mbFinishOK Then 2336 cmdNav(BTN_FINISH).Enabled = True 2337 Else 2338 cmdNav(BTN_FINISH).Enabled = False 2339 End If 2340End Sub 2341Function CheckForSupportedApp(app As String, lowerVerLimit As Long) As Boolean 2342 Dim appRegStr As String 2343 Dim appVer As Long 2344 appRegStr = GetRegistryInfo(HKEY_CLASSES_ROOT, app & ".Application\CurVer", "") 2345 appVer = val(Right(appRegStr, Len(appRegStr) - Len(app & ".Application."))) 2346 If appVer >= lowerVerLimit Then 2347 CheckForSupportedApp = True 2348 Else 2349 CheckForSupportedApp = False 2350 End If 2351End Function 2352Function GetAppVersion(app As String) As Long 2353 Dim appRegStr As String 2354 Dim appVer As Long 2355 appRegStr = GetRegistryInfo(HKEY_CLASSES_ROOT, app & ".Application\CurVer", "") 2356 GetAppVersion = val(Right(appRegStr, Len(appRegStr) - Len(app & ".Application."))) 2357End Function 2358Function GetInstalledApp(app As String) As String 2359 GetInstalledApp = GetRegistryInfo(HKEY_CLASSES_ROOT, app & ".Application\CurVer", "") 2360End Function 2361 2362Sub WriteInfoToApplicationLog(wordAppStr As String, excelAppStr As String, ppAppStr As String) 2363 On Error GoTo HandleErrors 2364 Dim currentFunctionName As String 2365 currentFunctionName = "WriteInfoToApplicationLog" 2366 2367 Dim userLCID As Long 2368 userLCID = GetUserDefaultLCID() 2369 Dim sysLCID As Long 2370 sysLCID = GetSystemDefaultLCID() 2371 2372 WriteToLog CWORD_VERSION, IIf(wordAppStr <> "", wordAppStr, CNOT_INSTALLED) 2373 WriteToLog CEXCEL_VERSION, IIf(excelAppStr <> "", excelAppStr, CNOT_INSTALLED) 2374 WriteToLog CPOWERPOINT_VERSION, IIf(ppAppStr <> "", ppAppStr, CNOT_INSTALLED) 2375 2376 WriteToLog CUSER_LOCALE_INFO, _ 2377 "langid: " & GetUserLocaleInfo(userLCID, LOCALE_ILANGUAGE) & ": " & _ 2378 GetUserLocaleInfo(userLCID, LOCALE_SENGLANGUAGE) & _ 2379 "-" & GetUserLocaleInfo(userLCID, LOCALE_SENGCOUNTRY) & _ 2380 " abrv: " & GetUserLocaleInfo(userLCID, LOCALE_SISO639LANGNAME) & _ 2381 "-" & GetUserLocaleInfo(userLCID, LOCALE_SISO3166CTRYNAME) & _ 2382 " sdate: " & GetUserLocaleInfo(userLCID, LOCALE_SSHORTDATE) 2383 2384 WriteToLog CSYS_LOCALE_INFO, _ 2385 "langid: " & GetUserLocaleInfo(sysLCID, LOCALE_ILANGUAGE) & ": " & _ 2386 GetUserLocaleInfo(sysLCID, LOCALE_SENGLANGUAGE) & _ 2387 "-" & GetUserLocaleInfo(sysLCID, LOCALE_SENGCOUNTRY) & _ 2388 " abrv: " & GetUserLocaleInfo(sysLCID, LOCALE_SISO639LANGNAME) & _ 2389 "-" & GetUserLocaleInfo(sysLCID, LOCALE_SISO3166CTRYNAME) & _ 2390 " sdate: " & GetUserLocaleInfo(userLCID, LOCALE_SSHORTDATE) 2391 2392 Dim myWinVer As RGB_WINVER 2393 GetWinVersion myWinVer 2394 WriteToLog CWINVERSION, myWinVer.VersionName & " " & myWinVer.VersionNo & _ 2395 " " & myWinVer.ServicePack & _ 2396 " build " & myWinVer.BuildNo 2397 WriteToLog CNUMBER_TOTAL_DOCS, CStr(mTotalDocCount) 2398 WriteToLog CNUMBER_DOCS_DOC, CStr(mWordDocCount) 2399 WriteToLog CNUMBER_TEMPLATES_DOT, CStr(mWordTemplateCount) 2400 WriteToLog CNUMBER_DOCS_XLS, CStr(mExcelDocCount) 2401 WriteToLog CNUMBER_TEMPLATES_XLT, CStr(mExcelTemplateCount) 2402 WriteToLog CNUMBER_DOCS_PPT, CStr(mPPDocCount) 2403 WriteToLog CNUMBER_TEMPLATES_POT, CStr(mPPTemplateCount) 2404FinalExit: 2405 Exit Sub 2406 2407HandleErrors: 2408 WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source 2409 Resume FinalExit 2410End Sub 2411 2412Function CheckTemplatePath(sMigrationResultsTemplatePath As String, fso As FileSystemObject) As Boolean 2413 If Not fso.FileExists(sMigrationResultsTemplatePath) Then 2414 Dim str As String 2415 str = ReplaceTopic2Tokens(GetResString(ERR_MISSING_RESULTS_TEMPLATE), _ 2416 TOPIC_STR, sMigrationResultsTemplatePath, CR_STR, Chr(13)) 2417 WriteDebug str 2418 MsgBox str, vbCritical 2419 CheckTemplatePath = False 2420 Else 2421 CheckTemplatePath = True 2422 End If 2423End Function 2424 2425Function RunAnalysis(bDoPrepare) As Boolean 2426 On Error GoTo HandleErrors 2427 Dim currentFunctionName As String 2428 currentFunctionName = "RunAnalysis" 2429 Dim tstart As Single 'timer var for this routine only 2430 Dim tend As Single 'timer var for this routine only 2431 Dim fso As New FileSystemObject 2432 Dim wordAppStr As String 2433 Dim excelAppStr As String 2434 Dim ppAppStr As String 2435 Dim sMigrationResultsTemplatePath As String 2436 Dim startDate As Variant 2437 Dim bSuccess 2438 2439 bSuccess = True 2440 startDate = Now 2441 tstart = GetTickCount() 2442 2443 app.OleRequestPendingMsgText = GetResString(RUNBTN_RUNNING_ID) 2444 app.OleRequestPendingMsgTitle = frmWizard.Caption 2445 2446 wordAppStr = GetInstalledApp(CAPPNAME_WORD) 2447 excelAppStr = GetInstalledApp(CAPPNAME_EXCEL) 2448 ppAppStr = GetInstalledApp(CAPPNAME_POWERPOINT) 2449 'Write locale, version info and settings to the Application log 2450 WriteInfoToApplicationLog wordAppStr, excelAppStr, ppAppStr 2451 2452 'Check for template 2453 sMigrationResultsTemplatePath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CRESULTS_TEMPLATE_FILE) 2454 If Not CheckTemplatePath(sMigrationResultsTemplatePath, fso) Then 2455 bSuccess = False 2456 GoTo FinalExit 2457 End If 2458 2459 'Check for installed Apps 2460 If Not CheckInstalledApps(wordAppStr, excelAppStr, ppAppStr) Then 2461 bSuccess = False 2462 GoTo FinalExit 2463 End If 2464 2465 If bDoPrepare Then 2466 'Show MsgBox ( to give apps some time to quit ) 2467 Dim strMsgBox As String 2468 Dim response As Integer 2469 2470 strMsgBox = ReplaceTopic2Tokens(GetResString(RID_STR_ENG_OTHER_PREPARE_PROMPT_PREP_ID), _ 2471 TOPIC_STR, getOutputDir & "\" & txtResultsName.Text, TOPIC2_STR, getOutputDir) 2472 strMsgBox = ReplaceTopicTokens(strMsgBox, CR_STR, Chr(13)) 2473 response = MsgBox(strMsgBox, Buttons:=vbOKCancel + vbInformation) 2474 2475 If response <> vbOK Then 2476 bSuccess = False 2477 GoTo FinalExit 2478 End If 2479 End If 2480 2481 'Write Wizard Setting to Application log 2482 WriteWizardSettingsToLog mLogFilePath 2483 2484 'Write to Analysis ini file - used by driver docs 2485 WriteCommonParamsToLog sMigrationResultsTemplatePath, mLogFilePath, mIniFilePath, fso 2486 2487 Screen.MousePointer = vbHourglass 2488 ' Doc Counts are setup by CheckNumberDocsToAnalyze() when user moves to Analysis Panel 2489 ' Takes account of user Options selected and inspects source directory 2490 Dim analysisAborted As Boolean 2491 analysisAborted = False 2492 2493 SetupInputVariables mLogFilePath, fso 2494 2495 Load ShowProgress 2496 Call ShowProgress.SP_Init(mDocFiles.WordFiles.count + _ 2497 mDocFiles.ExcelFiles.count + _ 2498 mDocFiles.PowerPointFiles.count) 2499 2500 Dim myOffset As Long 2501 myOffset = 0 2502 If (mDocFiles.WordFiles.count > 0) Then 2503 bSuccess = AnalyseList(mDocFiles.WordFiles, "word", mIniFilePath, myOffset, analysisAborted) 2504 'bSuccess = RunWordAnalysis(sMigrationResultsTemplatePath, mLogFilePath, fso) 2505 End If 2506 2507 myOffset = mDocFiles.WordFiles.count 2508 If ((mDocFiles.ExcelFiles.count > 0) And (Not analysisAborted)) Then 2509 bSuccess = bSuccess And _ 2510 AnalyseList(mDocFiles.ExcelFiles, "excel", mIniFilePath, myOffset, analysisAborted) 2511 'bSuccess = RunExcelAnalysis(sMigrationResultsTemplatePath, mLogFilePath, fso) 2512 End If 2513 2514 myOffset = myOffset + mDocFiles.ExcelFiles.count 2515 If ((mDocFiles.PowerPointFiles.count > 0) And (Not analysisAborted)) Then 2516 bSuccess = bSuccess And _ 2517 AnalyseList(mDocFiles.PowerPointFiles, "pp", mIniFilePath, myOffset, analysisAborted) 2518 'bSuccess = RunPPAnalysis(sMigrationResultsTemplatePath, mLogFilePath, fso) 2519 End If 2520 2521 SetupInputVariables mLogFilePath, fso 2522 2523 tend = GetTickCount() 2524 WriteToLog CELAPSED_TIME, (FormatNumber((tend - tstart) / 1000, 0) & " seconds: ") & _ 2525 (FormatNumber((tend - tstart), 0) & " miliseconds") 2526 2527FinalExit: 2528 Unload ShowProgress 2529 Screen.MousePointer = vbDefault 2530 WriteToLog CSTART_TIME, CDate(startDate) 2531 WriteToLog CEND_TIME, Now 2532 Set fso = Nothing 2533 2534 RunAnalysis = bSuccess 2535 Exit Function 2536 2537HandleErrors: 2538 bSuccess = False 2539 WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source 2540 Resume FinalExit 2541End Function 2542 2543Function CheckInstalledApps(wordAppStr As String, excelAppStr As String, ppAppStr As String) As Boolean 2544 On Error GoTo HandleErrors 2545 Dim currentFunctionName As String 2546 Dim str As String 2547 currentFunctionName = "CheckInstalledApps" 2548 2549 Dim missingInstalledApps As String 2550 Dim unsupportedApps As String 2551 Dim runningApps As String 2552 Dim bSuccess As Boolean 2553 2554 bSuccess = False 2555 2556 If mWordDocCount > 0 Or mWordTemplateCount > 0 Then 2557 If wordAppStr = "" Then 'Word not installed 2558 missingInstalledApps = CAPPNAME_WORD 2559 ElseIf Not CheckForSupportedApp(CAPPNAME_WORD, CSUPPORTED_VERSION) Then 2560 unsupportedApps = CAPPNAME_WORD 2561 ElseIf IsOfficeAppRunning(CAPPNAME_WORD) Then 2562 runningApps = CAPPNAME_WORD 2563 End If 2564 End If 2565 2566 If excelAppStr = "" Then 2567 If missingInstalledApps <> "" Then missingInstalledApps = missingInstalledApps & ", " 2568 missingInstalledApps = missingInstalledApps & CAPPNAME_EXCEL 2569 ElseIf Not CheckForSupportedApp(CAPPNAME_EXCEL, CSUPPORTED_VERSION) Then 2570 If unsupportedApps <> "" Then unsupportedApps = unsupportedApps & ", " 2571 unsupportedApps = unsupportedApps & CAPPNAME_EXCEL 2572 ElseIf IsOfficeAppRunning(CAPPNAME_EXCEL) Then 2573 If runningApps <> "" Then runningApps = runningApps & ", " 2574 runningApps = runningApps & CAPPNAME_EXCEL 2575 End If 2576 2577 If mPPDocCount > 0 Or mPPTemplateCount > 0 Then 2578 If ppAppStr = "" Then 'PP not installed 2579 If missingInstalledApps <> "" Then missingInstalledApps = missingInstalledApps & ", " 2580 missingInstalledApps = missingInstalledApps & CAPPNAME_POWERPOINT 2581 ElseIf Not CheckForSupportedApp(CAPPNAME_POWERPOINT, CSUPPORTED_VERSION) Then 2582 If unsupportedApps <> "" Then unsupportedApps = unsupportedApps & ", " 2583 unsupportedApps = unsupportedApps & CAPPNAME_POWERPOINT 2584 ElseIf IsOfficeAppRunning(CAPPNAME_POWERPOINT) Then 2585 If runningApps <> "" Then runningApps = runningApps & ", " 2586 runningApps = runningApps & CAPPNAME_POWERPOINT 2587 End If 2588 End If 2589 2590 If missingInstalledApps <> "" Then 2591 str = ReplaceTopic2Tokens(GetResString(ERR_NOT_INSTALLED), _ 2592 TOPIC_STR, missingInstalledApps, CR_STR, Chr(13)) 2593 WriteDebug str 2594 MsgBox str, vbCritical 2595 GoTo FinalExit 2596 End If 2597 2598 If unsupportedApps <> "" Then 2599 str = ReplaceTopic2Tokens(GetResString(ERR_SUPPORTED_VERSION), _ 2600 TOPIC_STR, unsupportedApps, CR_STR, Chr(13)) 2601 WriteDebug str 2602 MsgBox str, vbCritical 2603 GoTo FinalExit 2604 End If 2605 2606 If runningApps <> "" Then 2607 str = ReplaceTopic2Tokens(GetResString(ERR_APPLICATION_IN_USE), _ 2608 TOPIC_STR, runningApps, CR_STR, Chr(13)) 2609 WriteDebug str 2610 MsgBox str, vbCritical 2611 GoTo FinalExit 2612 End If 2613 2614 'Check for Excel automation server 2615 If CheckForExcel Then 2616 str = ReplaceTopicTokens(GetResString(ERR_EXCEL_OPEN), _ 2617 CR_STR, Chr(13)) 2618 WriteDebug str 2619 MsgBox str, vbCritical 2620 bSuccess = False 2621 GoTo FinalExit 2622 End If 2623 2624 bSuccess = True 2625 2626FinalExit: 2627 CheckInstalledApps = bSuccess 2628 Exit Function 2629 2630HandleErrors: 2631 bSuccess = False 2632 WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source 2633 Resume FinalExit 2634End Function 2635 2636Function RunPPAnalysis(resultsTemplate As String, logFile As String, fsObject As FileSystemObject) As Boolean 2637'DV: do we need this? get some error handling ideas here 2638 On Error GoTo HandleErrors 2639 Dim currentFunctionName As String 2640 currentFunctionName = "RunPPAnalysis" 2641 Const APP_PP = "PowerPoint" 2642 Dim str As String 2643 Dim bSuccess 2644 bSuccess = False 2645 2646 If (chkPPDoc.value <> vbChecked) And (chkPPTemplate.value <> vbChecked) Then 2647 RunPPAnalysis = True 2648 Exit Function 2649 End If 2650 2651 Dim sPPDriverDocPath As String 2652 2653 sPPDriverDocPath = fsObject.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CPP_DRIVER_FILE) 2654 If Not fsObject.FileExists(sPPDriverDocPath) Then 2655 str = ReplaceTopic2Tokens(GetResString(ERR_MISSING_PP_DRIVER), _ 2656 TOPIC_STR, sPPDriverDocPath, CR_STR, Chr(13)) 2657 WriteDebug str 2658 MsgBox str, vbCritical 2659 bSuccess = False 2660 GoTo FinalExit 2661 End If 2662 2663 Dim pp As PowerPoint.application 2664 Dim po As Object 2665 Dim aPres As PowerPoint.Presentation 2666 Dim RegValue As Long 2667 Set po = GetObject(sPPDriverDocPath) 2668 Set pp = po.application 2669 2670 If val(pp.Version) < CSUPPORTED_VERSION Then 2671 str = ReplaceTopic2Tokens(GetResString(ERR_SUPPORTED_VERSION), _ 2672 TOPIC_STR, pp.Version, CR_STR, Chr(13)) 2673 WriteDebug str 2674 MsgBox str, vbCritical 2675 bSuccess = False 2676 GoTo FinalExit 2677 End If 2678 2679 If Not CheckForAccesToPPVBProject(pp, aPres) Then 2680 RegValue = -1 2681 If Not GiveAccessToMacroProject(APP_PP, pp.Version, RegValue) Then 2682 Dim Style, response 2683 str = ReplaceTopic2Tokens(GetResString(ERR_NO_ACCESS_TO_VBPROJECT), _ 2684 TOPIC_STR, CAPPNAME_POWERPOINT, CR_STR, Chr(13)) 2685 WriteDebug str 2686 Style = vbYesNo + vbQuestion + vbDefaultButton1 2687 2688 response = MsgBox(str, Style) 2689 If response <> vbYes Then 2690 bSuccess = False 2691 GoTo FinalExit 2692 End If 2693 End If 2694 End If 2695 2696 Set aPres = pp.Presentations(1) 2697 Dim ppSlideHidden As PowerPoint.Slide 2698 Set ppSlideHidden = aPres.Slides(2) 2699 2700 'Setup Input Variables 2701 'SetupInputVariables resultsTemplate, logFile, fsObject, CAPPNAME_POWERPOINT 2702 2703 'Run PowerPoint Analysis 2704 pp.Run (fsObject.GetFileName(CBASE_RESOURCE_DIR & "\" & CPP_DRIVER_FILE) & "!AnalysisDriver.AnalyseDirectory") 2705 2706 bSuccess = True 2707 2708FinalExit: 2709 'Cannot seem to close it down from VB 2710 'Workaround is to close it in macro 2711 ' 2712 'If Not aPres Is Nothing Then 2713 ' aPres.Saved = msoTrue 2714 'End If 2715 'If Not pp Is Nothing Then pp.Quit 2716 2717 'Swallow error as we are closing down PP from macro 2718 'Does not seem to be possible to close it down from VB 2719 On Error Resume Next 2720 If RegValue <> -1 Then 2721 SetDefaultRegValue APP_PP, pp.Version, RegValue 2722 End If 2723 If RegValue = 0 Then 2724 DeleteRegValue APP_PP, pp.Version 2725 End If 2726 2727 If Not pp Is Nothing Then 2728 pp.Run (fsObject.GetFileName(CBASE_RESOURCE_DIR & "\" & CPP_DRIVER_FILE) & "!ApplicationSpecific.QuitPowerPoint") 2729 End If 2730 2731 2732 Set aPres = Nothing 2733 Set pp = Nothing 2734 Set po = Nothing 2735 2736 RunPPAnalysis = bSuccess 2737 Exit Function 2738 2739HandleErrors: 2740 bSuccess = False 2741 Set pp = Nothing 2742 Dim failedDoc As String 2743 2744 WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source 2745 2746 failedDoc = GetDebug(CAPPNAME_POWERPOINT, CANALYZING) 2747 If failedDoc = "" Or failedDoc = CSTR_ANALYSIS_LOG_DONE Then 2748 str = ReplaceTopic2Tokens(GetResString(ERR_AUTOMATION_FAILURE), _ 2749 TOPIC_STR, CAPPNAME_POWERPOINT, CR_STR, Chr(13)) 2750 Else 2751 str = ReplaceTopic2Tokens(GetResString(ERR_PP_DRIVER_CRASH), _ 2752 TOPIC_STR, failedDoc, CR_STR, Chr(13)) 2753 End If 2754 2755 WriteDebug str 2756 MsgBox str, vbCritical 2757 2758 Resume FinalExit 2759End Function 2760 2761Sub SetupInputVariables(logFile As String, fso As FileSystemObject) 2762 Dim bNewResultsFile As Boolean 2763 2764 bNewResultsFile = CheckCreateNewResultsFile(fso) 2765 2766 WriteToLog CNEW_RESULTS_FILE, IIf(bNewResultsFile, "True", "False"), mIniFilePath 2767 WriteToLog CNEW_RESULTS_FILE, IIf(bNewResultsFile, "True", "False"), logFile 2768End Sub 2769 2770 2771 2772Function RunExcelAnalysis(resultsTemplate As String, logFile As String, fsObject As FileSystemObject) As Boolean 2773 On Error GoTo HandleErrors 2774 Dim currentFunctionName As String 2775 currentFunctionName = "RunExcelAnalysis" 2776 Const APP_EXCEL = "Excel" 2777 Dim str As String 2778 Dim bSuccess 2779 bSuccess = False 2780 2781 If (chkExcelDoc.value <> vbChecked) And (chkExcelTemplate.value <> vbChecked) Then 2782 RunExcelAnalysis = True 2783 Exit Function 2784 End If 2785 2786 Dim xl As Excel.application 2787 Dim aWb As Excel.Workbook 2788 Dim sExcelDriverDocPath As String 2789 Dim RegValue As Long 2790 2791 sExcelDriverDocPath = fsObject.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CEXCEL_DRIVER_FILE) 2792 If Not fsObject.FileExists(sExcelDriverDocPath) Then 2793 str = ReplaceTopic2Tokens(GetResString(ERR_MISSING_EXCEL_DRIVER), _ 2794 TOPIC_STR, sExcelDriverDocPath, CR_STR, Chr(13)) 2795 WriteDebug str 2796 MsgBox str, vbCritical 2797 bSuccess = False 2798 GoTo FinalExit 2799 End If 2800 2801 Set xl = GetExcelInstance 2802 If val(xl.Version) < CSUPPORTED_VERSION Then 2803 str = ReplaceTopic2Tokens(GetResString(ERR_SUPPORTED_VERSION), _ 2804 TOPIC_STR, xl.Version, CR_STR, Chr(13)) 2805 WriteDebug str 2806 MsgBox str, vbCritical 2807 bSuccess = False 2808 GoTo FinalExit 2809 End If 2810 2811 If Not CheckForAccesToExcelVBProject(xl) Then 2812 RegValue = -1 2813 If Not GiveAccessToMacroProject(APP_EXCEL, xl.Version, RegValue) Then 2814 Dim Style, response 2815 str = ReplaceTopic2Tokens(GetResString(ERR_NO_ACCESS_TO_VBPROJECT), _ 2816 TOPIC_STR, CAPPNAME_EXCEL, CR_STR, Chr(13)) 2817 WriteDebug str 2818 Style = vbYesNo + vbQuestion + vbDefaultButton1 2819 2820 response = MsgBox(str, Style) 2821 If response <> vbYes Then 2822 bSuccess = False 2823 GoTo FinalExit 2824 End If 2825 End If 2826 End If 2827 2828 Set aWb = xl.Workbooks.Open(fileName:=sExcelDriverDocPath) 2829 'Setup Input Variables 2830 'SetupInputVariables resultsTemplate, logFile, fsObject, CAPPNAME_EXCEL 2831 2832 'Run Excel Analysis 2833 xl.Run ("AnalysisTool.AnalysisDriver.AnalyseDirectory") 2834 2835 bSuccess = True 2836FinalExit: 2837 If RegValue <> -1 Then 2838 SetDefaultRegValue APP_EXCEL, xl.Version, RegValue 2839 End If 2840 If RegValue = 0 Then 2841 DeleteRegValue APP_EXCEL, xl.Version 2842 End If 2843 2844 If Not aWb Is Nothing Then 2845 If xl.Workbooks.count = 1 Then 2846 xl.Visible = False 2847 End If 2848 aWb.Close (False) 2849 End If 2850 Set aWb = Nothing 2851 2852 If Not xl Is Nothing Then 2853 If xl.Workbooks.count = 0 Then 2854 xl.Quit 2855 End If 2856 End If 2857 2858 Set xl = Nothing 2859 2860 RunExcelAnalysis = bSuccess 2861 Exit Function 2862 2863HandleErrors: 2864 bSuccess = False 2865 Set aWb = Nothing 2866 Set xl = Nothing 2867 Dim failedDoc As String 2868 2869 WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source 2870 2871 failedDoc = GetDebug(CAPPNAME_EXCEL, CANALYZING) 2872 If failedDoc = "" Or failedDoc = CSTR_ANALYSIS_LOG_DONE Then 2873 str = ReplaceTopic2Tokens(GetResString(ERR_AUTOMATION_FAILURE), _ 2874 TOPIC_STR, CAPPNAME_EXCEL, CR_STR, Chr(13)) 2875 Else 2876 str = ReplaceTopic2Tokens(GetResString(ERR_EXCEL_DRIVER_CRASH), _ 2877 TOPIC_STR, failedDoc, CR_STR, Chr(13)) 2878 End If 2879 2880 WriteDebug str 2881 MsgBox str, vbCritical 2882 2883 On Error Resume Next 2884 Resume FinalExit 2885End Function 2886 2887Sub WriteWizardSettingsToLog(path As String) 2888 '### DO NOT USE Boolean True/ False it is loaclised by the OS - use "True"/ "False" 2889 WriteToLog CINPUT_DIR, getInputDir, path 2890 WriteToLog CINCLUDE_SUBDIRS, IIf(chkIncludeSubdirs.value, "True", "False"), path 2891 WriteToLog COUTPUT_DIR, getOutputDir, path 2892 WriteToLog CRESULTS_FILE, txtResultsName.Text, path 2893 2894 WriteToLog CTYPE_WORDDOC, IIf(chkWordDoc.value, "True", "False"), path 2895 WriteToLog CTYPE_WORDDOT, IIf(chkWordTemplate.value, "True", "False"), path 2896 WriteToLog CTYPE_EXCELDOC, IIf(chkExcelDoc.value, "True", "False"), path 2897 WriteToLog CTYPE_EXCELDOT, IIf(chkExcelTemplate.value, "True", "False"), path 2898 WriteToLog CTYPE_PPDOC, IIf(chkPPDoc.value, "True", "False"), path 2899 WriteToLog CTYPE_PPDOT, IIf(chkPPTemplate.value, "True", "False"), path 2900 2901 Dim resultsSetting As String 2902 If rdbResultsPrompt.value Then 2903 resultsSetting = CPROMPT_FILE 2904 ElseIf rdbResultsAppend.value Then 2905 resultsSetting = CAPPEND_FILE 2906 Else 2907 resultsSetting = COVERWRITE_FILE 2908 End If 2909 WriteToLog CRESULTS_EXIST, resultsSetting, path 2910 2911 WriteToLog CIGNORE_OLD_DOCS, IIf(chkIgnoreOld.value, "True", "False"), path 2912 WriteToLog CISSUE_LIMIT, CStr(mIssueLimit), path 2913 2914 'WriteToLog CVERSION, Version, path 2915End Sub 2916 2917Sub WriteCommonParamsToLog(resultsTemplate As String, logFile As String, path As String, fso As Scripting.FileSystemObject) 2918 WriteToLog CLOG_FILE, logFile, path 2919 WriteToLog CRESULTS_TEMPLATE, resultsTemplate, path 2920 WriteToLog CDEBUG_LEVEL, CLng(mDebugLevel), path 2921 WriteToLog CDOPREPARE, IIf(mbDoPrepare, "True", "False"), path 2922 WriteToLog CTITLE, frmWizard.Caption, path 2923 WriteToLog CLAST_CHECKPOINT, "" 2924 WriteToLog CNEXT_FILE, "" 2925 WriteToLog C_ABORT_ANALYSIS, "" 2926End Sub 2927 2928Function GetNumberOfDocsToAnalyze() As Long 2929 Dim count As Long 2930 2931 count = 0 2932 2933 If CheckWordDocsToAnalyze Then 2934 count = mWordDocCount + mWordTemplateCount 2935 End If 2936 If CheckExcelDocsToAnalyze Then 2937 count = count + mExcelDocCount + mExcelTemplateCount 2938 End If 2939 If CheckPPDocsToAnalyze Then 2940 count = count + mPPDocCount + mPPTemplateCount 2941 End If 2942 2943 GetNumberOfDocsToAnalyze = count 2944End Function 2945 2946Function CheckWordDocsToAnalyze() As Boolean 2947 2948 CheckWordDocsToAnalyze = mbDocCountCurrent And (chkWordDoc.value = vbChecked And mWordDocCount > 0) Or _ 2949 (chkWordTemplate.value = vbChecked And mWordTemplateCount > 0) 2950End Function 2951 2952Function CheckExcelDocsToAnalyze() As Boolean 2953 CheckExcelDocsToAnalyze = mbDocCountCurrent And (chkExcelDoc.value = vbChecked And mExcelDocCount > 0) Or _ 2954 (chkExcelTemplate.value = vbChecked And mExcelTemplateCount > 0) 2955End Function 2956 2957Function CheckPPDocsToAnalyze() As Boolean 2958 CheckPPDocsToAnalyze = mbDocCountCurrent And (chkPPDoc.value = vbChecked And mPPDocCount > 0) Or _ 2959 (chkPPTemplate.value = vbChecked And mPPTemplateCount > 0) 2960End Function 2961 2962Function CheckNumberDocsToAnalyze() As Boolean 2963 On Error GoTo HandleErrors 2964 Dim currentFunctionName As String 2965 currentFunctionName = "CheckNumberDocsToAnalyze" 2966 2967 Set mDocFiles = New CollectedFiles 2968 2969 Dim docSearchTypes As Collection 2970 Set docSearchTypes = New Collection 2971 2972 mbDocCountCurrent = False 2973 2974 SetupDocSearchTypes docSearchTypes 2975 2976 If (cbIgnoreOld.ListIndex = 0) Then 2977 mIssueLimit = 3 2978 ElseIf (cbIgnoreOld.ListIndex = 1) Then 2979 mIssueLimit = 6 2980 Else 2981 mIssueLimit = 12 2982 End If 2983 2984 If Not mDocFiles.Search(rootDir:=getInputDir, FileSpecs:=docSearchTypes, _ 2985 IncludeSubdirs:=IIf(chkIncludeSubdirs.value, mbTrue, mbFalse), _ 2986 ignoreOld:=IIf(chkIgnoreOld.value, mbTrue, mbFalse), Months:=mIssueLimit) Then 2987 CheckNumberDocsToAnalyze = False 2988 GoTo FinalExit 2989 End If 2990 2991 SetDocCountsFromFileSearch mDocFiles 2992 WriteFileDateCountsToLog mDocFiles 2993 2994 'WriteDocsToAnalyzeToLog mDocFiles 'UNCOMMENT Recovery - want to list out files to analyze 2995 2996 mbDocCountCurrent = True 2997 2998 lblNumDocs.Caption = ReplaceTopicTokens(GetResString(ANALYZE_DOCUMENTS_ID), TOPIC_STR, _ 2999 CStr(mWordDocCount)) 3000 lblNumTemplates.Caption = ReplaceTopicTokens(GetResString(ANALYZE_TEMPLATES_ID), TOPIC_STR, _ 3001 CStr(mWordTemplateCount)) 3002 3003 lblNumXLS.Caption = ReplaceTopicTokens(GetResString(ANALYZE_DOCUMENTS_XLS_ID), TOPIC_STR, _ 3004 CStr(mExcelDocCount)) 3005 lblNumXLT.Caption = ReplaceTopicTokens(GetResString(ANALYZE_TEMPLATES_ID), TOPIC_STR, _ 3006 CStr(mExcelTemplateCount)) 3007 3008 lblNumPPT.Caption = ReplaceTopicTokens(GetResString(ANALYZE_DOCUMENTS_PPT_ID), TOPIC_STR, _ 3009 CStr(mPPDocCount)) 3010 lblNumPOT.Caption = ReplaceTopicTokens(GetResString(ANALYZE_TEMPLATES_ID), TOPIC_STR, _ 3011 CStr(mPPTemplateCount)) 3012 3013 lblTotalNumDocs.Caption = ReplaceTopicTokens(GetResString(ANALYZE_TOTAL_NUM_DOCS_ID), TOPIC_STR, _ 3014 CStr(mTotalDocCount)) 3015 3016 If (mIgnoredDocCount > 0) Then 3017 lblSkippedOld.Caption = ReplaceTopicTokens(GetResString(RID_STR_ENG_ANALYZE_IGNORED_DOCS_ID), _ 3018 TOPIC_STR, CStr(mIgnoredDocCount)) 3019 lblSkippedOld.Visible = True 3020 Else 3021 lblSkippedOld.Visible = False 3022 End If 3023 3024 CheckNumberDocsToAnalyze = True 3025 3026FinalExit: 3027 Set docSearchTypes = Nothing 3028 Exit Function 3029 3030HandleErrors: 3031 WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source 3032 Resume FinalExit 3033End Function 3034 3035Sub SetDocCountsFromFileSearch(myDocFiles As CollectedFiles) 3036 'No Error handling required 3037 mWordDocCount = myDocFiles.DocCount 3038 mWordTemplateCount = myDocFiles.DotCount 3039 mExcelDocCount = myDocFiles.XlsCount 3040 mExcelTemplateCount = myDocFiles.XltCount 3041 mPPDocCount = myDocFiles.PptCount 3042 mPPTemplateCount = myDocFiles.PotCount 3043 mTotalDocCount = mWordDocCount + mWordTemplateCount + mExcelDocCount + mExcelTemplateCount + _ 3044 mPPDocCount + mPPTemplateCount 3045 mIgnoredDocCount = myDocFiles.IgnoredDocCount 3046End Sub 3047 3048Sub SetupDocSearchTypes(docSearchTypes As Collection) 3049 'No Error handling required 3050 If chkWordDoc.value Then docSearchTypes.add ("*.doc") 3051 If chkWordTemplate.value Then docSearchTypes.add ("*.dot") 3052 If chkExcelDoc.value Then docSearchTypes.add ("*.xls") 3053 If chkExcelTemplate.value Then docSearchTypes.add ("*.xlt") 3054 If chkPPDoc.value Then docSearchTypes.add ("*.ppt") 3055 If chkPPTemplate.value Then docSearchTypes.add ("*.pot") 3056End Sub 3057 3058Sub WriteDocsToAnalyzeToLog(myDocFiles As CollectedFiles) 3059 On Error GoTo HandleErrors 3060 Dim currentFunctionName As String 3061 currentFunctionName = "WriteDocsToAnalyzeToLog" 3062 3063 Dim vFileName As Variant 3064 Dim Index As Long 3065 Dim limit As Long 3066 limit = myDocFiles.WordFiles.count 3067 For Index = 1 To limit 3068 vFileName = myDocFiles.WordFiles(Index) 3069 WriteToLog "Doc" & Index, CStr(vFileName), section:=(WIZARD_NAME & "ListFor" & CAPPNAME_WORD) 3070 Next 3071 limit = myDocFiles.ExcelFiles.count 3072 For Index = 1 To limit 3073 vFileName = myDocFiles.ExcelFiles(Index) 3074 WriteToLog "Doc" & Index, CStr(vFileName), section:=(WIZARD_NAME & "ListFor" & CAPPNAME_EXCEL) 3075 Next 3076 limit = myDocFiles.PowerPointFiles.count 3077 For Index = 1 To limit 3078 vFileName = myDocFiles.PowerPointFiles(Index) 3079 WriteToLog "Doc" & Index, CStr(vFileName), section:=(WIZARD_NAME & "ListFor" & CAPPNAME_POWERPOINT) 3080 Next 3081 3082FinalExit: 3083 Exit Sub 3084HandleErrors: 3085 WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source 3086 Resume FinalExit 3087End Sub 3088 3089Sub WriteFileDateCountsToLog(myDocFiles As CollectedFiles) 3090 On Error GoTo HandleErrors 3091 Dim currentFunctionName As String 3092 currentFunctionName = "WriteFileDateCountsToLog" 3093 3094 WriteToLog C_DOCS_LESS_3_MONTH, CStr(myDocFiles.DocsLessThan3Months), mIniFilePath 3095 WriteToLog C_DOCS_LESS_6_MONTH, CStr(myDocFiles.DocsLessThan6Months), mIniFilePath 3096 WriteToLog C_DOCS_LESS_12_MONTH, CStr(myDocFiles.DocsLessThan12Months), mIniFilePath 3097 WriteToLog C_DOCS_MORE_12_MONTH, CStr(myDocFiles.DocsMoreThan12Months), mIniFilePath 3098 3099FinalExit: 3100 Exit Sub 3101HandleErrors: 3102 WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source 3103 Resume FinalExit 3104End Sub 3105 3106 3107Function RunWordAnalysis(resultsTemplate As String, logFile As String, fsObject As FileSystemObject) As Boolean 3108 On Error GoTo HandleErrors 3109 Dim currentFunctionName As String 3110 currentFunctionName = "RunWordAnalysis" 3111 Const APP_WORD = "Word" 3112 Dim str As String 3113 Dim bSuccess 3114 bSuccess = False 3115 3116 Dim wrd As Word.application 3117 Dim aDoc As Word.Document 3118 Dim sWordDriverDocPath As String 3119 Dim RegValue As Long 3120 3121 If (chkWordDoc.value <> vbChecked) And (chkWordTemplate.value <> vbChecked) Then 3122 'No Word doc filters selected 3123 RunWordAnalysis = True 3124 Exit Function 3125 End If 3126 3127 sWordDriverDocPath = fsObject.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CWORD_DRIVER_FILE) 3128 If Not fsObject.FileExists(sWordDriverDocPath) Then 3129 str = ReplaceTopic2Tokens(GetResString(ERR_MISSING_WORD_DRIVER), _ 3130 TOPIC_STR, sWordDriverDocPath, CR_STR, Chr(13)) 3131 WriteDebug str 3132 MsgBox str, vbCritical 3133 bSuccess = False 3134 GoTo FinalExit 3135 End If 3136 3137 Set wrd = New Word.application 3138 If val(wrd.Version) < CSUPPORTED_VERSION Then 3139 str = ReplaceTopic2Tokens(GetResString(ERR_SUPPORTED_VERSION), _ 3140 TOPIC_STR, wrd.Version, CR_STR, Chr(13)) 3141 WriteDebug str 3142 MsgBox str, vbCritical 3143 bSuccess = False 3144 GoTo FinalExit 3145 End If 3146 3147 If Not CheckForAccesToWordVBProject(wrd) Then 3148 RegValue = -1 3149 If Not GiveAccessToMacroProject(APP_WORD, wrd.Version, RegValue) Then 3150 Dim Style, response 3151 str = ReplaceTopic2Tokens(GetResString(ERR_NO_ACCESS_TO_VBPROJECT), _ 3152 TOPIC_STR, CAPPNAME_WORD, CR_STR, Chr(13)) 3153 WriteDebug str 3154 Style = vbYesNo + vbQuestion + vbDefaultButton1 3155 3156 response = MsgBox(str, Style) 3157 If response <> vbYes Then 3158 bSuccess = False 3159 GoTo FinalExit 3160 End If 3161 End If 3162 End If 3163 3164 Set aDoc = wrd.Documents.Open(fileName:=sWordDriverDocPath) 3165 'Clear out any doc vars 3166 Dim MyObj As Variable 3167 For Each MyObj In aDoc.Variables 3168 MyObj.Delete 3169 Next 3170 3171 'Setup Input Variables 3172 'SetupInputVariables resultsTemplate, logFile, fsObject, CAPPNAME_WORD 3173 3174 wrd.Run ("AnalysisTool.AnalysisDriver.AnalyseDirectory") 3175 3176 wrd.Visible = False 3177 bSuccess = True 3178 3179FinalExit: 3180 If RegValue <> -1 Then 3181 SetDefaultRegValue APP_WORD, wrd.Version, RegValue 3182 End If 3183 If RegValue = 0 Then 3184 DeleteRegValue APP_WORD, wrd.Version 3185 End If 3186 If Not aDoc Is Nothing Then aDoc.Close (False) 3187 Set aDoc = Nothing 3188 3189 If Not wrd Is Nothing Then wrd.Quit (False) 3190 Set wrd = Nothing 3191 3192 RunWordAnalysis = bSuccess 3193 Exit Function 3194 3195HandleErrors: 3196 On Error Resume Next 3197 3198 bSuccess = False 3199 Set aDoc = Nothing 3200 Set wrd = Nothing 3201 3202 Dim failedDoc As String 3203 3204 WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source 3205 3206 failedDoc = GetDebug(CAPPNAME_WORD, CANALYZING) 3207 If failedDoc = "" Or failedDoc = CSTR_ANALYSIS_LOG_DONE Then 3208 str = ReplaceTopic2Tokens(GetResString(ERR_AUTOMATION_FAILURE), _ 3209 TOPIC_STR, CAPPNAME_WORD, CR_STR, Chr(13)) 3210 Else 3211 str = ReplaceTopic2Tokens(GetResString(ERR_WORD_DRIVER_CRASH), _ 3212 TOPIC_STR, failedDoc, CR_STR, Chr(13)) 3213 End If 3214 3215 WriteDebug str 3216 MsgBox str, vbCritical 3217 3218 Resume FinalExit 3219End Function 3220 3221Function stripLastBackslash(inputStr As String) As String 3222 Const MIN_DIR_SIZE = 3 3223 On Error GoTo HandleErrors 3224 Dim currentFunctionName As String 3225 currentFunctionName = "stripLastBackslash" 3226 3227 If Len(inputStr) > MIN_DIR_SIZE Then 3228 Dim lastStrChar As String 3229 lastStrChar = Right(inputStr, 1) 3230 If lastStrChar = "\" Then 3231 inputStr = Left(inputStr, Len(inputStr) - 1) 3232 End If 3233 End If 3234 stripLastBackslash = inputStr 3235 3236 Exit Function 3237 3238HandleErrors: 3239 WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source 3240 stripLastBackslash = inputStr 3241End Function 3242 3243Function getInputDir() As String 3244 getInputDir = stripLastBackslash(txtInputDir.Text) 3245End Function 3246 3247Function getOutputDir() As String 3248 Dim tmpStr As String 3249 3250 tmpStr = stripLastBackslash(txtOutputDir.Text) 3251 3252 'Bug when specifying C:\ 3253 If tmpStr <> "" Then 3254 If Right(tmpStr, 1) = "\" Then 3255 tmpStr = Left(tmpStr, Len(tmpStr) - 1) 3256 End If 3257 End If 3258 getOutputDir = tmpStr 3259End Function 3260 3261Function CheckCreateNewResultsFile(fsObject As FileSystemObject) As Boolean 3262 If Not fsObject.FileExists(getOutputDir & "\" & txtResultsName.Text) Then 3263 'No Results File - Create it 3264 CheckCreateNewResultsFile = True 3265 ElseIf rdbResultsAppend.value Then 3266 'Results File exists and user wants to append to it 3267 CheckCreateNewResultsFile = False 3268 Else 3269 'Results File exists and user has elected not to append 3270 CheckCreateNewResultsFile = True 3271 End If 3272End Function 3273 3274Sub DeleteFile(file As String) 3275 On Error GoTo HandleErrors 3276 Dim currentFunctionName As String 3277 currentFunctionName = "DeleteFile" 3278 Dim fso As Scripting.FileSystemObject 3279 Set fso = New Scripting.FileSystemObject 3280 Dim filePath As String 3281 3282 filePath = fso.GetAbsolutePathName(file) 3283 If fso.FileExists(filePath) Then 3284 fso.DeleteFile filePath, True 3285 End If 3286 3287FinalExit: 3288 Set fso = Nothing 3289 Exit Sub 3290 3291HandleErrors: 3292 WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source 3293 Resume FinalExit 3294End Sub 3295 3296Public Property Get Version() As String 3297 Version = app.Major & "." & app.Minor & "." & app.Revision 3298End Property 3299 3300Function GetExcelInstance() As Excel.application 3301 Dim xl As Excel.application 3302 On Error Resume Next 3303 'Try and get an existing instance 3304 Set xl = GetObject(, "Excel.Application") 3305 If Err.Number = 429 Then 3306 Set xl = CreateObject("Excel.Application") 3307 ElseIf Err.Number <> 0 Then 3308 Set xl = Nothing 3309 MsgBox "Error: " & Err.Description 3310 Exit Function 3311 End If 3312 Set GetExcelInstance = xl 3313 Set xl = Nothing 3314End Function 3315 3316Function CheckForAnalysisResultsWorkbook(analysisResultsName As String) As Boolean 3317 On Error GoTo HandleErrors 3318 Dim currentFunctionName As String 3319 currentFunctionName = "CheckForAnalysisResultsWorkbook" 3320 3321 CheckForAnalysisResultsWorkbook = False 3322 3323 Dim xl As Excel.application 3324 Set xl = GetExcelInstance 3325 3326 Dim aWb As Excel.Workbook 3327 For Each aWb In xl.Workbooks 3328 3329 If aWb.Name = analysisResultsName Then 3330 CheckForAnalysisResultsWorkbook = True 3331 Exit For 3332 End If 3333 Next aWb 3334 3335FinalExit: 3336 If Not xl Is Nothing Then 3337 If xl.Workbooks.count = 0 Then 3338 xl.Quit 3339 End If 3340 End If 3341 3342 Set xl = Nothing 3343 3344 Exit Function 3345 3346HandleErrors: 3347 Set xl = Nothing 3348 3349 WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source 3350 Resume FinalExit 3351End Function 3352 3353Function CheckForExcel() As Boolean 3354 On Error GoTo HandleErrors 3355 Dim currentFunctionName As String 3356 currentFunctionName = "CheckForExcel" 3357 3358 CheckForExcel = False 3359 3360 Dim xl As Excel.application 3361 Set xl = GetExcelInstance 3362 3363 3364 If xl.Workbooks.count > 0 Then 3365 CheckForExcel = True 3366 End If 3367 3368FinalExit: 3369 If Not xl Is Nothing Then 3370 If xl.Workbooks.count = 0 Then 3371 xl.Quit 3372 End If 3373 End If 3374 3375 Set xl = Nothing 3376 3377 Exit Function 3378 3379HandleErrors: 3380 Set xl = Nothing 3381 3382 WriteDebug currentFunctionName & " : " & Err.Number & " " & Err.Description & " " & Err.Source 3383 Resume FinalExit 3384End Function 3385 3386Public Function GetIniSetting(key As String) As String 3387 3388 If mIniFilePath = "" Or key = "" Then Exit Function 3389 3390 GetIniSetting = ProfileGetItem(WIZARD_NAME, key, "", mIniFilePath) 3391End Function 3392 3393Sub WriteIniSetting(key As String, value As String) 3394 3395 If mIniFilePath = "" Or key = "" Then Exit Sub 3396 3397 Call WritePrivateProfileString(WIZARD_NAME, key, value, mIniFilePath) 3398End Sub 3399 3400Private Sub lblSetupComplete_Click(Index As Integer) 3401 3402End Sub 3403 3404Private Function CheckNeededFiles(missingFile As String) As Boolean 3405 3406 Dim fso As New FileSystemObject 3407 Dim filePath As String 3408 3409 CheckNeededFiles = False 3410 filePath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CWORD_DRIVER_FILE) 3411 If Not fso.FileExists(filePath) Then 3412 missingFile = filePath 3413 Exit Function 3414 End If 3415 3416 filePath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CEXCEL_DRIVER_FILE) 3417 If Not fso.FileExists(filePath) Then 3418 missingFile = filePath 3419 Exit Function 3420 End If 3421 3422 filePath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CPP_DRIVER_FILE) 3423 If Not fso.FileExists(filePath) Then 3424 missingFile = filePath 3425 Exit Function 3426 End If 3427 3428 filePath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CLAUNCH_DRIVERS_EXE) 3429 If Not fso.FileExists(filePath) Then 3430 missingFile = filePath 3431 Exit Function 3432 End If 3433 3434 filePath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CMSO_KILL_EXE) 3435 If Not fso.FileExists(filePath) Then 3436 missingFile = filePath 3437 Exit Function 3438 End If 3439 3440 filePath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CRESULTS_TEMPLATE_FILE) 3441 If Not fso.FileExists(filePath) Then 3442 missingFile = filePath 3443 Exit Function 3444 End If 3445 3446 filePath = fso.GetAbsolutePathName(CBASE_RESOURCE_DIR & "\" & CRESOURCE_DLL) 3447 If Not fso.FileExists(filePath) Then 3448 missingFile = filePath 3449 Exit Function 3450 End If 3451 3452 CheckNeededFiles = True 3453End Function 3454