- 締切済み
パワーポイント2003のマクロについて
OSはXP、パワーポイント2003を使っています。スライドが15枚あります。15枚には3パターンで使用するスライドが入っています。パターン1では必要なスライドは8枚、パターン2では10枚、パターン3では13枚です。不要なスライドを削除するために、ネットで調べてマクロによる削除まで出来ました。スライドの削除は途中のスライドを削除したりするので、表題に付与している項目番号が変わります。 表題の項目番号はスライドの一番左上に記載しています。 マクロで文中に「1-(1)」「1-(2)」「1-(3)」「1-(4)」「2-(1)」「2-(2)」「3-(1)」を記載して、指定するスライドの左上に書き込むことは出来るでしょうか。もしくはマクロを実行させるPPTのファイルがあるのですが、これの2枚目以降のスライドに項目番号を記載し、コレをコピー&ペーストで実行することが出来るでしょうか。 教えていただける方、どうぞよろしくお願いします。 スライドを削除するVBAは下記で実行できました。 Sub pt1() ' ' マクロ記録日: 2012/5/28 ユーザー名: Dim myPath As String Dim PPTName As String Dim ThisPresentation As Presentation Dim CurrentPPT As Presentation Set ThisPresentation = ActivePresentation myPath = ActivePresentation.Path '自ファイルのパス取得 If Right$(myPath, 1) <> "\" Then myPath = myPath & "\" End If PPTName = Dir(myPath & "会議資料(原本).ppt") If PPTName <> ThisPresentation.Name Then Set CurrentPPT = Presentations.Open(myPath & PPTName) 'ファイル開く End If ActiveWindow.View.GotoSlide Index:=15 ActiveWindow.Selection.SlideRange.Delete ActiveWindow.View.GotoSlide Index:=14 ActiveWindow.Selection.SlideRange.Delete ActiveWindow.View.GotoSlide Index:=13 ActiveWindow.Selection.SlideRange.Delete ActiveWindow.View.GotoSlide Index:=12 ActiveWindow.Selection.SlideRange.Delete ActiveWindow.View.GotoSlide Index:=11 ActiveWindow.Selection.SlideRange.Delete ActiveWindow.View.GotoSlide Index:=10 ActiveWindow.Selection.SlideRange.Delete ActiveWindow.View.GotoSlide Index:=9 ActiveWindow.Selection.SlideRange.Delete ActiveWindow.View.GotoSlide Index:=8 ActiveWindow.Selection.SlideRange.Delete ActiveWindow.View.GotoSlide Index:=7 ActiveWindow.Selection.SlideRange.Delete ActiveWindow.View.GotoSlide Index:=4 ActiveWindow.Selection.SlideRange.Delete ActiveWindow.View.GotoSlide Index:=3 ActiveWindow.Selection.SlideRange.Delete ActiveWindow.View.GotoSlide Index:=1 ActiveWindow.Selection.SlideRange.Delete MsgBox "作成終了" End Sub
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- DreamyCat
- ベストアンサー率56% (295/524)
15枚づつ3セット分のスライドを複製して 不要なスライドを手で削除して 1枚目のスライドからハイパーリンクで目的別スライドショーにリンクするのではだめですか? 何でもマクロというのではなく どうしても通常の方法ではできないことをマクロでやるのがいいです。 ここに提示したマクロを考え質問している時間があれば、手作業でとっくに終わっているでしょう。
お礼
思ってもみなく、早期のご教示ありがとうございます。すごくうれしいです。 実は、説明がうまくなかったのですが、毎月月毎のデータをPPTに記載しています。それに加えて3ヶ月ごとの四半期には、毎月に追加したデータを、半年ごとには毎月と四半期のデータを記載した資料を作成しています。もともと3種類の(ご教示のあった3セット)資料を用意してそれぞれにデータを記載していたのですが、様式の変更や、記述の変更があったときは3種類とも修正が必要になることと、四半期、半期に記載する毎月データは四半期の場合、次の四半期の作成時は、3ヶ月前の毎月データが記載されているので、最新の毎月のデータと差異がないか、半期でも同様で、これを問題としています。ですから、様式を一本化しこれらのリスクを回避したいと考えました。 やはり、VBAでの対応は無理なのでしょうか?