Wie man Powerpoint-Dateiformat erhalten Programmatically
-
04-10-2019 - |
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?
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 beginnenFü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.