web-dev-qa-db-ja.com

PowerPointスライドへのExcelデータ

すでにいくつかの役立つサイトを見つけましたが、それでも自分のやりたいことができません。 Excelファイルに数列と複数行が含まれています。 1つの行のすべてのデータは1つのスライドにありますが、その1つの行の異なるセルのデータはPPスライドの特定の要素に移動する必要があります。最初に、 PPの特定のテキストボックスにセルをExcelで送信しますか?たとえば、各行の最初の列のすべてのデータをテキストボックス1に移動したいとします。100行あるので、100枚のスライドがあり、各スライドは正しいデータのテキストbow 1があります。スライド66のテキストボックスには、行66の最初の列のデータが含まれます。次に、各行の2列目のすべてのデータはテキストbow 2に続きます。

いくつかのマクロを実行しようとしましたが、うまくいきませんでした。また、Wordのアウトラインを使用してそれらをPP(新しいスライド->アウトラインからのスライド)にエクスポートしようとしましたが、250ページの意味不明なものを取得したため、バグがあるようです。段落は2つしかありませんでした。最初の段落は見出し1スタイルを使用し、2番目の段落は標準スタイルを使用しました。

私が見つけたサイト、VBおよび/または他のプログラミング言語を使用してExcelシートからスライドを作成します。これらのVBコードをマクロですが、今のところどれも機能していません。おそらく、正しく使用する方法がわかりません:)ここにいくつかの役立つサイトを示します。

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

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

Stackoverflowの質問

MacでOffice 2011を使用しています。何か助けていただければ幸いです!

5
nqw1

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

それがすること

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

使い方

  • ダウンロード アドイン
  • micorsoft Officeアドインフォルダーに保存します
    ヒント:押す Win+R%AppData%\ Roaming\Microsoft\AddInsと入力します
  • PowerPointを開き、アドインを有効にします
    • Excel 2003:メニューバー→ツール→アドイン
    • Excel 2007:スタートボタン→Excelオプション→アドイン→ドロップダウン:Excelアドイン→移動
    • Excel 2010:ファイルタブ→オプション→アドイン→ドロップダウン:Excelアドイン→移動
  • 新しいメニューバーエントリがポップアップします
    enter image description here
  • 新しい[Excelデータのインポート]ボタンをクリックすると、ファイルダイアログボックスが表示され、Excelファイルを選択できます。
    十分なテキストフィールドがある場合、アドインがそれらを入力します

この短い 画像アルバム を表示して、アドインを説明します


注:コードをカスタマイズする場合は、アドインコードを表示するために レジストリキーを追加 する必要があります。
ソースコードは Pastebinで表示

2
nixda

このようなものを試してください。スライドのテキスト@ 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
Steve Rindsberg

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は、各行をスライドとして完全なコンテンツをインポートする必要があります(SHOULD)。
0
Matt in NH