2017-06-03 7 views
0

[挿入]タブ - > [オブジェクト] - > [Microsoft Excel 97-2003ワークシート(新規作成)]オプションを使用してPowerPoint 2010ドキュメントにExcelシートを追加しました。 Excelシートのセルの一部を、別のスライドのPowerPointで参照したいと思っています。これを行う方法はありますか?PowerPointに配置されたExcelシートの参照

目的は、Excelを使用して必要な情報を作成する必要があることを除いて、PPTレポートを主張するクライアントがいることです。常に2つのドキュメントを開いて、ExcelシートからPPTスライドに情報を転送するのではなく、1つのドキュメントにまとめて、ExcelシートをPPTファイルに追加したかったのです。

私はVBAの専門家ではありませんが、これを達成するためにVBAを使用する必要がある場合、私は自分のやり方を混乱させるほど十分に知っています。

私は例の写真をアップロードしました(私は願っています)。スライド1には、挿入されたExcelシートを使用して3つのセルが埋め込まれています。スライド2は、それらのセル(赤でテキストのテキストボックス)を参照する必要がある場所です。これらのセルの情報は週から週に変わり、スライド2のテキストボックスが必要になります。どんな助けもありがとう。

enter image description here

enter image description here

+0

どのように私埋め込まれたXLSシートにデータが入っていますか?それが他のいくつかのExcelファイル(おそらく)から来ているのであれば、手動で埋め込みシートに挿入して埋め込みシートからデータを取得するのではなく、おそらくそのファイルにアクセスして必要な情報を引き出すのが最も簡単です。重複しているようだ。 –

答えて

1

Workbookオブジェクトのハンドルを取得するためにOLEFormat.Objectを使用し、その後、埋め込まれたオブジェクトの名前を特定し、それを参照するために、PowerPointでの選択ペインを使用して、そこからあなたがしていますちょうどExcel.Workbookクラスのインスタンスで作業するので、すべてのあなたの身近なExcelのプロパティ&方法が利用可能であるべきである:

Option Explicit 
'Requires reference to Excel 
Sub populate_text_box() 
Dim obj As Object 
Dim tb As Shape 'TextBox 
Dim wb As Excel.Workbook 
Dim ws As Excel.Worksheet 
Set obj = ActivePresentation.Slides(1).Shapes("Object 3") 


Set wb = obj.OLEFormat.Object 
Set ws = wb.Sheets(1) 

Set tb = ActivePresentation.Slides(2).Shapes("TextBox 1") 'Modify slide/shape name as needed 
tb.TextFrame2.TextRange.Text = ws.Range("B2").Value 

Set tb = ActivePresentation.Slides(2).SHapes("TextBox 2") 'Modify slide/shape name as needed 
tb.TextFrame2.TextRange.Text = ws.Range("D2").Value 

Set tb = ActivePresentation.Slides(2).SHapes("TextBox 3") 'Modify slide/shape name as needed 
tb.TextFrame2.TextRange.Text = ws.Range("F2").Value 

End Sub 
+0

すごくうまくいった、ありがとう!助けてくれてありがとう、David。 – SamT

関連する問題