ここから本文です

Excelファイル(2013)のセル内の値を、PowerPointファイル(2013)のテキストボックス...

tra********さん

2015/3/2019:56:51

Excelファイル(2013)のセル内の値を、PowerPointファイル(2013)のテキストボックス内に流し込んで、値ごとにファイル名を付けて、ファイル生成したいと考えています。

イメージとしてはWordの差込印刷のようなもので、エクセルのセルの値ごとに1ファイルを生成したいのです。そして、値ごとにファイル名を付けることまでを自動化したいのです。
Excel VBA または PowerPoint VBA を使って、この作業は可能でしょうか?
可能ならば、以下の場合にどのようなプログラムになるかコードの実例を挙げて、ご教示いただけると助かります。

●Excelファイル名:リスト.xlsx
<シート名: Sheet1>
セルA1の値:ID セルB1の値:地域 →これは項目名
セルA2の値:01 セルB2の値:東北 →ここからデータ
セルA3の値:02 セルB3の値:北陸
セルA4の値:03 セルB4の値:関東

●PowerPointファイル名:元ファイル.pptx →ベースとなるファイル
スライド1のみ。スライド1にはテキストボックスが貼り付けてあり、この中にセルB2の値「東北」を流し込み、ファイル名を「地域別ファイル_東北.pptx」として保存。セルB3以降についてこの作業を行い、B列の値がなくなるまで繰り返す。

以上、よろしくお願いいたします。

閲覧数:
498
回答数:
1
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

gek********さん

2015/3/2212:39:49

プレースホルダーではなく、テキストボックスなのですね。
仮にテキストボックスの名前が"TextBox 1"だったとして作例を示します。
Excel VBA, PowerPoint VBA のどちらを使っても作成可能ですが、生成するファイルは PowerPoint のプレゼンテーションファイルですので、ここでは PowerPoint VBA の方で作ってみます。
ただ、pptx ファイル形式ではマクロが保存されませんので、pptm形式としてください。

さて、あらかじめ、VBEの[ツール]-[参照設定]で、
Microsoft Excel XX.X Object Library
(XX.X の部分はバージョン番号。例えば Excel 2013 ですと 15.0 です)
を参照設定してあるものとして

Sub 差し込みサンプル()
Dim XL As New Excel.Application
Dim XLBK As Excel.Workbook
Dim R As Excel.Range
Dim S As String
Set XLBK = XL.Workbooks.Open("リスト.xlsx")
Set R = XLBK.Worksheets("Sheet1").Range("B2")
With ActivePresentation
Do While True
S = R.Value
If S = "" Then Exit Do
.Slides(1).Shapes("TextBox 1").TextFrame.TextRange = S
.SaveAs FileName:="地域別ファイル_" & S & ".pptx", FileFormat:=ppSaveAsOpenXMLPresentation
Set R = R.Offset(1, 0)
Loop
End With
XL.Quit
End Sub

のようなプログラムで 処理可能ではないかと思います。

  • 質問者

    tra********さん

    2015/3/2217:04:39

    回答いただき、誠にありがとうございます。

    ただ、
    『Set XLBK = XL.Workbooks.Open("リスト.xlsx")』
    のところで、なぜか下記の表示が出てしまいます。
    ------------------------------------------------
    実行時エラー'1004':
    申し訳ございません。リストxlsx.が見つかりません。
    名前が変更されたか、移動や削除が行われた可能性があります。
    -----------------------------------------------

    フォローしていただけると助かります。

  • その他の返信(2件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2015/3/25 11:00:17

無事、希望通りのことが実現できました。感激です。
大変お世話になりました。ありがとうございました。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる