none
VB.NETからパワーポイントにデータを出力 RRS feed

  • 質問

  • Visual Studio 2010 vb.netで開発しています。

    パワーポイントにデータを出力します。
    追加の時は下記の通りで動きます。

    では、事前にパワーポイント上にテキストボックスを
    貼り付けておき、そこにテキストを表示するには
    どうすればいいでしょうか。


    'パワーポイントを開く処理 ※省略

    'パワーポイントに追加
    Dim textbox As Object = pptPre.Slides(1).Shapes.AddTextbox(1, 50, 70, 200, 100)
    textbox.TextFrame.TextRange.Text = "ABC"

    • 編集済み zoro01 2013年9月18日 23:48
    2013年9月5日 1:57

回答

  • こんな?

    Dim app As New Microsoft.Office.Interop.PowerPoint.Application
    Dim pre As Presentation = app.Presentations.Open("C:\プレゼンテーション1.pptx"
    For Each slide As Slide In pre.Slides
        For Each shp As Shape In slide.Shapes
            If (shp.Type = Microsoft.Office.Core.MsoShapeType.msoTextBox) Then
                If (shp.HasTextFrame) Then
                    Dim rng As TextRange
                    rng = shp.TextFrame.TextRange
                    rng.Text = "ShapeName=" + shp.Name
                    rng.Font.Name = "メイリオ"
                    rng.Font.Size = 10
                    rng.Font.Color.RGB = &HFF
                End If
            End If
        Next
    Next
    特定のTextBoxを対象にするなら、ShapeのNameを目印にすると判別できます

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

    • 回答としてマーク zoro01 2013年9月6日 5:59
    • 回答としてマークされていない zoro01 2013年9月10日 1:12
    • 回答としてマーク zoro01 2013年9月10日 1:12
    2013年9月5日 13:29

すべての返信

  • フォーラム オペレーターの星 睦美です。
    zoro01 さん、投稿ありがとうございます。

    質問の内容に関して
    フォーラムの回答者から的確な情報を集めるために、パワーポイントのバージョンの追記をお願いします。


    ※フォーラムで役立つ回答がありましたら、投稿者からの[回答としてマーク]をお願いします。

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


    • 編集済み 星 睦美 2013年9月5日 8:19 編集
    2013年9月5日 8:17
  • PowerPoint2007です。
    よろしくお願いします。
    2013年9月5日 8:44
  • こんな?

    Dim app As New Microsoft.Office.Interop.PowerPoint.Application
    Dim pre As Presentation = app.Presentations.Open("C:\プレゼンテーション1.pptx"
    For Each slide As Slide In pre.Slides
        For Each shp As Shape In slide.Shapes
            If (shp.Type = Microsoft.Office.Core.MsoShapeType.msoTextBox) Then
                If (shp.HasTextFrame) Then
                    Dim rng As TextRange
                    rng = shp.TextFrame.TextRange
                    rng.Text = "ShapeName=" + shp.Name
                    rng.Font.Name = "メイリオ"
                    rng.Font.Size = 10
                    rng.Font.Color.RGB = &HFF
                End If
            End If
        Next
    Next
    特定のTextBoxを対象にするなら、ShapeのNameを目印にすると判別できます

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

    • 回答としてマーク zoro01 2013年9月6日 5:59
    • 回答としてマークされていない zoro01 2013年9月10日 1:12
    • 回答としてマーク zoro01 2013年9月10日 1:12
    2013年9月5日 13:29
  • ありがとうございます。

    そのプログラムを少し修正すると動作しました。

    2013年9月6日 6:00