Excel データを PowerPoint スライドに

Excel データを PowerPoint スライドに

すでに役立つサイトをいくつか見つけましたが、まだやりたいことができません。私の Excel ファイルには、いくつかの列と複数の行が含まれています。1 つの行のすべてのデータは 1 つのスライドにありますが、その 1 つの行の異なるセルのデータは、PP スライドの特定の要素に移動する必要があります。まず、Excel セルから PP の特定のテキスト ボックスにデータをエクスポートすることは可能ですか? たとえば、各行の最初の列のすべてのデータをテキスト ボックス 1 に移動したいとします。行が 100 個あるので、100 枚のスライドがあり、各スライドに正しいデータを含むテキスト ボックス 1 があるとします。スライド 66 のテキスト ボックスには、行 66 の最初の列のデータが含まれます。次に、各行の 2 番目の列のすべてのデータがテキスト ボックス 2 に移動し、以下同様に続きます。

マクロをいくつか試してみましたが、うまくいきませんでした。また、Word のアウトラインを使用して PP にエクスポートしようとしましたが ([新しいスライド] -> [アウトラインからのスライド])、250 ページの意味不明な内容が出力されたため、バグがあるようです。段落は 2 つだけで、どちらも単語は 1 つでした。最初の段落では見出し 1 スタイルを使用し、2 番目の段落では標準スタイルを使用しました。

私が見つけたサイトでは、VB や他のプログラミング言語を使用して Excel シートからスライドを作成しています。これらの VB コードをマクロに追加しようとしましたが、今のところどれも機能していません。おそらく、正しい使い方を知らないだけでしょう :) 役立つサイトをいくつか紹介します。

VBA: Excel ブックの各行に PowerPoint スライドを作成する

データに基づいたプレゼンテーションレポートの作成

Stackoverflowでの質問

私は Mac で Office 2011 を使用しています。ご協力いただければ幸いです。

答え1

次のようにしてみてください。スライド上のテキスト @COL1@ のインスタンスすべてをワークシートの値に置き換えるように、いくつかの変更を加えました。エアコードはテストされていません。

Sub CreateSlides()
'Open the Excel workbook. Change the filename here.
Dim OWB As New Excel.Workbook
Set OWB = Excel.Application.Workbooks.Open("C:\list.xlsx")
'Grab the first Worksheet in the Workbook
Dim WS As Excel.Worksheet
Dim sCurrentText As String
Dim oSl As Slide
Dim oSh As Shape
Set WS = OWB.Worksheets(1)
Dim i As Long
'Loop through each used row in Column A
For i = 1 To WS.Range("A65536").End(xlUp).Row
    'Copy the first slide and paste at the end of the presentation
    ActivePresentation.Slides(1).Copy
    Set oSl = ActivePresentation.Slides.Paste(ActivePresentation.Slides.Count + 1)
    sCurrentText = WS.Cells(i, 1).Value

    ' find each shape with "@COL1@" in text, replace it with value from worksheet
    For Each oSh In oSl.Shapes
      ' Make sure the shape can hold text and if is, that it IS holding text
      If oSh.HasTextFrame Then
        If oSh.TextFrame.HasText Then
          ' it's got text, do the replace
          With oSh.TextFrame.TextRange
            .Replace "@COL1@", sCurrentText
          End With
        End If
      End If
    Next
Next
End Sub

答え2

PowerPoint アドインExcel インポートExcelデータをPowerPointにインポートできる

何をするのか

  • 開いているプレゼンテーションに Excel データをインポートします
    。方法: PowerPoint スライドごとに 1 つの Excel 行、現在のスライドのテキスト フィールドごとに 1 つのセル
  • 複数のシートが存在する場合、データを取得する Excel シートを選択できます。
  • Excel ファイルの行数が PowerPoint のスライド数より多い場合は、自動的にスライドを追加できます。
  • 行のすべてのデータを格納するのに十分なテキストフィールド(図形)がない場合に警告します。
  • すべてのMicrosoft Officeバージョンで動作します

使い方

  • ダウンロード加える
  • Microsoft Officeアドインフォルダに保存します。
    ヒント: Win+を押してR入力します。%AppData%\Roaming\Microsoft\アドイン
  • PowerPointを開いてアドインを有効にします
    • Excel 2003: メニューバー → ツール → アドイン
    • Excel 2007: スタートボタン → Excel オプション → アドイン → ドロップダウン: Excel アドイン → 実行
    • Excel 2010: ファイルタブ → オプション → アドイン → ドロップダウン: Excel アドイン → 移動
  • 新しいメニューバーのエントリがポップアップ表示されます
    ここに画像の説明を入力してください
  • 新しいExcelデータのインポートボタンをクリックすると、Excelファイルを選択するためのファイルダイアログがポップアップ表示されます。
    十分なテキストフィールドがある場合は、アドインがそれらを入力します。

この短編を見るimgur アルバムアドインを説明する


注記: コードをカスタマイズしたい場合はレジストリキーを追加するアドインコードを見るには、
ソースコードをご覧ください。pastebinで閲覧

答え3

PPTools は、現在標準となっている 64 ビットでは動作しません。

PowerPoint は Word 文書を開きます。Word は HTML を開きます。

  1. Excel で、左側に列を挿入します。
  2. その列のすべてのセルに HTML タグ <h1> を配置します。
  3. 右端の列の各セルに HTML タグ </h1> を配置します。
  4. シート全体をメモ帳にコピー/貼り付けます。
  5. 先頭に次のタグを追加します: <html><body>
  6. 下部に次のタグを追加します: </body></html>
  7. すべてのタブを削除するには、何もない内容でタブを検索/置換します。
  8. それを something.html として保存します。閉じます。
  9. Word で開きます。
  10. something.docxとして保存する
  11. さあ、閉じてください。
  12. PowerPoint で something.docx を開きます (「*.pptx」ではなく「すべてのファイル」を選択します)。
  13. PowerPoint では、各行をスライドとして完全なコンテンツをインポートする必要があります。

関連情報