回答:
注:PowerPoint 2003では機能せず、新しいpptxファイルでのみ機能します(2007年以降)
相対パスがサポートされているようですが、実装するのは簡単ではありません。たとえば、PowerpointプレゼンテーションがMyFilesフォルダーにあり、MyMovie.aviがMyFiles内のMediaフォルダーにある場合。秘Theは、Powerpointファイル内のxmlファイルを編集することです。
Windows 7で動作します。
幸運を!
これが、Microsoftが「Pack and Go」ウィザードを持っている理由です。PowerPointで実行すると、リンクされたすべてのビデオ、フォント、サウンドファイルなどが収集され、CDにパッケージ化されます。あなたが行く必要がある場所を取ることができます。
あなたの裁量でビューアーを埋め込むこともできるので、プレゼンテーションをサポートするアプリがターゲットコンピューターにあるかどうか心配する必要はありません。
ビデオがプレゼンテーションと同じフォルダにある場合、リンクは移動しても機能し続けるはずです。
PSあなたもビデオファイルを移動する必要があります。
PowerPoint 2000以前には、 " Pack and Go " と呼ばれる機能があり、添付ファイルを含むフォルダにプレゼンテーションをパッケージ化したり、エンドユーザーがPowerPoint Viewerアプリケーションを使用してプレゼンテーションを表示したりすることができました。
PowerPoint 2003以降では、この機能は「Package for CD」と呼ばれます。
私はグーグル経由でこのスレッドを見つけました。Powerpoint2010で機能する私のアドバイスです。トレスパッサーの例を使用してみましょう。
そのため、PowerpointmenuからMyMovie.aviを挿入しますが、挿入を選択せず、「ファイルに関連付け」を選択します(正確な英語の翻訳はわかりません)。このオプションはファイルダイアログで利用できます。こちらをご覧ください。
現在、Powerpointは次のことを行います。
プレゼンテーションを別のフォルダー/コンピューターに移動する場合、powerpointは最初に絶対パスでビデオを開こうとします。ビデオを削除または移動してはいけませんが、これはコンピューター上で機能します。PowerPointが移動したか、プレゼンテーションが別のコンピューター上にあるためにビデオが見つからない場合、PowerPointは相対リンクとしてビデオを開こうとします。
したがって、Powerpoint 2010では、プレゼンテーションとメディアフォルダーを新しい宛先にコピーするだけで、最初から機能します。
メディアファイルから絶対パスを取り除き、相対パスのままにする小さなVBスクリプトを作成しました。
Global fso As New FileSystemObject
Public Sub ConvertMediaToRelativePaths()
Dim i As Integer
Dim sld As Slide, shp As Shape
For Each sld In ActivePresentation.Slides
For Each shp In sld.Shapes
If shp.Type = msoMedia Then
Dim path As String, fname As String
path = shp.LinkFormat.SourceFullName
fname = fso.GetFileName(path)
shp.LinkFormat.SourceFullName = fname
i = i + 1
End If
Next
Next
If i > 0 Then
MsgBox "Converted " & CStr(i) & " Video Source Paths.", vbOK
Else
MsgBox "No Videos Found.", vbOK
End If
End Sub
これは、2003年以降のPowerPointの両方で機能するはずです。ソリューションTrespasserの概要がはるかに簡単になりました。
VBAは"Microsoft Scripting Runtime (scrun.dll)"
、FileSystemObject
クラスを使用するために参照を必要とすることに注意してください。
PowerPoint 2003:公式ドキュメントによると、
プレゼンテーションが、ムービーファイルが置かれているファイルパスのどこかにある場合、PowerPoint はプレゼンテーション内の相対パスとしてムービーファイルを保存します...たとえば、次のフォルダにあるプレゼンテーションがあるとします。
C:\Documents and Settings\User\My Documents
次のフォルダーからこのプレゼンテーションに映画を挿入します。
C:\Documents and Settings\User\My Documents\My Movies
この例では、次のパスがプレゼンテーションに挿入されます。
.\My Movies\Movie_name.avi
これらのどれも機能させることができませんでした。CDをエクスポートするツールは、ビデオのURLの変更を気にしませんでした。
私が現在行っているのは、SUBSTを使用してディレクトリにドライブ文字を設定し、そのドライブ文字に関連するビデオを作成することです。完璧ではありませんが、少なくともサブドライブの宛先を変更するだけで、すべてのビデオを一度に移動できます。
1つの大きな不満は、一度pptがURLを受け入れると、それを変更させないことでした。プロパティボックスで新しいファイル名を受け入れるように見えますが、プレゼンテーションを保存してリロードすると、以前の名前に戻りました。
ハイパーリンクの作成方法がわからなかったため、ハイパーリンクバージョンを試すことができませんでした:-(