Come ottenere PowerPoint Formato file a livello di programmazione
-
04-10-2019 - |
Domanda
Ho bisogno di determinare se il ActivePresentation
è 97-2003 o 2007 formato. Io davvero non si vuole controllare l'estensione.
C'è una qualche parte di proprietà all'interno dell'oggetto di PowerPoint modello che dà queste informazioni?
Soluzione
Non v'è alcuna proprietà Formato file, purtroppo. Dovrete andare via di estensione, come:
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
Altri suggerimenti
Quando la presentazione è aperta non esiste un formato di file, il suo tutto in memoria. Tuttavia il file proviene può essere sia il più vecchio binario formato o il più recente OpenXML formattare . Il modo più semplice per capire la differenza è quello di esaminare i primi byte del file.
Per i formati binari si tratta di un OLE Compound File che sempre iniziare con i byte: 0xD0, 0xCF, 0x11, 0XE0, 0xA1, 0xB1, 0x1a, 0xE1
.Per i formati più recenti è un ZIP file che verrà sempre iniziare con i byte: 0x50, 0x4B, 0x03, 0x04
Guardando i primi byte del file è il modo migliore per determinare rapidamente il tipo di file, anche se ci vuole più lavoro.