• 締切済み

パワーポイントの作業効率化

パワーポイントで、複数のテキストボックスをまとめてコピーし、 (パワーポイントのソフトに限らず)ペーストした際に一つのテキストとして 表示されるような方法を模索しています。 どなたかご存知でしょうか。 使用しているのはPowerPoint for Mac 16.16.15になります。

みんなの回答

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

使用機種、アプリはPowerPoint for Mac 16.16.15とのことですが、当方、win10、Powerpoint2010です。「模索しています」と書かれているので、Win10、Powerpoint2010のVBAでの参考回答です。Mac版にできればいいんですが。 >複数のテキストボックスをまとめてコピー >ペーストした際に一つのテキストとして表示されるような方法 このどちらが必要なのでしょうか?コピーは必須? テキストボックスのテキストを取得するためにコピーをするんでしょうか。 >どなたかご存知でしょうか。 質問の目的がはっきり分からないので、全スライドのテキストボックス(挿入>図形のテキストボックス)の内容を取得して、スライド名とテキスト内容をイミディエイトウインドウに書くマクロが下になります。 添付図左のスライド2、3の3つはテキストボックスです。添付図右がイミディエイトウインドウへの出力結果です。イミディエイトウインドウはテキストなのでコピーできます。目に見えるファイル(メモ帳)のようなものです。(表示が必要です)テキストボックスという表現がプレース ホルダーや図形の内部のテキストを含む場合は別のコードになります VBEの標準モジュールに貼り付けました。MacのVBAは分かりません。参考程度にしてください。コピーアンドペーストすると日本語が化ける恐れがあるのでコメントは削除しています。ここまでWin10での表現です。 やってることは、   スライドの変数宣言   図形の変数宣言     プレゼンテーションの全スライドを対象       あるスライドの全図形を対象         図形がテキストボックスだったら           イミディエイトウインドウにスライド名を出力           イミディエイトウインドウにテキストボックスのテキストを出力の流れです。出力先をファイルや他ソフトに変更するもの可能でしょう。Macでも同じように動けばいいんですが。。。 Sub getTextBox_Text()  Dim sld As Slide  Dim shp As Shape  For Each sld In ActivePresentation.Slides   For Each shp In sld.Shapes    If shp.Type = msoTextBox Then     Debug.Print "--- " & sld.Name & " -------"     Debug.Print shp.TextFrame.TextRange.Text    End If   Next  Next End Sub