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?

¿Fue útil?

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.

scroll top