Excel VBAでPowerPointのスライドサイズを一括変更する方法

Excel VBAを使用してPowerPointのスライドサイズを一括で変更する方法について詳しく解説します。この記事では、Excel VBAの基本的な操作から、PowerPointのスライドサイズを変更するための具体的なVBAコード、その詳細解説、さらに応用例を3つ紹介します。この情報を通して、Excel VBAの多彩な応用力を体感してください。

目次

Excel VBAの基本

Excel VBA(Visual Basic for Applications)は、Microsoft Excelに組み込まれたプログラミング言語です。これを用いると、単純作業の自動化だけでなく、高度なデータ分析やレポート作成も可能になります。

そもそも、どこにVBAコードを書いて、どう実行すれば良いのか分からない場合は、以下の記事をご参照ください。

Excel VBAを使用したPowerPoint操作の基本

Excel VBAは、Excelの自動操作だけでなく、他のOffice製品を操作することも可能です。今回は、Excel VBAを使用してPowerPointのスライドサイズを一括で変更する方法を学びます。

必要な参照設定

PowerPointをExcel VBAから操作するためには、参照設定を追加する必要があります。
1. VBAエディタを開きます。
2. 「ツール」メニューから「参照設定」を選択します。
3. 「Microsoft PowerPoint xx.x Object Library」(xx.xはバージョンにより異なる)にチェックを入れて、「OK」をクリックします。

これで、Excel VBAからPowerPointを操作する準備が整いました。

基本的なコードの構造

PowerPointを操作する基本的なコードの構造は以下のようになります。


Dim pptApp As Object
Dim pptPresentation As Object

' PowerPointを起動
Set pptApp = CreateObject("PowerPoint.Application")
pptApp.Visible = True

' 新しいプレゼンテーションを作成
Set pptPresentation = pptApp.Presentations.Add

PowerPointのスライドサイズを変更するVBAコード

以下のコードは、PowerPointのスライドサイズをA4縦に一括で変更するためのものです。


Dim pptApp As Object
Dim pptPresentation As Object

' PowerPointを起動
Set pptApp = CreateObject("PowerPoint.Application")
pptApp.Visible = True

' 新しいプレゼンテーションを作成
Set pptPresentation = pptApp.Presentations.Add

' スライドサイズをA4縦に変更
pptPresentation.PageSetup.SlideSize = 1 ' A4縦

コードの解説

– `Dim pptApp As Object`: PowerPointアプリケーションを参照するための変数を宣言します。
– `Dim pptPresentation As Object`: PowerPointプレゼンテーションを参照するための変数を宣言します。
– `Set pptApp = CreateObject(“PowerPoint.Application”)`: PowerPointを起動します。
– `pptApp.Visible = True`: PowerPointを表示状態にします。
– `Set pptPresentation = pptApp.Presentations.Add`: 新しいプレゼンテーションを作成します。
– `pptPresentation.PageSetup.SlideSize = 1`: スライドのサイズをA4縦に変更します。

応用例

応用例1:既存のプレゼンテーションのスライドサイズを変更


Dim pptApp As Object
Dim pptPresentation As Object
Dim filePath As String

filePath = "C:\path\to\your\presentation.pptx"

' PowerPointを起動
Set pptApp = CreateObject("PowerPoint.Application")
pptApp.Visible = True

' 既存のプレゼンテーションを開く
Set pptPresentation = pptApp.Presentations.Open(filePath)

' スライドサイズをA4縦に変更
pptPresentation.PageSetup.SlideSize = 1

応用例2:複数のプレゼンテーションのスライドサイズを一括変更


Dim pptApp As Object
Dim pptPresentation As Object
Dim filePaths As Variant
Dim i As Integer

filePaths = Array("C:\path\to\presentation1.pptx", "C:\path\to\presentation2.pptx")

' PowerPointを起動
Set pptApp = CreateObject("PowerPoint.Application")
pptApp.Visible = True

For i = LBound(filePaths) To UBound(filePaths)
    ' プレゼンテーションを開く
    Set pptPresentation = pptApp.Presentations.Open(filePaths(i))

    ' スライドサイズをA4縦に変更
    pptPresentation.PageSetup.SlideSize = 1

    ' プレゼンテーションを保存して閉じる
    pptPresentation.Save
    pptPresentation.Close
Next i

応用例3:特定の条件を満たすスライドだけサイズを変更

こちらの例では、スライドタイトルが「重要」という文字を含むスライドのみ、サイズをA4縦に変更します。


Dim pptApp As Object
Dim pptPresentation As Object
Dim slide As Object
Dim filePath As String

filePath = "C:\path\to\your\presentation.pptx"

' PowerPointを起動
Set pptApp = CreateObject("PowerPoint.Application")
pptApp.Visible = True

' 既存のプレゼンテーションを開く
Set pptPresentation = pptApp.Presentations.Open(filePath)

For Each slide In pptPresentation.Slides
   

 If InStr(slide.Shapes(1).TextFrame.TextRange.Text, "重要") > 0 Then
        ' スライドサイズをA4縦に変更
        pptPresentation.PageSetup.SlideSize = 1
    End If
Next slide

まとめ

Excel VBAを使用してPowerPointのスライドサイズを一括で変更する方法について学びました。基本的なコードから応用例まで、さまざまなシチュエーションでの使用方法を解説しました。このテクニックを利用して、PowerPointの効率的な操作を実現しましょう。

VBAも良いけどパワークエリも良い

VBAの解説をしてきましたが、VBAは正直煩雑でメンテナンス性が悪いです。最近はモダンExcelと呼ばれるパワークエリやパワーピボットへのシフトが進んできています。本サイトでもパワークエリの特集をしており、サンプルデータを含む全11回の学習コンテンツでパワークエリを習得することができます。

クリックするとパワークエリの全11講座が表示されます。

パワーピボットの記事はありません。興味がある場合は、書籍で学んでみてください

コメント

コメントする

目次