2017-02-20 75 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