Cómo obtener Formato de archivo de PowerPoint mediante programación
-
04-10-2019 - |
Pregunta
necesito para determinar si el ActivePresentation
es 97-2003 ó 2007 formato. Realmente no se quiere comprobar la extensión.
¿Hay alguna parte de una propiedad dentro del objeto de PowerPoint modelo que da a esta información?
Solución
No hay ninguna propiedad Formato de archivo, por desgracia. Vas a tener que ir a la ruta de extensión, como:
Sub APFileFormat()
Dim ap As Presentation
Set ap = ActivePresentation
Length = Len(ap.Name)
Match = InStrRev(StringCheck:=ap.Name, StringMatch:=".")
ExtentionLength = Length - Match
Select Case ExtentionLength
Case 4
FileFormat = "PowerPoint 2007-2010"
Case 3
FileFormat = "PowerPoint 97-2003"
Case Else
FileFormat = "undetermined"
End Select
Debug.Print "The file format of the active presentation is " & FileFormat
End Sub
Otros consejos
Cuando la presentación está abierto no existe un formato de archivo, su todo en la memoria. Sin embargo, el archivo de vino puede estar en el mayor formato binario o el nuevo OpenXML formatear . La forma más fácil de decir la diferencia es mirar los primeros bytes del archivo.
Para los formatos binarios es un OLE Compuesto del archivo que siempre comenzar con los bytes: 0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0XB1, 0x1A, 0xE1
. Para los nuevos formatos es una href="http://www.pkware.com/documents/casestudies/APPNOTE.TXT" rel="nofollow noreferrer"> postal archivo
En cuanto a los primeros bytes del archivo es la mejor manera de determinar rápidamente el tipo de archivo, aunque se necesita más trabajo.