Frage

ich brauche, um zu bestimmen, ob der ActivePresentation ist 97-2003 oder 2007-Format. Ich will wirklich nicht will, um die Erweiterung zu überprüfen.

Gibt es eine Eigenschaft irgendwo in dem Powerpoint-Objektmodell, die diese Info gibt?

War es hilfreich?

Lösung

Es gibt keine Dateiformat Eigenschaft, leider. Sie verlassen nun die Verlängerung Weg gehen, wie:

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

Andere Tipps

Wenn die Präsentation geöffnet ist, gibt es kein Dateiformat, es ist alles im Speicher. Doch die Datei aus kam es kann entweder in dem älteren Binärformat oder die neuere OpenXML formatieren . Der einfachste Weg, den Unterschied zu erkennen ist in den ersten paar Bytes der Datei zu suchen.

Für die Binärformaten ist es ein OLE Compound File die 0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1

. wird immer mit dem Bytes beginnen

Für die neueren Formate ist es ein ZIP-Datei die immer starten mit dem Bytes: 0x50, 0x4B, 0x03, 0x04

in den ersten paar Bytes der Datei der Suche ist der beste Weg, um schnell den Dateityp zu bestimmen, wenn es mehr Arbeit nimmt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top