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 'no issue logged
27*b1cdbd2cSJim JagielskiPublic Const CID_CONTENT_AND_DOCUMENT_PROPERTIES = 2
28*b1cdbd2cSJim JagielskiPublic Const CID_CONTROLS = 3 'no issue logged
29*b1cdbd2cSJim JagielskiPublic Const CID_FIELDS = 4
30*b1cdbd2cSJim JagielskiPublic Const CID_FORMAT = 5
31*b1cdbd2cSJim JagielskiPublic Const CID_INDEX_AND_REFERENCES = 6
32*b1cdbd2cSJim JagielskiPublic Const CID_OBJECTS_GRAPHICS_FRAMES = 7
33*b1cdbd2cSJim JagielskiPublic Const CID_PORTABILITY = 8
34*b1cdbd2cSJim JagielskiPublic Const CID_TABLES = 9
35*b1cdbd2cSJim JagielskiPublic Const CID_VBA_MACROS = 10
36*b1cdbd2cSJim JagielskiPublic Const CID_WRITING_AIDS = 11
37*b1cdbd2cSJim JagielskiPublic Const CTOTAL_CATEGORIES = 11
38*b1cdbd2cSJim Jagielski
39*b1cdbd2cSJim Jagielski'** Word - XML Issue and SubIssue strings
40*b1cdbd2cSJim JagielskiPublic Const CSTR_ISSUE_CHANGES_AND_REVIEWING = "ChangesAndReviewing"
41*b1cdbd2cSJim JagielskiPublic Const CSTR_ISSUE_CONTROLS = "Controls"
42*b1cdbd2cSJim JagielskiPublic Const CSTR_ISSUE_FIELDS = "Fields"
43*b1cdbd2cSJim JagielskiPublic Const CSTR_ISSUE_INDEX_AND_REFERENCES = "IndexesAndReferences"
44*b1cdbd2cSJim JagielskiPublic Const CSTR_ISSUE_TABLES = "Tables"
45*b1cdbd2cSJim Jagielski
46*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_APPEARANCE = "Appearance"
47*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_BORDER_STYLES = "BorderStyles"
48*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_CELL_SPAN_PAGE = "CellSpanningPage"
49*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_COMMENT = "Comment"
50*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_CUSTOM_BULLET_LIST = "CustomBulletList"
51*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_FORM_FIELD = "FormField"
52*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_MAILMERGE_DATASOURCE = "MailMergeDatasource"
53*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_MAILMERGE_FIELD = "MailMergeField"
54*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_NESTED_TABLES = "NestedTables"
55*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_TABLE_OF_AUTHORITIES = "TableOfAuthorities"
56*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_TABLE_OF_AUTHORITIES_FIELD = "TableOfAuthoritiesField"
57*b1cdbd2cSJim JagielskiPublic Const CSTR_SUBISSUE_TABLE_OF_CONTENTS = "TableOfContents"
58*b1cdbd2cSJim Jagielski'** END Word - XML Issue and SubIssue strings
59*b1cdbd2cSJim Jagielski
60*b1cdbd2cSJim JagielskiPublic Const CAPPNAME_WORD = "Word"
61*b1cdbd2cSJim JagielskiPublic Const CAPPNAME_WORD_DOC = ".doc"
62*b1cdbd2cSJim JagielskiPublic Const CAPPNAME_WORD_DOT = ".dot"
63*b1cdbd2cSJim Jagielski
64*b1cdbd2cSJim JagielskiPublic Const CAPPNAME_EXCEL = "Excel"
65*b1cdbd2cSJim JagielskiPublic Const CAPPNAME_EXCEL_DOC = ".xls"
66*b1cdbd2cSJim JagielskiPublic Const CAPPNAME_EXCEL_DOT = ".xlt"
67*b1cdbd2cSJim Jagielski
68*b1cdbd2cSJim JagielskiPublic Const CAPPNAME_POWERPOINT = "PowerPoint"
69*b1cdbd2cSJim JagielskiPublic Const CAPPNAME_PP_DOC = ".ppt"
70*b1cdbd2cSJim JagielskiPublic Const CAPPNAME_PP_DOT = ".pot"
71*b1cdbd2cSJim Jagielski
72*b1cdbd2cSJim JagielskiPublic CAPP_DOCPROP_LOCATION As String
73*b1cdbd2cSJim Jagielski'Public Const CAPP_DOCPROP_LOCATION = RID_STR_COMMON_RESULTS_LOCATION_TYPE_WORKBOOK
74*b1cdbd2cSJim Jagielski'Public Const CAPP_DOCPROP_LOCATION = RID_STR_COMMON_RESULTS_LOCATION_TYPE_PRESENTATION
75*b1cdbd2cSJim Jagielski
76*b1cdbd2cSJim JagielskiPublic Const CAPP_XMLDOCPROP_LOCATION = "Document"
77*b1cdbd2cSJim Jagielski'Public Const CAPP_XMLDOCPROP_LOCATION = "Workbook"
78*b1cdbd2cSJim Jagielski'Public Const CAPP_XMLDOCPROP_LOCATION = "Presentation"
79*b1cdbd2cSJim Jagielski
80*b1cdbd2cSJim JagielskiPublic Const CTHIS_DOCUMENT = "ThisDocument"
81*b1cdbd2cSJim JagielskiPublic Const CTOPLEVEL_PROJECT = "Project"
82*b1cdbd2cSJim Jagielski
83*b1cdbd2cSJim JagielskiPublic Function getAppSpecificDocExt() As String
84*b1cdbd2cSJim Jagielski    getAppSpecificDocExt = CAPPNAME_WORD_DOC
85*b1cdbd2cSJim JagielskiEnd Function
86*b1cdbd2cSJim JagielskiPublic Function getAppSpecificTemplateExt() As String
87*b1cdbd2cSJim Jagielski    getAppSpecificTemplateExt = CAPPNAME_WORD_DOT
88*b1cdbd2cSJim JagielskiEnd Function
89*b1cdbd2cSJim JagielskiPublic Function getAppSpecificPath() As String
90*b1cdbd2cSJim Jagielski    getAppSpecificPath = ActiveDocument.path
91*b1cdbd2cSJim JagielskiEnd Function
92*b1cdbd2cSJim JagielskiPublic Function getAppSpecificApplicationName() As String
93*b1cdbd2cSJim Jagielski    getAppSpecificApplicationName = CAPPNAME_WORD
94*b1cdbd2cSJim JagielskiEnd Function
95*b1cdbd2cSJim Jagielski
96*b1cdbd2cSJim JagielskiPublic Function getAppSpecificCustomDocProperties(currDoc As Document) As DocumentProperties
97*b1cdbd2cSJim Jagielski    Set getAppSpecificCustomDocProperties = currDoc.CustomDocumentProperties
98*b1cdbd2cSJim JagielskiEnd Function
99*b1cdbd2cSJim JagielskiPublic Function getAppSpecificCommentBuiltInDocProperty(currDoc As Document) As DocumentProperty
100*b1cdbd2cSJim Jagielski    Set getAppSpecificCommentBuiltInDocProperty = currDoc.BuiltInDocumentProperties(wdPropertyComments)
101*b1cdbd2cSJim JagielskiEnd Function
102*b1cdbd2cSJim Jagielski
103*b1cdbd2cSJim JagielskiPublic Function getAppSpecificVBProject(currDoc As Document) As VBProject
104*b1cdbd2cSJim Jagielski    Set getAppSpecificVBProject = currDoc.VBProject
105*b1cdbd2cSJim JagielskiEnd Function
106*b1cdbd2cSJim Jagielski
107*b1cdbd2cSJim JagielskiPublic Function getAppSpecificOLEClassType(aShape As Shape) As String
108*b1cdbd2cSJim Jagielski    Dim objType As String
109*b1cdbd2cSJim Jagielski
110*b1cdbd2cSJim Jagielski    If aShape.OLEFormat.ProgID = "" Then
111*b1cdbd2cSJim Jagielski        objType = aShape.OLEFormat.ClassType
112*b1cdbd2cSJim Jagielski    Else
113*b1cdbd2cSJim Jagielski        objType = aShape.OLEFormat.ProgID
114*b1cdbd2cSJim Jagielski    End If
115*b1cdbd2cSJim Jagielski
116*b1cdbd2cSJim Jagielski    getAppSpecificOLEClassType = objType
117*b1cdbd2cSJim JagielskiEnd Function
118*b1cdbd2cSJim Jagielski
119*b1cdbd2cSJim JagielskiPublic Sub SetAppToMinimized()
120*b1cdbd2cSJim Jagielski    Application.WindowState = wdWindowStateMinimize
121*b1cdbd2cSJim Jagielski    Application.Visible = False
122*b1cdbd2cSJim JagielskiEnd Sub
123*b1cdbd2cSJim Jagielski
124*b1cdbd2cSJim JagielskiPublic Sub LocalizeResources()
125*b1cdbd2cSJim Jagielski    Dim wrdStrings As StringDataManager
126*b1cdbd2cSJim Jagielski    Set wrdStrings = New StringDataManager
127*b1cdbd2cSJim Jagielski
128*b1cdbd2cSJim Jagielski    wrdStrings.InitStringData (GetResourceDataFileName(ThisDocument.path))
129*b1cdbd2cSJim Jagielski    LoadCommonStrings wrdStrings
130*b1cdbd2cSJim Jagielski    LoadWordStrings wrdStrings
131*b1cdbd2cSJim Jagielski    LoadResultsStrings wrdStrings
132*b1cdbd2cSJim Jagielski    Set wrdStrings = Nothing
133*b1cdbd2cSJim Jagielski
134*b1cdbd2cSJim Jagielski    'SetWordDriverText
135*b1cdbd2cSJim JagielskiEnd Sub
136*b1cdbd2cSJim Jagielski
137*b1cdbd2cSJim Jagielski' Set the loaded string variable into the fields in the document
138*b1cdbd2cSJim JagielskiPrivate Sub SetWordDriverText()
139*b1cdbd2cSJim Jagielski    On Error Resume Next
140*b1cdbd2cSJim Jagielski    CAPP_DOCPROP_LOCATION = RID_STR_COMMON_RESULTS_LOCATION_TYPE_DOCUMENT
141*b1cdbd2cSJim Jagielski    ThisDocument.FormFields.item("RID_STR_WDVR_SOANA").Result = RID_STR_WDVR_SOANA
142*b1cdbd2cSJim Jagielski    ThisDocument.FormFields.item("RID_STR_WDVR_INTRO").Result = RID_STR_WDVR_INTRO
143*b1cdbd2cSJim Jagielski    ThisDocument.FormFields.item("RID_STR_WDVR_TITLE").Result = RID_STR_WDVR_TITLE
144*b1cdbd2cSJim Jagielski    ThisDocument.FormFields.item("RID_STR_WDVR_PURPO").Result = RID_STR_WDVR_PURPO
145*b1cdbd2cSJim Jagielski    ThisDocument.FormFields.item("RID_STR_WDVR_PARA1").Result = RID_STR_WDVR_PARA1
146*b1cdbd2cSJim Jagielski    ThisDocument.FormFields.item("RID_STR_WDVR_ISSUE").Result = RID_STR_WDVR_ISSUE
147*b1cdbd2cSJim Jagielski    ThisDocument.FormFields.item("RID_STR_WDVR_PARA2").Result = RID_STR_WDVR_PARA2
148*b1cdbd2cSJim JagielskiEnd Sub
149*b1cdbd2cSJim Jagielski
150