我在PowerPoint演示文稿中有一些圖像和視頻。取決於每種格式(jpg,mp3,jpeg,...)的格式我希望它做出不同的事情,所以我需要知道它是什麼類型的文件。在Visual Basic中有什麼可以做到的嗎?獲取圖像和視頻的視覺基本格式
EDITED
我想通過差異與iPad不支持的的那些支持的圖像和視頻。這就是爲什麼我需要知道它們的格式。
我在PowerPoint演示文稿中有一些圖像和視頻。取決於每種格式(jpg,mp3,jpeg,...)的格式我希望它做出不同的事情,所以我需要知道它是什麼類型的文件。在Visual Basic中有什麼可以做到的嗎?獲取圖像和視頻的視覺基本格式
EDITED
我想通過差異與iPad不支持的的那些支持的圖像和視頻。這就是爲什麼我需要知道它們的格式。
編輯:說明清楚 - 下面的解決方案只適用於鏈接到文件的形狀!
Function WhatTypeOfMedia(SHP As Shape)
Select Case Right(SHP.LinkFormat.SourceFullName, 4)
Case ".jpg", "jpeg"
WhatTypeOfMedia = "Picture type"
Case ".wav", ".mp3"
WhatTypeOfMedia = "Music type"
'... end other possible types put here
End Select
End Function
要爲當前演示文稿的幻燈片1日試運行試試這個代碼:
Sub Take_format_Linked()
On Error Resume Next 'required for these files which are not linked
Dim SHP As Shape
For Each SHP In ActivePresentation.Slides(1).Shapes
'1st check if format is linked- best option:
If Len(SHP.LinkFormat.SourceFullName) > 0 Then
If Err.Number = 0 Then
'if so, let's call function
Debug.Print WhatTypeOfMedia(SHP)
'here you can do what you want based on function result
Else
Err.Clear
End If
End If
Next
End Sub
當你哪個形狀是哪一種類型的立即窗口信息的結果。你可以使用這些類型在main子目錄中運行你所需要的。 在這個簡單的想法,我保留On Error Resume Next
以避免錯誤,如果形狀不鏈接。
這隻適用於鏈接的文件...我需要正常的文件。如果有正常的鏈接,也應該是一些東西。 –
在我的回答開始時正是這樣說的,並且在您的問題下面留言! –
你已經有這個演示文稿,或者你會創建它?我不認爲有任何解決方案嵌入式未鏈接的形狀。我找不到... –
正如已經指出的那樣,您可以獲取鏈接文件的文件類型,但是無法爲嵌入文件獲取它們。但是,如果您不需要在VBA中執行此操作,或者可以在VBA中操作ZIP文件,請將該PPTX作爲zip文件打開並查找媒體文件夾。你會發現任何嵌入式文件(圖片,聲音,電影)。
它們的格式可能與原來的格式不同; PPT在導入圖像時有時會轉換圖像。但考慮到你在追求什麼,這不應該成爲一個問題。
他們是簡單的嵌入或嵌入鏈接到原始文件? –
我現在正在使用的是簡單的嵌入式,但知道如何在兩種方式下製作會很好:) –
嘗試使用'Shape.Type'屬性來獲取約1個。 20種可能的形狀。您可以額外使用鏈接形狀的'Shape.LinkFormat.SourceFullName'屬性來檢查文件擴展名。如果您需要更多信息,請在您的問題中提供更多信息(關於可能的類型和您要運行的操作取決於形狀的類型)。 –