Comment obtenir le format de fichier PowerPoint Programmatically
-
04-10-2019 - |
Question
Je dois déterminer si le ActivePresentation
est le format 97-2003 ou 2007. Je vais vraiment envie de ne pas vérifier l'extension.
Y at-il un endroit de propriété à l'intérieur du modèle objet PowerPoint qui donne cette information?
La solution
Il n'y a pas de propriété Format de fichier, malheureusement. Vous devrez emprunter la voie d'extension, comme:
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
Autres conseils
Lorsque la présentation est ouverte, il n'y a pas le format de fichier, tout est dans la mémoire. Cependant, le fichier, il est venu de peut être soit l'ancien format binaire ou plus récente OpenXML formater . La façon la plus facile de faire la différence est de regarder les premiers octets du fichier.
Pour les formats binaires, il est OLE composé fichier qui toujours commencer par les octets: 0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1
.Pour les formats les plus récents, il est un fichier ZIP qui commence toujours avec les octets: 0x50, 0x4B, 0x03, 0x04
En regardant les premiers octets du fichier est la meilleure façon de déterminer rapidement le type de fichier, mais il faut plus de travail.