特定のExcelファイルのセル内の文章をコピーしてそれを特定のパワーポイントファイルに貼りつけるプログラム(マクロ)を組みたいです。
A1セルの中身をスライド2枚目、A2セルの中身をスライド3枚目のように、1セルごとに1枚スライドを使うようにしたいです。
ExcelVBAは勉強中で、パワポのマクロは全く触っていないので、とりあえず、①私のやりたいことはマクロでできるのかどうか、②できるとしたらどのような形になるのか
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
以下のようにやるとできると思います。
VBA
1Sub sample() 2 Dim a 'As PowerPoint.Application 3 Dim p 'As PowerPoint.Presentation 4 Dim c 'As PowerPoint.CustomLayout 5 6 Set a = CreateObject("PowerPoint.Application") 7 Set p = a.Presentations.Add 8 Set c = p.SlideMaster.CustomLayouts(1) 9 10 Dim ws As Worksheet 11 Set ws = Worksheets("Sheet1") 12 13 Dim i 14 For i = 1 To ws.Cells(Rows.Count, 1).End(xlUp).Row 15 p.Slides.AddSlide(i, c).Shapes(1).TextFrame.TextRange.Text = ws.Cells(i, 1).Value 16 Next 17 18End Sub
なお、ExcelVBA の参照設定で
Microsoft PowerPoint xx.x Object Library
というのを探してチェックをつけると、
コードを書くときに便利かもしれません。
投稿2021/05/31 12:15
総合スコア4592
0
参考になるかわかりませんが、昔作った手前味噌のサンプルコードを紹介してみます
動作イメージ:A列のデータをパワーポイントへ https://www.youtube.com/watch?v=MOxfmcQcAk0
他のQAサイトで昔回答したコードです https://q.hatena.ne.jp/1572439790
Option Explicit 'A列(A1から)にセットされたデータを使用して、 '1行1スライドのタイトルにして、 'PowerPointのスライドを作成する Sub スライド作成test() Dim oApp As Object 'PowerPoint の 起動、インターふぇー用のオブジェクトを作る Set oApp = CreateObject("PowerPoint.Application") oApp.Visible = True '可視にする '新規プレゼンのファイル作成 新規の空ファイル作成 oApp.Presentations.Add WithWindow:=msoTrue 'ここからスライドをA列のデータがなくなるまで、追加する Dim n As Integer Dim strTITLE As String 'A列のデータをタイトルにする For n = 1 To 99 'MAX99枚 A列のデータを使用してスライドを作成 'A列のデータ存在チェック strTITLE = Trim("" & Cells(n, "A").Text) 'A列のデータを取り出し、左右の空白をカット If Len(strTITLE) = 0 Then Exit For '文字列の長さが0 データ無しならループ処理を抜ける 'スライドの追加 'レイアウトの種類 'Layout:=ppLayoutText 2 'Layout:=ppLayoutTitleOnly 11 'Layout:=ppLayoutTwoColumnText 3 oApp.ActiveWindow.View.GotoSlide Index:=oApp.ActivePresentation.Slides.Add(Index:=n, Layout:=2).SlideIndex 'タイトルをセット 一番目のオブジェクトにテキストセット oApp.ActiveWindow.Selection.SlideRange.Shapes(1).TextFrame.TextRange.Text = strTITLE Next n End Sub
投稿2021/10/27 22:28
総合スコア132
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
実際に他のコンポーネントを使って、Excelの内容をPowerPointに挿入することができます、Spire.Presentationという無料のツールがその行うを実現できます。
Excelの文章内容をPowerPointへとか、相互の形式変換機能もあります。
投稿2021/10/27 09:43
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。