2017-02-20 73 views
0

我有一張我們在我的部門中使用的幻燈片,用於概述有關項目文檔可交付成果的進度。它以圖形方式顯示,因此不能使用簡單的表格視圖或類似的表格。每個載玻片上提到的文件交付的可以有3個不同的傳說(數字),正方形,三角形和箭頭。這些都是根據利益相關者對可交付成果的責任進行顏色編碼。現在我們正在改變他們中的每一個在項目PowerPoint 2010 - 用VBA取代數字

我尋找手動: 是否有可以很容易地用於根據項目進度,以取代這些數字VBA代碼? 我想象每個項目可交付需要被標記爲在載玻片上的位置,然後用戶窗體可以用來選擇哪種類型的數字應該被分配?

任何人都可以幫助我,或者指點我可能對我有幫助的事情,

謝謝 彼得

+0

歡迎到現場。如果你正在做手工的過程,那麼事情我已經找到得心應手是使用宏錄製,然後借你從它需要的代碼。 [微軟的說明](https://msdn.microsoft.com/en-us/library/office/ff838320.aspx)。並且爲了得到一個具體的答案,[請看看這個](http://stackoverflow.com/help/how-to-ask) –

+1

@Jimmy Smith不幸的是,許多年以來,powerpoint都沒有宏記錄器。 MS放棄了,使其工作 –

+0

@ChristineRoss我不知道這根本。我多年前主要使用Word和Excel。 OP,不知道你引用的「數字」是圖像,但這裏是一個[借用示例](http://stackoverflow.com/questions/28274753/replace-existing-image-in-ms-powerpoint-with - 新圖像使用VBA),或者如果他們只是形狀,[這可能會幫助](http://stackoverflow.com/questions/22099887/change-shape-color-in-a-loop-vba -ppt) –

回答

0

下面是粗線條的一個辦法......

而不是單獨的形狀,使用方形,三角形和箭頭組合。用戶選擇他們想要使用的組,然後啓動對話框,在其中選擇該項目的項目狀態。您的對話框分配從1到3的狀態的值,然後調用SetVisibility像這樣:

Sub MakeItSo() 
    Call SetVisibility(2) 
End Sub 

SetVisibility首先使所有的組無形的形狀,然後設置合適的形狀可見:

Sub SetVisibility(lStatus As Long) 
    Dim x As Long 
    With ActiveWindow.Selection.ShapeRange(1) 
     For x = 1 To .GroupItems.Count 
      .GroupItems(x).Visible = False 
     Next 
     .GroupItems(lStatus).Visible = True 
    End With 
End Sub 
+0

好主意!我會努力追求這一點,也會使它更容易維護!非常感謝 ! – Mayfarm