2016-07-28 9 views
0

Excelと複数のファイルからいくつかのチャートとリンクされたワークシートオブジェクトを持つPowerPointプレゼンテーションがあります。私は、以下のコードを使用して、プレゼンテーション内のすべてのチャート/オブジェクトを日々変化するように更新しています。このコードはジョブのために機能します。しかし、それが実行された後、私は表示されていないいくつかの "オープン"エクセルファイルが残されています。私が彼らが開いていることを知っている唯一の方法は、私が別のExcelファイルとして開いて閉じる場合です、私は私のPowerPointを更新するために使用された他のすべてのファイルを保存するかどうか尋ねられます。プレゼンテーションを更新するために使用される各ファイルが(保存せずに)閉じられるようにするにはどうすればよいですか?私はファイルパスを入れてコード内の各ドキュメントを1つずつ閉じる方法を知っていますが、可能であれば、新しいチャート/オブジェクトでも動作するようにしたいので、コードを更新する必要はありません。LinkFormat.Updateの後にファイルを閉じる

Sub updatelinks() 
Dim sld As Slide, shp As Shape 

For Each sld In ActivePresentation.Slides 
    For Each shp In sld.Shapes 
     On Error Resume Next 
     shp.LinkFormat.Update 
    Next 
Next 
MsgBox "All Charts Updated" 
End Sub 

ご協力いただきありがとうございます。私のオリジナルコードを改善する提案があれば、これは初めてです。また、Office 365を使用しています。

おかげで、 クリス

答えて

0

あなたはので、私はそれらの詳細とボアあなたが文句を言わないファイルパスでExcelファイルをクローズする方法を知っていると言うが、あなたはshp.LinkFormat.SourceFullNameを更新するために使用されるExcelファイルのファイルパスを取得することができますので、更新のたびにループを閉じることができます。

関連する問題