2012-01-07 32 views
0

プレゼンテーション全体をHTMLに変換し、埋め込まれたコンテンツなどをすべて抽出しています。テキスト、オーディオ、ナレーションなどはすべて正常に機能していますが、ビデオコンテンツを書き出す方法を見つけるのは困難です。VBA埋め込みビデオをPowerpointプレゼンテーションから書き出す

プレゼンテーション内のすべてのスライドをループし、次にスライド上のすべてのシェイプをタイプmsoMediaのシェイプを探します。見つけたらMediaTypeです。それがppMediaTypeMovieの場合は、Shape.LinkFormat.SourceFullNameを使用して外部リンクされたビデオファイルのソースファイルを見つけることができますが、埋め込まれたコンテンツにアクセスする方法がわかりません。

MediaTypeの形がppMediaTypeSoundの場合は、Shape.SoundFormat.Exportを使用して音声を書き出すことができます。誰もVIDEOシェイプと同等のことを知っていますか? (Shape.VideoFormatはありません)私は無駄にすることができるすべての可能なデータメンバーを見ながら何日も過ごしました。

+0

Windowsクリップボードを使用してビデオデータに直接アクセスする方法がない場合は役立ちます。 http://stackoverflow.com/questions/8590595/extract-ole-object-data-in-microsoft-office-without-ole-application –

答えて

1

Microsoftがとにかく一時フォルダにメディアファイルの内容を抽出し、埋め込まれた動画はまだ抽出されたビデオにLinkFormat.SourceFullName提供表示されます:

?oshape.LinkFormat.SourceFullName

C:\Users\Alex\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.MSO\F26FF1D0.m4v

すべてのことを私はffmpegを介してこのファイルを起動する必要があり、私は望む形式で、私のビデオを持っている!

ありがとうございました:)

0

注:最近のPPTバージョンでも、埋め込みサウンドで.Exportメソッドが機能しないことがあります。

アレックスの提案は私が最初に検討するものです。それ以外の場合は、PPTX/PPSX /などを解凍して、メディアフォルダ内のビデオを見つけることができます。または、XMLプレゼンテーションとして保存することもできます。あなたはそれからビデオを解析することができるかもしれません。

+0

Office 2007でエクスポートが正常に動作します。どのようにしてVBAを使用して解凍しますか?あなたが探しているアプリケーションの実行可能ファイル名(winzip-winrar-winace-7zipなど)を見つけることはほとんど不可能であるため、Shellの使用は避けてください。 Shape.Exportは、図形のイメージをエクスポートします。画像、チャート、テーブルなどに最適です。Shape.SoundFormat.Exportは、オーディオクリップを単純なwavとしてエクスポートします(変換するためにffmpegに送信します)。マイクロソフトでは、イメージとサウンドをプログラム的に抽出するのに、これらの方法を提供するのはなぜですか?ただし、ビデオでは使用しないことを選択するのはなぜですか? *正しい*道がなければなりません! –

+0

ppt/mediaフォルダの内容をプログラムで解凍して閲覧する場合、どのメディアファイルがどのSlide/Shapeに属しているかはどのように分かりますか? –

+0

私の(限られた)テストから、メディアファイルが順番に(media1.avi、media2.wmvなど)番号が付けられているように見えるので、各スライドの各シェイプを通り、各スライド上の各メディアをコレクションまたは配列; "media"&cstr(array_index)はzip内のメディアファイルの名前を返します。拡張子は元のファイルの拡張子が何であってもかまいません。 .avi、.wmvなどの名前のファイルや、ベース名があなたのものと一致するファイル(media3。*など)。 –

関連する問題