Attribute VB_Name = "ApplicationSpecific" | |
'************************************************************************* | |
' | |
' Licensed to the Apache Software Foundation (ASF) under one | |
' or more contributor license agreements. See the NOTICE file | |
' distributed with this work for additional information | |
' regarding copyright ownership. The ASF licenses this file | |
' to you under the Apache License, Version 2.0 (the | |
' "License"); you may not use this file except in compliance | |
' with the License. You may obtain a copy of the License at | |
' | |
' http://www.apache.org/licenses/LICENSE-2.0 | |
' | |
' Unless required by applicable law or agreed to in writing, | |
' software distributed under the License is distributed on an | |
' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
' KIND, either express or implied. See the License for the | |
' specific language governing permissions and limitations | |
' under the License. | |
' | |
'************************************************************************* | |
Option Explicit | |
'*** Do NOT add any new categories - use those listed below or else the results spreadsheet and | |
'*** issues list will be out of sync | |
Public Const GlbPowerPoint = True | |
'** Issue Categories | |
Public Const CID_INFORMATION_REFS = 0 | |
Public Const CID_ACTION_SETTINGS = 1 | |
Public Const CID_CONTENT_AND_DOCUMENT_PROPERTIES = 2 | |
Public Const CID_FIELDS = 3 | |
Public Const CID_FORMAT = 4 | |
Public Const CID_NOTES_AND_HANDOUTS = 5 | |
Public Const CID_OBJECTS_GRAPHICS_TEXTBOXES = 6 | |
Public Const CID_PORTABILITY = 7 | |
Public Const CID_VBA_MACROS = 8 | |
Public Const CTOTAL_CATEGORIES = 8 | |
'** PP - XML Issue and SubIssue strings | |
Public Const CSTR_ISSUE_OBJECTS_GRAPHICS_AND_TEXTBOXES = "ObjectsGraphicsAndTextboxes" | |
Public Const CSTR_SUBISSUE_COMMENT = "Comment" | |
Public Const CSTR_SUBISSUE_MOVIE = "Movie" | |
Public Const CSTR_SUBISSUE_BACKGROUND = "Background" | |
Public Const CSTR_SUBISSUE_NUMBERING = "Numbering" | |
Public Const CSTR_SUBISSUE_HYPERLINK = "Hyperlink" | |
Public Const CSTR_SUBISSUE_HYPERLINK_SPLIT = "HyperlinkSplit" | |
Public Const CSTR_SUBISSUE_TEMPLATE = "Template" | |
Public Const CSTR_SUBISSUE_TABSTOP = "Tabstop" | |
Public Const CSTR_SUBISSUE_FONTS = "Fonts" | |
'** END PP - XML Issue and SubIssue strings | |
Public Const CAPPNAME_WORD = "Word" | |
'Public Const CAPPNAME_WORD_DOC = ".doc" | |
'Public Const CAPPNAME_WORD_DOT = ".dot" | |
Public Const CAPPNAME_EXCEL = "Excel" | |
'Public Const CAPPNAME_EXCEL_DOC = ".xls" | |
'Public Const CAPPNAME_EXCEL_DOT = ".xlt" | |
Public Const CAPPNAME_POWERPOINT = "PowerPoint" | |
Public Const CAPPNAME_PP_DOC = ".ppt" | |
Public Const CAPPNAME_PP_DOT = ".pot" | |
'Public Const CAPP_DOCPROP_LOCATION = "Document" | |
'Public Const CAPP_DOCPROP_LOCATION = "Workbook" | |
Public CAPP_DOCPROP_LOCATION As String | |
'Public Const CAPP_XMLDOCPROP_LOCATION = "Document" | |
'Public Const CAPP_XMLDOCPROP_LOCATION = "Workbook" | |
Public Const CAPP_XMLDOCPROP_LOCATION = "Presentation" | |
Public Const CTHIS_DOCUMENT = "ThisDocument" | |
Public Const CTOPLEVEL_PROJECT = "Project" | |
Const CSTART_DIR = 1 | |
Const CSTORE_TO_DIR = 2 | |
Const CRESULTS_FILE = 3 | |
Const CRESULTS_TEMPALTE = 4 | |
Const COVERWRITE_FILE = 5 | |
Const CNEW_RESULTS_FILE = 6 | |
Const CDOCUMENT = 7 | |
Const CTEMPLATE = 8 | |
Const CINCLUDE_SUBDIRS = 9 | |
Const CLOG_FILE = 10 | |
Const CDEBUG_LEVEL = 11 | |
Public Function getAppSpecificDocExt() As String | |
getAppSpecificDocExt = CAPPNAME_PP_DOC | |
End Function | |
Public Function getAppSpecificTemplateExt() As String | |
getAppSpecificTemplateExt = CAPPNAME_PP_DOT | |
End Function | |
Public Function getAppSpecificPath() As String | |
getAppSpecificPath = ActivePresentation.path | |
End Function | |
Public Function getAppSpecificApplicationName() As String | |
getAppSpecificApplicationName = CAPPNAME_POWERPOINT | |
End Function | |
Public Function getAppSpecificCustomDocProperties(currDoc As Presentation) As DocumentProperties | |
Set getAppSpecificCustomDocProperties = currDoc.CustomDocumentProperties | |
End Function | |
Public Function getAppSpecificCommentBuiltInDocProperty(currDoc As Presentation) As DocumentProperty | |
Set getAppSpecificCommentBuiltInDocProperty = currDoc.BuiltInDocumentProperties("Comments") | |
End Function | |
Public Function getAppSpecificVBProject(currDoc as Presentation) As VBProject | |
Set getAppSpecificVBProject = currDoc.VBProject | |
End Function | |
Public Function getAppSpecificOLEClassType(aShape As Shape) As String | |
getAppSpecificOLEClassType = aShape.OLEFormat.ProgID | |
End Function | |
' Workaround as it does not seem to be possible to shut down PP | |
' from VB app | |
Public Sub QuitPowerPoint() | |
Dim I As Integer | |
On Error Resume Next | |
With Application.Presentations | |
For I = .count To 1 Step -1 | |
.item(I).Close | |
Next | |
End With | |
Application.Quit | |
End Sub | |
Public Sub SetAppToMinimized() | |
Application.WindowState = ppWindowMinimized | |
End Sub | |
Public Sub LocalizeResources() | |
On Error GoTo ErrorHandler | |
Dim ppStrings As StringDataManager | |
Set ppStrings = New StringDataManager | |
Dim aPres As Presentation | |
Set aPres = Presentations("_OOoDocAnalysisPPTDriver.ppt") | |
ppStrings.InitStringData (GetResourceDataFileName(aPres.path)) | |
LoadCommonStrings ppStrings | |
LoadPPStrings ppStrings | |
LoadResultsStrings ppStrings | |
Set ppStrings = Nothing | |
SetPPDriverText | |
FinalExit: | |
Exit Sub | |
ErrorHandler: | |
WriteDebug "Presentation_Open : " & Err.Number & " : " & Err.Description | |
GoTo FinalExit | |
End Sub | |
Sub SetPPDriverText() | |
On Error Resume Next | |
CAPP_DOCPROP_LOCATION = RID_STR_COMMON_RESULTS_LOCATION_TYPE_PRESENTATION | |
ActivePresentation.Slides.item(1).Shapes.item("RID_STR_DVR_PP_TXT2").OLEFormat.Object.Text = RID_STR_DVR_PP_TXT2 | |
ActivePresentation.Slides.item(1).Shapes.item("RID_STR_DVR_PP_TXT3").OLEFormat.Object.Text = RID_STR_DVR_PP_TXT3 | |
ActivePresentation.Slides.item(1).Shapes.item("RID_STR_DVR_PP_TXT4").OLEFormat.Object.Text = RID_STR_DVR_PP_TXT4 | |
ActivePresentation.Slides.item(1).Shapes.item("RID_STR_DVR_PP_TXT5").OLEFormat.Object.Text = RID_STR_DVR_PP_TXT5 | |
ActivePresentation.Slides.item(1).Shapes.item("RID_STR_DVR_PP_TXT6").OLEFormat.Object.Text = RID_STR_DVR_PP_TXT6 | |
ActivePresentation.Slides.item(1).Shapes.item("RID_STR_DVR_PP_TXT7").OLEFormat.Object.Text = RID_STR_DVR_PP_TXT7 | |
ActivePresentation.Slides.item(1).Shapes.item("RID_STR_DVR_PP_TXT8").OLEFormat.Object.Text = RID_STR_DVR_PP_TXT8 | |
End Sub | |