CX's VBScript Diary

2017-06-10

VBScript + PowerPoint を利用してファイル形式を変換する方法

12:21 | VBScript + PowerPoint を利用してファイル形式を変換する方法 - CX's VBScript Diary を含むブックマーク はてなブックマーク - VBScript + PowerPoint を利用してファイル形式を変換する方法 - CX's VBScript Diary

はてなブックマーク経由で以下の記事を読みました。UWSC でパワーポイントを自動化しましょうというものでした。

パソコンの自動化で稼ぐことができたので方法教えるよ! – ysklog

http://ysklog.net/pc/5298.html

確かに UWSC で出来なくはないですが、もっとスマートな方法があります。

Office 製品は、それ自体が、COM コンポーネントと呼ばれる部品となっており、VBScript 等のプログラミング言語から呼び出して使用することができます。オートメーションと呼ばれる機能になります。

以下は、オートメーションの機能を利用した自動化サンプルになります。


' File : SaveAsPpt.vbs
' Usage : CScript //Nologo SaveAsPpt.vbs
' Description : VBScript でパワーポイントの .pptx 形式のファイルをオープンして .ppt 形式で保存するサンプル
Option Explicit

Const ppSaveAsPresentation = 1 

Call Main()

Sub Main()
    Dim ppt
    Set ppt = CreateObject("PowerPoint.Application")

    Dim strOldFileName
    Dim strNewFileName
    strOldFileName = "C:\work\test.pptx"
    strNewFileName = "C:\work\test.ppt"
    
    Dim pre
    Set pre = ppt.Presentations.Open(strOldFileName)
    ' ■ Presentation.SaveAs メソッド (PowerPoint)
    ' https://msdn.microsoft.com/ja-jp/library/office/ff746389.aspx
    pre.SaveAs strNewFileName, ppSaveAsPresentation
    ppt.Quit
End Sub

この記事が誰かの参考になれば幸いです。

以下は参考情報です。

Windows 標準コンポーネント最速マスター - CX's Hatena Blog

http://cx20.hatenablog.com/entry/2013/09/15/082626