2011-09-15 86 views
1

這是一個基本和容易的問題,但沒有辦法找到答案或在網上一個很好的教程。 而且顯然沒有辦法在此Office幫助中找到它。如何使用VBA在Powerpoint中定義形狀?

我在VBA中使用宏來生成一個Powerpoint。 該代碼通過複製Powerpoint文檔的模板幻燈片,將Excelline的值分配給定義的PPT模板形狀。

的問題是:我不知道,因爲在此之前的代碼定義如下形狀:

PptDoc.Slides(iSlide).Shapes("URL").TextFrame.TextRange = VerbatimSheet.Cells(i, 2).Value 

我如何定義「URL」的形狀?在模板或Excel的VBA宏?

+0

順便說一下有沒有人曾經在MS Office幫助中找到過東西? – c24b

回答

2

您可以使用對象的索引。例如

Dim shp as shape 
Set shp=pptdoc.slides(islide).shapes(1) 
shp.textframe.textrange= foo 
1

在PPT幻燈片模板,給你的形狀命名爲「URL」 - 不容易在PPT名形狀如(例如)XL,但可以辦到。

就在PPT VB編輯器的立即窗口中輸入這(與選定的形狀),並按下回車鍵:

ActiveWindow.Selection.shaperange(1).Name = "URL" 

您可以檢查它的工作輸入:

? ActiveWindow.Selection.shaperange(1).Name 'should get "URL" 
0

兩個答案是正確的,並幫助我很多瞭解這個非常基本的步驟 這對我來說是一個很好的教訓,謝謝

第一個代碼是時髦的擺脫方式e問題 它具有通過定義名稱來定義形狀並將其直接鏈接到我在代碼中分配的值的優點。

第二個是幫助初學者編程的好方法,但需要兩個宏。 一個在Excel中,另一個在ppt中並允許手動更改形狀的名稱。 它的優勢在於可以準確顯示您使用的形狀,並且需要控制。

非常感謝你們倆!

相關問題