人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

パワーポイントに含まれる全ての文字を、テキストファイルとして取り出すことはできるのでしょうか?

rtfで保存するとアウトラインとして認識された文字はテキストファイルに出力されるのですが、テキストボックスに書かれた文字はテキストファイルに出力されません。
テキストボックスに書かれた文字も含めてテキストファイルに出力する方法をご存じでしたらご教示ください。

よろしくお願いします。

●質問者: eno2i
●カテゴリ:コンピュータ
✍キーワード:アウトライン テキスト パワーポイント ファイル ボックス
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● cx20
●200ポイント

VBA や VBScript を使用することで、テキストボックスやオートシェイプといったオブジェクト単位に情報を取得することが可能です。

' <使い方>
' 1. Power Point の「Visual Basic Editor」を起動。
' 2. [挿入] - [標準モジュール] を選択。
' 3. 下記のコードを貼り付け。
' 4. [実行] - [Sub/ユーザー フォームの実行] を選択。
' これで、C:\DebugPrint.Log に
' テキストボックスの内容が出力されます。
Const g_strLogFile = "C:\DebugPrint.Log"
Sub TextBoxToDebugPrint()
 Dim slide
 For Each slide In ActiveWindow.Parent.Slides
 Dim shape
 For Each shape In slide.Shapes
 Debug.Print shape.TextFrame.TextRange.Text
 Next
 Next
End Sub
' デバッグ文字列の出力
Function DebugPrint(ByVal strData As String)
' Debug.Print strData
 Open g_strLogFile For Append As #1
 Print #1, strData
 Close #1
End Function
' <使い方>
' 1. 以下のコードを TextBoxToFile.vbs として保存します。
' 2. 出力先ファイル名を g_strLogFile に記述します
' 3. Ponwer Point ファイル名を g_strFileName に記述します。
' 4. コマンドプロンプトで、
' CScript TextBoxToFile.vbs [Enter]
' を実行します。
' これで、C:\DebugPrint.Log にテキストボックスの内容が出力されます。
Const g_strLogFile = "C:\DebugPrint.Log" ' 出力先ファイル名
Const g_strFileName = "C:\home\edu\hatena\eno2i\1144314367\test.ppt" ' Ponwer Point ファイル名
Call Main
Sub Main()
 Set app = CreateObject("Powerpoint.Application")
 app.Visible = True
 
 Call app.Presentations.Open(g_strFileName)
 Call TextBoxToDebugPrint(app)
 
 app.Quit
 Set app = Nothing
End Sub
Sub TextBoxToDebugPrint( ByRef app )
 Dim slide
 For Each slide In app.ActiveWindow.Parent.Slides
 Dim shape
 For Each shape In slide.Shapes
 'Debug.Print shape.TextFrame.TextRange.Text
 DebugPrint shape.TextFrame.TextRange.Text
 Next
 Next
End Sub
' デバッグ文字列の出力
Function DebugPrint(ByVal strData )
 Dim fso
 Set fso = CreateObject("Scripting.FileSystemObject")
 With fso.OpenTextFile(g_strLogFile, 8, True) ' 追加書き込みモード
 .WriteLine strData
 .Close
 End With
End Function

http://q.hatena.ne.jp/1088310094

http://q.hatena.ne.jp/1088259183

(現在、「Sorry, it's under maintenance. 」と出て、表示されないようです・・・)

◎質問者からの返答

ステキです!

どうもありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ