質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

3回答

1104閲覧

Excelのセル内の文章をPowerPointに挿入するマクロを組む方法

arisa_80

総合スコア5

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2021/05/30 13:39

特定のExcelファイルのセル内の文章をコピーしてそれを特定のパワーポイントファイルに貼りつけるプログラム(マクロ)を組みたいです。

A1セルの中身をスライド2枚目、A2セルの中身をスライド3枚目のように、1セルごとに1枚スライドを使うようにしたいです。
ExcelVBAは勉強中で、パワポのマクロは全く触っていないので、とりあえず、①私のやりたいことはマクロでできるのかどうか、②できるとしたらどのような形になるのか

ご回答いただけますと幸いです。
イメージを画像で添付します。イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答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

jinoji

総合スコア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

ken3memo

総合スコア132

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ken3memo

2021/10/27 22:30

あっ 投稿 2021/05/30 22:39 かなり前の質問だったんですね。
guest

0

実際に他のコンポーネントを使って、Excelの内容をPowerPointに挿入することができます、Spire.Presentationという無料のツールがその行うを実現できます。

Excelの文章内容をPowerPointへとか、相互の形式変換機能もあります。

投稿2021/10/27 09:43

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問