三流君 ken3のmemo置き場

三流プログラマーのメモ書きです。主にVBAやWindowsの話題が多いです

挨拶・自己紹介:
失敗続きのAB型の変わり者 :三流プログラマー Ken3です
フリーのエンジニア・個人事業主です・・と書くと聞こえはイイが(それとなくカッコよく聞こえるが)、 現在は小さな案件の受注請負 と 短期派遣 で 日々つつましく?ほそぼそと暮らしてます。

よく検索されるキーワード: [質問回答XXXXさんへ] [CreateObject] [VBA] [JRA競馬オッズ]

パワポ 1ページ目のテキストや図形を最終ページまで同じ位置にコピペする方法

全スライドにアニメーション付きの図形を同じ位置にコピーしたい
www.youtube.com
https://www.youtube.com/watch?v=gWGkkzfn2qo
目次
00:00 1.キッカケの質問を紹介
00:35 2.AI Bingに聞いてみた
02:42 3.コードを貼り付けて実行 chatGPTはたまにうそをつく?
03:28 3.1 コードの編集画面に行きコードを貼り付けます
04:18 表示 マクロから作成する方法

05:24 3.2 コードを貼り付けて、実行します。
06:45 コンパイルエラー発生 教えてもらったコードを貼っただけなのに・・・
07:34 シェイプの名前でエラー発生
08:07 シェイプの名前を調べる方法 ホーム 配置 オブジェクトの選択と表示
09:48 コードを簡単に説明する
11:03 やっと、実行確認
12:19 再テストで不具合を解説

15:22 4.おわりの挨拶と問題点 二回走らせると・・・
18:43 4.1 取り扱い注意 の文字をテキストで左下に
20:33 4.2 取扱注意を社外秘にして、赤で囲って と 修正受けたとき
21:53 再度、頭から、まとめる。


1.キッカケの質問を紹介
detail.chiebukuro.yahoo.co.jp

PowerPointにて、全スライドにアニメーション付きの図形を同じ位置にコピーしたいです。
>1枚1枚するのは非常に手間なので(80枚あるので)、何かいい方法はありませんか。
>スライドマスター以外でお願いしたいです。よろしくお願いいたします。

2.AI Bingに聞いてみた

Use PowerPointVBA
1スライド目のシェイプ名"textbox1"をアニメーション付きでコピーして、
2スライドから最終スライドまで、同じ位置にアニメ付きで貼り付ける。
コードを教えてください。よろしくお願いします。

とBing(chatGPT)に質問すると、

Sub CopyTextboxWithAnimation()  'エラーが発生します
    Dim sld As Slide
    Dim shp As Shape
    Dim i As Integer
    
    Set sld = ActivePresentation.Slides(1)
    Set shp = sld.Shapes("textbox1")
    
    For i = 2 To ActivePresentation.Slides.Count
        shp.Copy
        ' ppPasteTextEffect で エラー発生
        ' chatGPTはたまにプロパティや定数を言葉として創造して、エラーになりますね・・・言語だから? 
        ActivePresentation.Slides(i).Shapes.PasteSpecial ppPasteTextEffect, msoFalse, msoFalse, shp.Left, shp.Top
    Next i
End Sub

↑を参考に作ると、便利です。
これを直してみます。
※と初見ぽく言ってますが、
テストしてからライブを始めたので、初見じゃなくて2回目です。

今回は、
ActivePresentation.Slides(i).Shapes.PasteSpecial ppPasteTextEffect, msoFalse, msoFalse, shp.Left, shp.Top

ActivePresentation.Slides(i).Shapes.PasteSpecial
のパラメーター無しの貼り付けで使用しました。

Sub CopyTextboxWithAnimation()  'こっちを使って下さい。
    Dim sld As Slide
    Dim shp As Shape
    Dim i As Integer
    
    Set sld = ActivePresentation.Slides(1)
    Set shp = sld.Shapes("textbox1")
    
    For i = 2 To ActivePresentation.Slides.Count
        shp.Copy
        ' ppPasteTextEffect で エラー発生するので、削除しました。
        ' chatGPTはたまにプロパティや定数を言葉として創造して、エラーになりますね・・・言語だから? 
        ActivePresentation.Slides(i).Shapes.PasteSpecial
    Next i
End Sub

余談:同じ質問を投げても、違う回答が返ってくるのも、chatGPTらしい?
下記、テストで実行したら、違うコードが返ってきて、少しびっくりした・・・
https://www.youtube.com/watch?v=gWGkkzfn2qo&t=00m35s
↑でテストすると下記が返ってきたり。

Sub CopyTextbox1()
    Dim sld As Slide
    Dim shp As Shape
    Dim i As Integer
    
    Set sld = ActivePresentation.Slides(1)
    Set shp = sld.Shapes("textbox1")
    
    For i = 2 To ActivePresentation.Slides.Count
        shp.Copy
        ActivePresentation.Slides(i).Shapes.PasteSpecial ppPasteTextEffect
        With ActivePresentation.Slides(i).Shapes(ActivePresentation.Slides(i).Shapes.Count)
            .Left = shp.Left
            .Top = shp.Top
        End With
    Next i
End Sub

3.コードを貼り付けて実行 chatGPTはたまにうそをつく?

コードを貼り付けて、実行します。

3.1 コードの編集画面に行きコードを貼り付けます
https://www.youtube.com/watch?v=gWGkkzfn2qo&t=03m28s
パワポのファイルを開いて
開発へ
Visual Basic を押して、編集画面へ
挿入 -- 標準モジュール

それか、表示、マクロでxxxx作成を押して、編集画面へ

3.2 コードを貼り付けて、実行します。
https://www.youtube.com/watch?v=gWGkkzfn2qo&t=05m24s
※わざと、数回間違える。
※※演技、仕込みで間違える。ぉぃぉぃ。

06:45 コンパイルエラー発生 教えてもらったコードを貼っただけなのに・・・
https://www.youtube.com/watch?v=gWGkkzfn2qo&t=06m45s

07:34 シェイプの名前でエラー発生
https://www.youtube.com/watch?v=gWGkkzfn2qo&t=07m34s

08:07 シェイプの名前を調べる方法 ホーム 配置 オブジェクトの選択と表示
https://www.youtube.com/watch?v=gWGkkzfn2qo&t=08m07s

09:48 コードを簡単に説明する
https://www.youtube.com/watch?v=gWGkkzfn2qo&t=09m48s

11:03 やっと、実行確認
12:19 再テストで不具合を解説

4.おわりの挨拶と問題点

単純コピーなので、二回繰り返すと、複数作成される。

実務だと、アニメや色を置き換えたい・・・と言われたとき、
前のデータに上書きしたかったりするかなぁ

再度復習を兼ねて、実行する

アニメ無しもコピーできるので、

4.1 取り扱い注意 の文字をテキストで左下に
https://www.youtube.com/watch?v=gWGkkzfn2qo&t=18m43s

4.2 取扱注意を社外秘にして、赤で囲って と 修正受けたとき
https://www.youtube.com/watch?v=gWGkkzfn2qo&t=20m33s

そんな時、置き換えたいなぁ・・困るかなぁ。
次の課題かな。

21:53 再度、頭から、まとめる。
https://www.youtube.com/watch?v=gWGkkzfn2qo&t=21m53s

コード作成時、何かの参考となれば、幸いです。。。

Ken3 ホームページ 目次

分類:HPを大きく分けると4つの柱(分類)です。

  1. [VBA・マクロ プログラミング]の解説
    当店の人気はVBA系のCreateObject("XXXXXX.application")で他のアプリケーションを操作するサンプルが人気です
  2. [プログラマーの愚痴]では、あまり見せたくない三流プログラマーの内面かな。
    三流君を踏み台にする
  3. [古いクラシック ASP(Active Server Pages)]の解説。
  4. [元コンビニ店長時代の話]が弟に巻き込まれ、失敗した脱サラ、畑違い?の仕事で失敗。
主に上記4つの分類でHP作成やメルマガの発行を行ってます。
※更新頻度が落ちていて情報の鮮度が悪いです。



本当に三流なんです(笑):たまにスゴイですねなんて言われることもありますが、
真実は→ [三流君の真実は...] ←を初めに見てくださるとわかると思います。
(からくりは、成功例↑しか載せてなくて ヒドイ失敗例はお蔵入り迷宮入りが多かったりします)