1*b1cdbd2cSJim JagielskiAttribute VB_Name = "ApplicationSpecific" 2*b1cdbd2cSJim Jagielski'************************************************************************* 3*b1cdbd2cSJim Jagielski' 4*b1cdbd2cSJim Jagielski' Licensed to the Apache Software Foundation (ASF) under one 5*b1cdbd2cSJim Jagielski' or more contributor license agreements. See the NOTICE file 6*b1cdbd2cSJim Jagielski' distributed with this work for additional information 7*b1cdbd2cSJim Jagielski' regarding copyright ownership. The ASF licenses this file 8*b1cdbd2cSJim Jagielski' to you under the Apache License, Version 2.0 (the 9*b1cdbd2cSJim Jagielski' "License"); you may not use this file except in compliance 10*b1cdbd2cSJim Jagielski' with the License. You may obtain a copy of the License at 11*b1cdbd2cSJim Jagielski' 12*b1cdbd2cSJim Jagielski' http://www.apache.org/licenses/LICENSE-2.0 13*b1cdbd2cSJim Jagielski' 14*b1cdbd2cSJim Jagielski' Unless required by applicable law or agreed to in writing, 15*b1cdbd2cSJim Jagielski' software distributed under the License is distributed on an 16*b1cdbd2cSJim Jagielski' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 17*b1cdbd2cSJim Jagielski' KIND, either express or implied. See the License for the 18*b1cdbd2cSJim Jagielski' specific language governing permissions and limitations 19*b1cdbd2cSJim Jagielski' under the License. 20*b1cdbd2cSJim Jagielski' 21*b1cdbd2cSJim Jagielski'************************************************************************* 22*b1cdbd2cSJim JagielskiOption Explicit 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski'** Issue Categories 25*b1cdbd2cSJim JagielskiPublic Const CID_INFORMATION_REFS = 0 26*b1cdbd2cSJim JagielskiPublic Const CID_CHANGES_AND_REVIEWING = 1 27*b1cdbd2cSJim JagielskiPublic Const CID_CHARTS_TABLES = 2 28*b1cdbd2cSJim JagielskiPublic Const CID_CONTENT_AND_DOCUMENT_PROPERTIES = 3 29*b1cdbd2cSJim JagielskiPublic Const CID_CONTROLS = 4 30*b1cdbd2cSJim JagielskiPublic Const CID_FILTERS = 5 31*b1cdbd2cSJim JagielskiPublic Const CID_FORMAT = 6 32*b1cdbd2cSJim JagielskiPublic Const CID_FUNCTIONS = 7 33*b1cdbd2cSJim JagielskiPublic Const CID_OBJECTS_GRAPHICS = 8 34*b1cdbd2cSJim JagielskiPublic Const CID_PORTABILITY = 9 35*b1cdbd2cSJim JagielskiPublic Const CID_VBA_MACROS = 10 36*b1cdbd2cSJim JagielskiPublic Const CTOTAL_CATEGORIES = 10 37*b1cdbd2cSJim Jagielski 38*b1cdbd2cSJim Jagielski'** Excel - XML Issue and SubIssue strings 39*b1cdbd2cSJim JagielskiPublic Const CSTR_ISSUE_CHANGES_AND_REVIEWING = "ChangesAndReviewing" 40*b1cdbd2cSJim JagielskiPublic Const CSTR_ISSUE_CHARTS_TABLES = "ChartsAndTables" 41*b1cdbd2cSJim JagielskiPublic Const CSTR_ISSUE_CONTROLS = "Controls" 42*b1cdbd2cSJim JagielskiPublic Const CSTR_ISSUE_FUNCTIONS = "Functions" 43*b1cdbd2cSJim JagielskiPublic Const CSTR_ISSUE_OBJECTS_GRAPHICS = "ObjectsAndGraphics" 44*b1cdbd2cSJim Jagielski 45*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_ATTRIBUTES = "CellAttributes" 46*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_DATEDIF = "DATEDIF" 47*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_EMBEDDED_CHART = "EmbeddedChart" 48*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_ERROR_TYPE = "ERROR.TYPE" 49*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_EXTERNAL = "External" 50*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_INFO = "INFO" 51*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_MAX_ROWS_EXCEEDED = "MaximumRowsExceeded" 52*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_MAX_SHEETS_EXCEEDED = "MaximumSheetsExceeded" 53*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_PAGE_SETUP = "PageSetup" 54*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_PASSWORD_PROTECTION = "PasswordProtection" 55*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_PHONETIC = "PHONETIC" 56*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_SHEET_CHART = "SheetChart" 57*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_WORKBOOK_PROTECTION = "WorkbookProtection" 58*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_ZOOM = "Zoom" 59*b1cdbd2cSJim Jagielski 60*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_CHART_COMPLEX = "ChartIssuesComplex" 61*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_CHART_MINOR = "ChartIssuesMinor" 62*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_CHART_PIVOT = "Pivot" 63*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_INVALID_WORKSHEET_NAME = "InvalidWorksheetName" 64*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_DB_QUERY = "DBQuery" 65*b1cdbd2cSJim Jagielski 66*b1cdbd2cSJim Jagielski'** END Excel - XML Issue and SubIssue strings 67*b1cdbd2cSJim Jagielski 68*b1cdbd2cSJim Jagielski 69*b1cdbd2cSJim JagielskiPublic Const CAPPNAME_WORD = "Word" 70*b1cdbd2cSJim Jagielski'Public Const CAPPNAME_WORD_DOC = ".doc" 71*b1cdbd2cSJim Jagielski'Public Const CAPPNAME_WORD_DOT = ".dot" 72*b1cdbd2cSJim Jagielski 73*b1cdbd2cSJim JagielskiPublic Const CAPPNAME_EXCEL = "Excel" 74*b1cdbd2cSJim JagielskiPublic Const CAPPNAME_EXCEL_DOC = ".xls" 75*b1cdbd2cSJim JagielskiPublic Const CAPPNAME_EXCEL_DOT = ".xlt" 76*b1cdbd2cSJim Jagielski 77*b1cdbd2cSJim JagielskiPublic Const CAPPNAME_POWERPOINT = "PowerPoint" 78*b1cdbd2cSJim Jagielski'Public Const CAPPNAME_PP_DOC = ".ppt" 79*b1cdbd2cSJim Jagielski'Public Const CAPPNAME_PP_DOT = ".pot" 80*b1cdbd2cSJim Jagielski 81*b1cdbd2cSJim Jagielski'Public Const CAPP_DOCPROP_LOCATION = "Document" 82*b1cdbd2cSJim JagielskiPublic CAPP_DOCPROP_LOCATION As String 83*b1cdbd2cSJim Jagielski'Public Const CAPP_DOCPROP_LOCATION = "Presentation" 84*b1cdbd2cSJim Jagielski 85*b1cdbd2cSJim Jagielski'Public Const CAPP_XMLDOCPROP_LOCATION = "Document" 86*b1cdbd2cSJim JagielskiPublic Const CAPP_XMLDOCPROP_LOCATION = "Workbook" 87*b1cdbd2cSJim Jagielski'Public Const CAPP_XMLDOCPROP_LOCATION = "Presentation" 88*b1cdbd2cSJim Jagielski 89*b1cdbd2cSJim JagielskiPublic Const CTHIS_DOCUMENT = "ThisWorkbook" 90*b1cdbd2cSJim JagielskiPublic Const CTOPLEVEL_PROJECT = "VBAProject" 91*b1cdbd2cSJim Jagielski 92*b1cdbd2cSJim JagielskiPublic Function getAppSpecificDocExt() As String 93*b1cdbd2cSJim Jagielski getAppSpecificDocExt = CAPPNAME_EXCEL_DOC 94*b1cdbd2cSJim JagielskiEnd Function 95*b1cdbd2cSJim JagielskiPublic Function getAppSpecificTemplateExt() As String 96*b1cdbd2cSJim Jagielski getAppSpecificTemplateExt = CAPPNAME_EXCEL_DOT 97*b1cdbd2cSJim JagielskiEnd Function 98*b1cdbd2cSJim Jagielski 99*b1cdbd2cSJim JagielskiPublic Function getAppSpecificPath() As String 100*b1cdbd2cSJim Jagielski getAppSpecificPath = ActiveWorkbook.path 101*b1cdbd2cSJim JagielskiEnd Function 102*b1cdbd2cSJim JagielskiPublic Function getAppSpecificApplicationName() As String 103*b1cdbd2cSJim Jagielski getAppSpecificApplicationName = CAPPNAME_EXCEL 104*b1cdbd2cSJim JagielskiEnd Function 105*b1cdbd2cSJim Jagielski 106*b1cdbd2cSJim JagielskiPublic Function getAppSpecificCustomDocProperties(currDoc As Workbook) As DocumentProperties 107*b1cdbd2cSJim Jagielski Set getAppSpecificCustomDocProperties = currDoc.CustomDocumentProperties 108*b1cdbd2cSJim JagielskiEnd Function 109*b1cdbd2cSJim JagielskiPublic Function getAppSpecificCommentBuiltInDocProperty(currDoc As Workbook) As DocumentProperty 110*b1cdbd2cSJim Jagielski Set getAppSpecificCommentBuiltInDocProperty = currDoc.BuiltinDocumentProperties("Comments") 111*b1cdbd2cSJim JagielskiEnd Function 112*b1cdbd2cSJim Jagielski 113*b1cdbd2cSJim JagielskiPublic Function getAppSpecificVBProject(currDoc As Workbook) As VBProject 114*b1cdbd2cSJim Jagielski Set getAppSpecificVBProject = currDoc.VBProject 115*b1cdbd2cSJim JagielskiEnd Function 116*b1cdbd2cSJim Jagielski 117*b1cdbd2cSJim JagielskiPublic Function getAppSpecificOLEClassType(aShape As Shape) As String 118*b1cdbd2cSJim Jagielski Dim objType As String 119*b1cdbd2cSJim Jagielski 120*b1cdbd2cSJim Jagielski If aShape.OLEFormat.ProgID = "" Then 121*b1cdbd2cSJim Jagielski objType = aShape.OLEFormat.ClassType 122*b1cdbd2cSJim Jagielski Else 123*b1cdbd2cSJim Jagielski objType = aShape.OLEFormat.ProgID 124*b1cdbd2cSJim Jagielski End If 125*b1cdbd2cSJim Jagielski 126*b1cdbd2cSJim Jagielski getAppSpecificOLEClassType = objType 127*b1cdbd2cSJim JagielskiEnd Function 128*b1cdbd2cSJim Jagielski 129*b1cdbd2cSJim JagielskiPublic Sub SetAppToMinimized() 130*b1cdbd2cSJim Jagielski Application.WindowState = xlMinimized 131*b1cdbd2cSJim Jagielski Application.Visible = False 132*b1cdbd2cSJim JagielskiEnd Sub 133*b1cdbd2cSJim Jagielski 134*b1cdbd2cSJim JagielskiPublic Sub LocalizeResources() 135*b1cdbd2cSJim Jagielski Dim xlStrings As StringDataManager 136*b1cdbd2cSJim Jagielski Set xlStrings = New StringDataManager 137*b1cdbd2cSJim Jagielski 138*b1cdbd2cSJim Jagielski xlStrings.InitStringData (GetResourceDataFileName(ThisWorkbook.path)) 139*b1cdbd2cSJim Jagielski LoadCommonStrings xlStrings 140*b1cdbd2cSJim Jagielski LoadExcelStrings xlStrings 141*b1cdbd2cSJim Jagielski LoadResultsStrings xlStrings 142*b1cdbd2cSJim Jagielski Set xlStrings = Nothing 143*b1cdbd2cSJim Jagielski 144*b1cdbd2cSJim Jagielski SetWBDriverText 145*b1cdbd2cSJim JagielskiEnd Sub 146*b1cdbd2cSJim Jagielski 147*b1cdbd2cSJim JagielskiPublic Sub SetWBDriverText() 148*b1cdbd2cSJim Jagielski On Error Resume Next 149*b1cdbd2cSJim Jagielski CAPP_DOCPROP_LOCATION = RID_STR_COMMON_RESULTS_LOCATION_TYPE_DOCUMENT 150*b1cdbd2cSJim Jagielski ThisWorkbook.Names("RID_STR_DVR_XL_EXCEL_DRIVER").RefersToRange.Cells(1, 1) = RID_STR_DVR_XL_EXCEL_DRIVER 151*b1cdbd2cSJim Jagielski ThisWorkbook.Names("RID_STR_DVR_XL_ISSUES").RefersToRange.Cells(1, 1) = RID_STR_DVR_XL_ISSUES 152*b1cdbd2cSJim Jagielski ThisWorkbook.Names("RID_STR_DVR_XL_PURPOSE").RefersToRange.Cells(1, 1) = RID_STR_DVR_XL_PURPOSE 153*b1cdbd2cSJim Jagielski ThisWorkbook.Names("RID_STR_DVR_XL_READ_README").RefersToRange.Cells(1, 1) = RID_STR_DVR_XL_READ_README 154*b1cdbd2cSJim Jagielski ThisWorkbook.Names("RID_STR_DVR_XL_THE_MACROS").RefersToRange.Cells(1, 1) = RID_STR_DVR_XL_THE_MACROS 155*b1cdbd2cSJim Jagielski ThisWorkbook.Names("RID_STR_DVR_XL_THIS_DOC").RefersToRange.Cells(1, 1) = RID_STR_DVR_XL_THIS_DOC 156*b1cdbd2cSJim Jagielski ThisWorkbook.Names("RID_STR_DVR_XL_TITLE").RefersToRange.Cells(1, 1) = RID_STR_DVR_XL_TITLE 157*b1cdbd2cSJim JagielskiEnd Sub 158*b1cdbd2cSJim Jagielski 159