Comment puis-je insérer une propriété de document (par exemple, le nom de l'auteur) dans une diapositive dans PowerPoint 2007? Je sais que cela peut être fait dans Microsoft Word, mais je ne peux pas trouver comment le faire dans PowerPoint.
(L'idée est que, avec une propriété de document, il est facile de modifier, par exemple, le contenu du pied de page dans toutes les diapositives, même si vous utilisez différentes pages principales. S'il y a une solution différente, cela ira bien aussi.)
Alors que Word peut le faire, PowerPoint ne peut pas. AFAIK, vous pouvez avoir des propriétés de document dans PPT, mais vous ne pouvez pas les insérer sur une diapositive. Le seul champ de mise à jour disponible pour PowerPoint est le numéro de date et de diapositive. Quoi qu'il en soit, il pourrait y avoir une solution de contournement dans VBA pour y parvenir. Vous pouvez demander ceci sur Stackoverflow pour prendre votre chance.
Il suffit d'écrire un sous-programme pour mettre les propriétés nommées dans des objets de texte marqués sur toutes les diapositives.
Pour mettre une propriété de fichier sur la (les) diapositive (s). Créez une zone de texte pour contenir la chaîne. Dans les propriétés / Alt Texte, placez le nom de la propriété en crochets.
Ensuite, exécutez la macro updateProperties()
.
C'est-à-dire [title]
– permettrait de mettre à jour le titre du document sur plusieurs
Deux étiquettes spéciales ont été écrites:
[copyright]
insère une chaîne de droit d'auteur, c.-à-d. © 1998-2013 P.Boothroyd, NIS Oskemen [page]
insère le numéro de la diapositive à partir de l'onglet Éditeur 'Copier les propriétés du document dans toutes les diapositives '(C) 2013, P.Boothroyd pour NIS Oskemen Dim processPage As Slide Sub updateProperties () Dim page As Slide Dim propname As String 'Analyse toutes les diapositives dans la présentation active (document) Pour chaque page de processus dans Application.ActivePresentation.Slides 'Scannez tous les éléments de la page pour la zone de texte avec le champ "altText / title" marqué avec "[" Pour chaque objet dans processPage.Shapes Si à gauche (obj.Title, 1) = "[" Then Dim sStart, sEnd As Integer 'Extraire la propriété entre crochets SStart = 2 SEnd = InStr (2, obj.Title, "]") Propname = Trim (Mid (obj.Title, sStart, sEnd - 2)) Si obj.Type = msoTextBox Then 'Définir la zone de texte à la valeur demandée Obj.TextFrame.TextRange.Text = getProperty (propname, obj.TextFrame.TextRange.Text) Fin si Fin si Suivant 'obj Page suivante End Sub 'Obtenir la propriété du document nommé (avec option par défaut) Fonction getProperty (propname, optionnel Def As String) As String 'Propriété affectée de la valeur par défaut GetProperty = def Dim trouvé comme booléen Trouvé = faux Propname = LCase (propname) Le copyright est une propriété générée Si propname = "copyright" Ensuite Dim author As String Dim company As String Dim YearFrom As String Dim yearTo As String «Obtenir toutes les variables appropriées Author = getProperty ("auteur", "") Company = getProperty ("entreprise", "") YearFrom = getProperty ("créé", "") YearTo = Format (Now (), "AAAA") 'Insérer un symbole de copyright GetProperty = Chr (169) + "" 'Accorder une période d'annulation pour avis de copyright Si l'année de l'année à la fin GetProperty = getProperty + yearFrom + "-" Fin si GetProperty = getProperty + yearTo 'Ajouter l'auteur GetProperty = getProperty + "" + auteur 'Ajouter séparateur pour auteur / entreprise si tous les deux existent Si Len (auteur)> 0 Et Len (entreprise)> 0 Alors GetProperty = getProperty & "," Fin si GetProperty = getProperty & company 'Traité, alors retournez la valeur Trouvé = vrai Fin si 'Insérez le numéro de la diapositive dans le document Si propname = "page" Ensuite GetProperty = processPage.SlideNumber Trouvé = vrai Fin si 'Si le nom généré créé renvoie la valeur Si trouvé, alors GoTo ret 'Recherche de propriétés MS (fichier) standard de la valeur nommée Pour chaque p dans Application.ActivePresentation.BuiltInDocumentProperties Si LCase (p.Name) = propname Then GetProperty = p.Value Trouvé = vrai Sortie pour Fin si Suivant 'p 'Recherche de propriétés personnalisées de la valeur nommée Si trouvé, alors GoTo ret Pour chaque p dans Application.ActivePresentation.CustomDocumentProperties Si LCase (p.Name) = propname Then GetProperty = p.Value Trouvé = vrai Sortie pour Fin si Suivant 'p Ret: Fonction de fin
La manière la plus simple de le faire dans Powerpoint (au moins pour les valeurs qui apparaîtront sur chaque diapositive) est de modifier le maître de la diapositive. Mettez le nom de l'auteur là-bas.
(Une raison possible pour laquelle Word vous permet, et aucun d'autre part, est que les différentes équipes de Microsoft se parlent rarement …)
Une solution de contournement consiste à utiliser des propriétés personnalisées que vous pouvez facilement "Aller à" (pas besoin de parcourir les diapositives).
À partir de http://msdn.itags.org/powerpoint/4426/ :
- Sélectionnez la forme ou le texte sur lequel vous souhaitez définir un marque-page.
- Sélectionnez Fichier | Propriétés … et activez l'onglet personnalisé.
- Tapez un nom pour le signet.
- Cochez 'Lien vers le contenu'. La valeur répertoriée dans la zone déroulante adjacente lorsque vous cochez 'Lien vers le contenu' est une référence à votre sélection.
- Cliquez sur Ajouter.
- Cliquez sur OK pour fermer la boîte de dialogue Propriétés.
Maintenant que vous avez créé un marque-page, vous pouvez y accéder comme suit:
1. Sélectionnez Modifier | Goto Property …
2. Cliquez sur le nom de la propriété dans la boîte de dialogue (c'est le nom que vous avez donné au signet).
3. Cliquez sur Aller vers.
La boîte de dialogue "Aller vers" vous présente une liste de signets que vous pouvez double-cliquer, et vous accédez à vos champs de texte préférés, prêts à être édités / collés.