パワーポイントのタイトル一覧をExcelに出力する方法を知りたいときはないでしょうか。
けど、そんな中で悩むことは、
・VBAでパワーポイントのタイトル一覧をExcelに出力する方法がわからない
ですよね。
今回はそんなお悩みを解決する
についてまとめます!
もくじ
パワーポイントのタイトル一覧をExcelに出力するイメージ
パワーポイントのタイトル一覧をExcelに出力するイメージについて説明をします。
まずはタイトル出力先となるExcelシートを用意します。
次にタイトルを取得したいパワーポイントを開きます。
マクロを実行すると、
Excelのセルへパワーポイントのタイトルの一覧が出力されます!
ページ番号もつきますので、どのスライドのタイトルかもわかります!
それでは早速実装してためしてみましょう!
![タカヒロ](/wp-content/uploads/2020/11/taka_kao.gif)
パワーポイントのタイトル一覧をExcelに出力するための下準備
パワーポイントのタイトル一覧をExcelに出力するための下準備をしていきましょう。
パワーポイントファイルを準備する
パワーポイントファイルを準備しましょう。
サンプルでは以下のタイトルがあるスライドが入っています。
目次 |
背景/導入-変更 |
目標-変更 |
方法/アプローチ |
スケジュール |
予算 |
成果物 |
評価/効果 |
リスク/課題 |
実績 |
おわりに |
Excel台帳ファイルを準備する
タイトルが書き込まれるExcelシートを用意します。
各セルの構成は以下の通りです。
A列 | B列 |
---|---|
タイトル名 | ページ番号 |
またこのExcel側にVBAのコードを実装していきます。
Excelからパワーポイントを操作できるよう設定する
ExcelからパワーポイントをVBAで操作できるよう設定をしていきましょう。
①Excelを起動し、「開発」タブをクリックします。
②VBEの画面が開いたら、メニューから「ツール」>「参照設定」を選択します。
③「Microsoft PowerPoint XX.X Object Library」を探してチェックボックスにチェックし「OK」をクリックします。
![タカヒロ](/wp-content/uploads/2020/11/taka_kao.gif)
パワーポイントのタイトル一覧をExcelに出力する方法
サンプルコード
パワーポイントのタイトル一覧をExcelに出力するサンプルコードは以下の通りです。
Sub パワーポイントのタイトル一覧取得()
Dim appPPT As Object
Dim objPPTPres As Object
Dim objPPTSlide As Object
Dim strPPTTitle As String
Dim intRowCount As Integer
Dim intPPTPageNum As Integer
' PowerPointが起動しているかチェックします。
On Error Resume Next
Set appPPT = GetObject(, "PowerPoint.Application")
On Error GoTo 0
' PowerPointが起動していない場合メッセージを表示します。
If appPPT Is Nothing Then
MsgBox "PowerPointが起動していません。"
Exit Sub
End If
' アクティブなプレゼンテーションを取得します。
Set objPPTPres = appPPT.ActivePresentation
' タイトルを取得してExcelに出力します。
If Not objPPTPres Is Nothing Then
' 出力するExcelの行番号を指定します。
intRowCount = 1
'Excelの1シート目を対象にします。
With ThisWorkbook.Sheets(1)
'A,B列の値をクリアします。
.Range("A:B").Clear
' タイトルを出力します。
For Each objPPTSlide In objPPTPres.Slides
strPPTTitle = objPPTSlide.Shapes.Title.TextFrame.TextRange.Text
intPPTPageNum = objPPTSlide.SlideNumber
' タイトルが存在する場合のみ出力します。
If Len(strPPTTitle) > 0 Then
.Cells(intRowCount, 1).Value = strPPTTitle
.Cells(intRowCount, 2).Value = intPPTPageNum
intRowCount = intRowCount + 1
End If
Next objPPTSlide
End With
MsgBox "PowerPointのタイトルを取得し、Excelに出力しました。"
Else
MsgBox "アクティブなプレゼンテーションがありません。"
End If
' PowerPointオブジェクトを解放します。
Set objPPTSlide = Nothing
Set objPPTPres = Nothing
Set appPPT = Nothing
End Sub
VBAを設定する
VBAを設定していきましょう。
出力するExcelの行番号を指定します。2行目からにしたい場合は2を指定してください。
intRowCount = 1
Excelの1シート目を対象にしますが、シート番号やシート名を変えると別のシートを参照することができます。
With ThisWorkbook.Sheets(1)
VBAの実装
VBAの実装方法については
VBAの実装手順
をご参照ください。
マクロの実行ボタンを追加する場合は、
「開発」タブの「挿入」>「フォームコントロール」からボタンを選択してください。
ボタンが配置されたら右クリックし「マクロの登録」からマクロを選択してください。
実行する
VBAを実行しましょう。
「PowerPointのタイトルを取得し、Excelに出力しました。」が表示されたら完了です。
パワーポイントをみてみましょう。
はい!パワーポイントのタイトル一覧がExcelに出力されましたね!
パワーポイントのタイトルを変更し、再度タイトル一覧をExcelに出力する
パワーポイントのタイトルを変更し、再度タイトル一覧をExcelに出力してみましょう。
一部のスライドのタイトルを「-変更」という形で変更しました。
実行する
VBAを実行しましょう。
はい!パワーポイントの変更したタイトル一覧がExcelに出力されましたね!!
パワーポイントのタイトル一覧をExcelに出力するVBAの説明
パワーポイントのタイトル一覧をExcelに出力するVBAについて説明をします。
PowerPointが起動しているかチェックします。
On Error Resume Next
Set appPPT = GetObject(, "PowerPoint.Application")
On Error GoTo 0
PowerPointが起動していない場合メッセージを表示します。
If appPPT Is Nothing Then
MsgBox "PowerPointが起動していません。"
Exit Sub
End If
アクティブなプレゼンテーションを取得します。
Set objPPTPres = appPPT.ActivePresentation
タイトルを取得してExcelに出力します。
If Not objPPTPres Is Nothing Then
出力するExcelの行番号を指定します。
intRowCount = 1
Excelの1シート目を対象にします。
With ThisWorkbook.Sheets(1)
A,B列の値をクリアします。
.Range("A:B").Clear
タイトルとページ番号を変数に代入します。
strPPTTitle = objPPTSlide.Shapes.Title.TextFrame.TextRange.Text
intPPTPageNum = objPPTSlide.SlideNumber
タイトルが存在する場合のみ出力します。
If Len(strPPTTitle) > 0 Then
.Cells(intRowCount, 1).Value = strPPTTitle
.Cells(intRowCount, 2).Value = intPPTPageNum
intRowCount = intRowCount + 1
End If
PowerPointオブジェクトを解放します。
Set objPPTSlide = Nothing
Set objPPTPres = Nothing
Set appPPT = Nothing
VBAの実装手順
実装手順は以下の通りです。
Excel側にVBAを実装していきます。
①Excelを新規に開き、「開発」タブをクリックし、「VisualBasic」をクリックします。
もしくはショートカットキー「Alt」+「F11」でもOKです。
②標準モジュールを追加します。
左ペインのVBAProjectを右クリックし、「挿入」、「標準モジュール」を選択します。
![](https://extan.jp/wp-content/uploads/2019/05/050919_1542_VBAFunctio2.png)
③右ペインのウインドウに上記のVBAを入力します。
こちらで完了です。
VBAを実行する
では早速VBAの実行をしてみましょう。
①「開発」タブの「VBA」をクリックし実行したいマクロを選択し、「実行」をクリックします。
②処理がされたことが確認できれば完了です。
さいごに
いかがでしょうか。
今回は、
についてまとめました。
また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。
コメントを残す