質問

を判断する必要があります ActivePresentation 97-2003または2007年の形式です。私は本当に拡張機能をチェックしたくありません。

この情報を提供するPowerPointオブジェクトモデル内のどこかにプロパティがありますか?

役に立ちましたか?

解決

残念ながら、ファイル形式のプロパティはありません。次のように、延長ルートを行う必要があります。

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

他のヒント

プレゼンテーションが開いている場合、ファイル形式はありません。すべてメモリにあります。しかし、それが生まれたファイルは古いもののいずれかにあります バイナリ形式 または新しい人 OpenXML形式. 。違いを伝える最も簡単な方法は、ファイルの最初の数バイトを見ることです。

バイナリ形式については、です OLEコンパウンドファイル これは常にバイトから始まります:0xd0、0xcf、0x11、0xe0、0xa1、0xb1、0x1a、0xe1。

新しい形式の場合、それはaです ZIPファイル これは常にバイトから始まります:0x50、0x4b、0x03、0x04

ファイルの最初の数バイトを見ることは、ファイルタイプをすばやく決定するための最良の方法ですが、より多くの作業が必要です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top