[[20230425114815]] 『PowerPointの全スライドをばらして個別のファイル』(にも) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『PowerPointの全スライドをばらして個別のファイル』(にも)

PowerPointの全スライドをばらして個別のファイルにしたいです。

全くの初心者のため、ネットで見つけたものを参考にしましたが、
エラーがでるも対処方法が分かりません。

https://sasonediver.blog.fc2.com/blog-entry-144.html?sp

エラー値は、

スクリプト:C:\Users\ppt\Desktop\新しいフォルダー\PowerPointファイルを分解するツール.vbs

行 2
文字 1
エラー ステートメントがありません
コード 800A0400
ソース Microsoft VBScriptコンパイルエラー

このような簡単な説明で申し訳ございませんが、お力添えをお願いします。

< 使用 Excel:Excel2010、使用 OS:Windows11 >


 参考として上げられているURLは、SASという統計ソフトで、VBSのスクリプトを作るという
 ちょっと変わったことをやっている記事です。

 その記事に載っているのは、SASのプログラムなので、SASで動かすか、
 SASプログラムを解読して、自分でVBSのスクリプトを作る必要があります。

 さて、今実行している PowerPointファイルを分解するツール.vbs のコードを示してください。

 コードを示さずにエラーの原因を考えろっていうのは無茶振り過ぎです

 Excelの質問ではないので、もっと適切な質問サイトがありそうですが...
(´・ω・`) 2023/04/25(火) 12:41:42

 全スライドをばらすだけなら、パワポに直接コードぶち込めばいいと思うんだけど、コピーとかのお作法が分からなくて
https://www.relief.jp/docs/powerpoint-vba-copy-slides-from-other-file.html
 ここ参考にしました。
 パワポ2013だとマクロの記録できないのね・・・

 ただ、スライドの縦横比や埋め込みフォントとかまでコピーされてるかわからないです・・・

 プレゼンテーションごとに分解が目的じゃなくて、単純に1ぺーズずつ見たいだけなら、
 PDF出力のほうが労力は少ないと思われます。

 テキストか何かに入れておいて、必要な時に対象のパワポにコードコピーして実行すれば使えるかもしれないです。

 以下VBEを開いて、標準モジュールに貼り付けて実行すれば、
 同じフォルダの直下に「分解後」フォルダ作って
 1スライドずつプレゼンテーションファイルになっているハズです。

    Option Explicit

    Sub パワポ分解()
        Dim myPre As Presentation
        Dim outPre As Presentation
        Dim fn As String
        Dim fp As String
        Dim fullname As String
        Dim sl As Slide
        Dim cnt As Long
        Set myPre = ActivePresentation
        Set outPre = Application.Presentations.Add
        fn = myPre.Name
        fp = myPre.Path & "\分解後\"
        fullname = myPre.fullname
        If Dir(fp, vbDirectory) = "" Then
            MkDir (fp)
        End If
        cnt = 0
        For Each sl In myPre.Slides
            cnt = cnt + 1
            If cnt Mod 10 = 0 Then DoEvents
            With outPre
                .Slides.InsertFromFile fullname, 0, cnt, cnt
                .SaveCopyAs fp & Format(Date, "yyyymmdd_") & cnt & "_" & fn
                .Slides(1).Delete
            End With
        Next sl
        outPre.Close
        MsgBox "出力しました"
    End Sub
(稲葉) 2023/04/25(火) 12:47:50

(´・ω・`)様
SASという統計ソフトであることご説明いただきましてありがとうございます。
対応できないことが分かりました。

Excelの質問ではないことは、承知しております。
過去ログより、PPT案件を記載されており、回答があることを見て記載しました。
また、他サイトよりもこちらのサイトは、丁寧に細かく解説回答があり、
不明点を最後まで見ていただけていると思っておりますので、こちらへ質問させていただきました。

ご回答ありがとうございました。
(にも) 2023/04/26(水) 09:24:58


稲葉様
ご回答ありがとうございます。

PPTをそのままばらして、1枚事のデータ管理をしたいのです。
添付サイトの内容がまさに理想形でありまして・・・。

作成いただいたものをVBEへ記載し実行しました。

    Sub パワポ分解()
        Dim myPre As Presentation

ユーザ定義型は定義されません。
エラーになるのは、私の準備が悪いと思いますが、何をしたら良いのでしょうか?

何度も申し訳ございません。
(にも) 2023/04/26(水) 09:33:49


稲葉様
何度も申し訳ございません。

分解できました!!
出来上がった瞬間感動です!!

本当にありがとうございました。
(にも) 2023/04/26(水) 09:38:11


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.