No.1ベストアンサー
- 回答日時:
こんばんは。
> どのようにコーディングすればいいでしょうか?
ご自分でどこまでできてます?
> VBAでExcelに書き出したいのですが、可能でしょうか?
可能です。適当に書いたものですが下記のような感じとか。
注意点は、Shape のインデックス順の抽出になります。レイアウト通りの
順番で抽出できるとは限りません。レイアウト通りと思えば、非常に
面倒だと思います。(※この点の解決案は後述の参考 URL 参照)
なお、私なら多分外部ツールと組み合わせますよ。
[xdoc2txt] - PDF,WORD,EXCEL,一太郎などからテキストを抽出
http://www31.ocn.ne.jp/~h_ishida/xdoc2txt.html
この関連で Web 検索するとこんな記事がありました。
[パワーポイントからテキストを抽出]
http://www.ctrans.org/gobi/1156579633
ご参考までに。
' // フォルダ内の *.ppt ファイルからテキストを抽出する
Sub OutputText()
Dim ppApp As Object ' // PowerPoint.Application
Dim ppPre As Object ' // PowerPoint.Presentation
Dim ppShp As Object ' // PowerPoint.Shape
Dim ppSld As Object ' // PowerPoint.Slide
Dim sPath As String
Dim sFnam As String
Dim i As Long
Dim sh As Worksheet
' // 処理対象のフォルダパス
sPath = "C:\"
' // 初回ファイル検索
sFnam = Dir$(sPath & "\" & "*.ppt")
If Len(sFnam) = 0 Then
MsgBox "*.ppt が見つかりません", vbInformation
Exit Sub
End If
On Error GoTo Err_
' // PowerPoint起動
Set ppApp = CreateObject("PowerPoint.Application")
ppApp.Visible = True
' // 出力シート作成
Set sh = Workbooks.Add.Sheets(1)
With sh.Range("A1:D1")
.Font.Bold = True
.Value = Array("Filename", "Slide Number", "Shape Name", "Text")
End With
' // リスト開始行番号
i = 2
' // *.ppt が見つからなくなるまでループ
Application.ScreenUpdating = False
While Len(sFnam) > 0
' // Presentation を開き、全ての Slide -その中の全ての Shape について
' // テキストがあればセルに出力する
Set ppPre = ppApp.Presentations.Open(Filename:=sPath & "\" & sFnam, _
ReadOnly:=True)
For Each ppSld In ppPre.Slides
For Each ppShp In ppSld.Shapes
If ppShp.HasTextFrame Then
sh.Cells(i, "A").Value = sFnam
sh.Cells(i, "B").Value = ppSld.SlideNumber
sh.Cells(i, "C").Value = ppShp.Name
sh.Cells(i, "D").Value = Replace$(ppShp.TextFrame.TextRange.Text, _
vbCr, vbLf)
i = i + 1
End If
Next
Next
' // Presentation を閉じ、次のファイルを検索
ppPre.Close
Set ppPre = Nothing
sFnam = Dir$()
Wend
ppApp.Quit
sh.Columns.AutoFit
sh.Rows.AutoFit
Bye_:
Set ppApp = Nothing
Set sh = Nothing
Exit Sub
Err_:
MsgBox Err.Description, vbCritical
Resume Bye_
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでPowerPointからExcelにレイアウト通りに出力する 4 2023/07/05 12:22
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
- その他(Microsoft Office) 【VBA】フォルダ内のファイル全てに対して、セルA1の文字列から「;」を削除して上書き保存する方法 4 2022/04/24 10:59
- インターンシップ インターンシップについてです。大学3年生です。 再来週にインターンシップに参加するのですがその際、M 2 2022/10/13 12:17
- Visual Basic(VBA) Excel ファイルを指定し、指定されたファイル内にシートを統合するVBA 8 2023/07/10 10:09
- PostgreSQL ポストグレにあるExcelファイルを開くには 1 2022/12/13 18:07
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- PowerPoint(パワーポイント) PowerPointのテキストの改行は批判されないのでしょうか 2 2022/05/25 14:45
- その他(Microsoft Office) Excel、PowerPoint、Word中級レベル 3 2023/06/20 18:09
- Access(アクセス) accessデータを指定したExcel、そして指定したセルへエクスポートするaccess VBAコー 2 2023/05/17 17:02
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
パワーポイントをエクセルファイルへ
PowerPoint(パワーポイント)
-
VBAでPPTからEXCELにデータをコピー
Visual Basic(VBA)
-
【VB.NET】 パワポ操作を非表示で
Visual Basic(VBA)
-
-
4
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
5
ExcelVBAにて既に開かれているPowerpointをアクティブにするには?
Excel(エクセル)
-
6
PowerPointVBAでスライドマスター上での編集
PowerPoint(パワーポイント)
-
7
パワーポイントのVBAでテキストボックスに値を変更させたいです
Visual Basic(VBA)
-
8
VBからPowerPointのマクロを実行する方法
Visual Basic(VBA)
-
9
VBAでPowerPointからExcelにレイアウト通りに出力する
Visual Basic(VBA)
-
10
パワーポイントに貼り付けたエクセルデータをエクセルに戻す方法
PowerPoint(パワーポイント)
-
11
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
12
エクセルユーザーフォームのチェックボックスのCaptionにセルの値を入れたい。
Excel(エクセル)
-
13
スペースで区切られた氏名から性だけを抽出するには?
Visual Basic(VBA)
-
14
パワポに張り込まれたグラフからデータを抽出する方法
PowerPoint(パワーポイント)
-
15
パワーポイントでスライドごとに別々のファイルで保存
PowerPoint(パワーポイント)
-
16
VBAで既存のパワポのファイルを開くには?
Access(アクセス)
-
17
ExcelのVBAで、選択したファイルが既に開かれているか確認したい
Excel(エクセル)
-
18
ワードからエクセルへ貼り付けるマクロ
Excel(エクセル)
-
19
【VBA】ワークブックを開く時にエラーが出る場合と出ない場合の違いは?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ある文字列を含む行の抽出
-
Excel.VBA テキストファイルを...
-
VB6側からテキストファイルをク...
-
VBAでPowerPointからExcelにデ...
-
fortranでのcsvファイルを出力...
-
VBSを用いてIPアドレスを取得し...
-
バッチでiniファイルの編集
-
VBAで新しい日付順にファイルを...
-
VBAで外部ファイル(HTMLソース...
-
特定フォルダ内のテキストファ...
-
複数行の文字列を変数として使...
-
テキストファイルを直接置換す...
-
BCPユーティリティの使用法_...
-
アンケート結果をcsv出力できる...
-
cobolのコメント削除
-
VB.NETでテキストファイルからH...
-
複数のCSVの指定行だけを残し、...
-
コマンドプロンプトの「%1」と...
-
バッチでテキストファイルから...
-
コマンドプロンプトのエラーに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6側からテキストファイルをク...
-
VBAで新しい日付順にファイルを...
-
VBAでPowerPointからExcelにデ...
-
特定フォルダ内のテキストファ...
-
BCPユーティリティの使用法_...
-
ある文字列を含む行の抽出
-
access vbaでCSVファイルを文...
-
テキストファイルを直接置換す...
-
複数行の文字列を変数として使...
-
テキストファイルの行頭に文字...
-
A列をテキストファイル名に、B...
-
バッチでiniファイルの編集
-
Excel.VBA テキストファイルを...
-
fortranでのcsvファイルを出力...
-
unicode文字列(日本語)のファイ...
-
RandomとBinaryモードの違い
-
ソースコードの差分がある行番...
-
c言語の問題です
-
C#でのファイル編集と上書き保...
-
VBAで任意のフォルダ内のファイ...
おすすめ情報