2017-02-20 2 views
0

J'ai une diapositive que nous utilisons dans mon département pour donner un aperçu des progrès concernant les livrables des documents de projet. Il est représenté de manière graphique, et par conséquent une simple vue de table ou similaire ne peut pas être utilisée. Chacun des documents livrables mentionnés sur la diapositive peut avoir 3 légendes différentes (chiffres), un carré, un triangle et une flèche. Ceux-ci sont codés en couleur selon la responsabilité des parties prenantes du livrable. En ce moment, nous changeons chacun d'entre eux manuellement pendant le projetPowerPoint 2010 - VBA pour remplacer les chiffres

Ce que je recherche: Existe-t-il un code VBA qui peut facilement être utilisé pour remplacer ces chiffres en fonction de l'état du projet? J'imagine que chaque produit livrable du projet doit être étiqueté avec une position sur la diapositive, puis un formulaire utilisateur peut être utilisé pour sélectionner le type de chiffre qui doit être attribué?

Toute personne qui peut m'aider ou me diriger dans une direction à quelque chose qui pourrait m'aider est très appréciée!

Merci Peter

+0

Bienvenue sur le site. Si vous faites le processus manuellement, alors quelque chose que j'ai trouvé utile est d'utiliser l'enregistreur de macro, puis emprunter le code dont vous avez besoin. [Instructions de Microsoft] (https://msdn.microsoft.com/fr-fr/library/office/ff838320.aspx). Et afin d'obtenir une réponse spécifique, [s'il vous plaît vérifier cela] (http://stackoverflow.com/help/how-to-ask) –

+1

@Jimmy Smith malheureusement powerpoint n'a pas de macro enregistreur depuis de nombreuses années. MS a abandonné pour le faire fonctionner –

+0

@ChristineRoss Je ne savais pas cela. Je l'ai principalement utilisé il y a des années pour Word et Excel. OP, je ne sais pas si les "chiffres" auxquels vous faites référence sont des images, mais voici un [exemple à emprunter] (http://stackoverflow.com/questions/28274753/replace-existing-image-in-ms-powerpoint-with -a-new-image-using-vba) ou si ce ne sont que des formes, [ceci pourrait aider] (http://stackoverflow.com/questions/22099887/change-shape-color-in-a-loop-vba -ppt) –

Répondre

0

Voici une approche ébauche ...

au lieu de formes individuelles, utilisez un carré, triangle et flèche groupé. L'utilisateur sélectionne le groupe avec lequel il souhaite travailler, puis lance votre boîte de dialogue dans laquelle il choisit l'état du projet pour cet élément. Votre boîte de dialogue attribue une valeur de 1 à 3 à l'état appelle ensuite SetVisibility comme ceci:

Sub MakeItSo() 
    Call SetVisibility(2) 
End Sub 

SetVisibility fait d'abord toutes les formes du groupe invisible, définit alors la forme appropriée pour être visible:

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

Excellente idée! Je vais essayer de poursuivre cela plutôt, le rendra aussi plus simple à maintenir! Merci beaucoup ! – Mayfarm