none
パワポにテキストボックス作成 RRS feed

回答

  • こんな?

    Option Strict Off
    Module Module1
        Sub Main()
            Dim msoTrue = -1 'Microsoft.Office.Core.MsoTriState.msoTrue
            Dim msoFalse = 0 'Microsoft.Office.Core.MsoTriState.msoFalse
            Dim msoTextOrientationHorizontal = 1 'Microsoft.Office.Core.MsoTextOrientation.msoTextOrientationHorizontal
            Dim msoTextEffect23 = 22 'Microsoft.Office.Core.MsoPresetTextEffect.msoTextEffect23 = 22
            Dim msoTextEffectShapeArchDownCurve = 10 'Microsoft.Office.Core.MsoPresetTextEffectShape.msoTextEffectShapeArchDownCurve = 10
            Dim ppLayoutBlank = 12 ' Microsoft.Office.Interop.PowerPoint.PpSlideLayout.ppLayoutBlank=12
    
            Dim app = CreateObject("PowerPoint.Application") 'new Microsoft.Office.Interop.PowerPoint.Application()
            app.Visible = msoTrue
            Dim pre = app.Presentations.Add()
            Dim slides = pre.Slides
            Dim slide = slides.Add(1, ppLayoutBlank)
            Dim shapes = slide.Shapes
    
            Dim shape1 = shapes.AddTextbox(msoTextOrientationHorizontal, 10, 50, 100, 100)
            shape1.TextFrame.TextRange.Text = "ABCDEFG"
            shape1.TextEffect.PresetShape = msoTextEffectShapeArchDownCurve
    
            Dim shape2 = shapes.AddTextEffect(msoTextEffect23, "あいうえお", "MS Pゴシック", 30, msoTrue, msoFalse, 200, 100)
            shape2.Rotation = 45
            shape2.TextEffect.PresetShape = msoTextEffectShapeArchDownCurve
        End Sub
    End Module

    #PowerPoint2007でマクロを強制的に記録させても、ほとんどの機能は記録できないんだが...

    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)


    • 編集済み gekkaMVP 2013年9月10日 13:25 コードの言語指定忘れ
    • 回答の候補に設定 星 睦美 2013年9月12日 0:24
    • 回答としてマーク 星 睦美 2013年9月18日 1:00
    2013年9月10日 13:24

すべての返信

  • 直接の回答ではありませんが…

    質問を乱発するのではなく、やりたい操作をマクロに記録し、VBAでどのようなコードになるのか確認し、それと照らし合わせながらVBコードを書いてはどうでしょうか。

    2013年9月10日 2:24
  • パワーポイント2007なのでマクロが思うように動きません。

    ですので、リンク先に出来ているところまでのプログラムを載せています。

    2013年9月10日 4:21
  • 私は、記録しコードを確認するように勧めました。動かすとは書いていません。
    2013年9月10日 9:21
  • こんな?

    Option Strict Off
    Module Module1
        Sub Main()
            Dim msoTrue = -1 'Microsoft.Office.Core.MsoTriState.msoTrue
            Dim msoFalse = 0 'Microsoft.Office.Core.MsoTriState.msoFalse
            Dim msoTextOrientationHorizontal = 1 'Microsoft.Office.Core.MsoTextOrientation.msoTextOrientationHorizontal
            Dim msoTextEffect23 = 22 'Microsoft.Office.Core.MsoPresetTextEffect.msoTextEffect23 = 22
            Dim msoTextEffectShapeArchDownCurve = 10 'Microsoft.Office.Core.MsoPresetTextEffectShape.msoTextEffectShapeArchDownCurve = 10
            Dim ppLayoutBlank = 12 ' Microsoft.Office.Interop.PowerPoint.PpSlideLayout.ppLayoutBlank=12
    
            Dim app = CreateObject("PowerPoint.Application") 'new Microsoft.Office.Interop.PowerPoint.Application()
            app.Visible = msoTrue
            Dim pre = app.Presentations.Add()
            Dim slides = pre.Slides
            Dim slide = slides.Add(1, ppLayoutBlank)
            Dim shapes = slide.Shapes
    
            Dim shape1 = shapes.AddTextbox(msoTextOrientationHorizontal, 10, 50, 100, 100)
            shape1.TextFrame.TextRange.Text = "ABCDEFG"
            shape1.TextEffect.PresetShape = msoTextEffectShapeArchDownCurve
    
            Dim shape2 = shapes.AddTextEffect(msoTextEffect23, "あいうえお", "MS Pゴシック", 30, msoTrue, msoFalse, 200, 100)
            shape2.Rotation = 45
            shape2.TextEffect.PresetShape = msoTextEffectShapeArchDownCurve
        End Sub
    End Module

    #PowerPoint2007でマクロを強制的に記録させても、ほとんどの機能は記録できないんだが...

    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)


    • 編集済み gekkaMVP 2013年9月10日 13:25 コードの言語指定忘れ
    • 回答の候補に設定 星 睦美 2013年9月12日 0:24
    • 回答としてマーク 星 睦美 2013年9月18日 1:00
    2013年9月10日 13:24
  • zoro01 さん、こんにちは
    フォーラム オペレーターの星 睦美です。

    gekka さんからの返信が参考になりそうだと思いますので今回は私から[回答としてマーク] させていただきました。
    引き続き質問を続けたい場合には遠慮なく[回答としてのマークの解除] をして返信できます。

    それでは、これからもMSDN フォーラムをよろしくお願いします。


    フォーラム オペレーター 星 睦美 - MSDN Community Support

    2013年9月18日 1:00