Comment mettre à jour toutes les valeurs de date / heure dans une diapositive PowerPoint (VBA)

StackOverflow https://stackoverflow.com/questions/4080288

  •  28-09-2019
  •  | 
  •  

Question

J'écris un complément PPT qui fait un PNG d'une diapositive et le télécharge quelque part. Je veux que le créateur de diapositives pour pouvoir ajouter des dates / heures dans les zones de texte (en utilisant Insertion> Date et heure), et ont les dates / heures reflètent l'heure de la photo est prise.

Si on vérifie « Mise à jour automatique » lorsque vous les ajoutez, les horodateurs sont mis à jour que lorsque le tiroir est ouvert. Est-il possible de trouver toutes les balises date / heure / champs dans toutes les formes et les forcer à mettre à jour immédiatement avant de prendre le cliché?

La seule autre façon que j'ai trouvé peut-être faire ce que je veux est d'avoir « nommé » formes sur la diapositive sont vides et remplir une date dans les ... mais ce programme complexité supplémentaire pour introduit la personne qui construit la coulisser et est généralement désordonné. Mais je suis ouvert à d'autres possibilités le cas échéant.

Merci!

-edit -

Ok, je viens de réaliser que lorsque je crée le PNG avec SaveGraphic les horodatages du PNG sont mis à jour! Alors, qui est probablement tout ce que je absolument besoin. Fait intéressant cependant, les timbres à date dans ce que l'utilisateur regarde l'écran ne sont pas mis à jour, ce qui pourrait prêter à confusion pour l'utilisateur. La question est toujours debout ... semble que cela devrait être faisable.

Était-ce utile?

La solution

Eh bien, les mauvaises nouvelles est que vous ne pouvez pas. Le champ (soit en tant que pied de page ou l'entrée de TextRange.InsertAfter.InsertDateTime DateTimeFormat:=ppDateTimeMMddyyhmmAMPM, InsertAsField:=msoTrue par exemple) fonctionne comme suit:

Le DateTime mettra à jour lorsque vous exécutez la plate-forme de diapositives uniquement dans la fenêtre de diaporama. Lorsque vous quittez cette fenêtre de diaporama, vous verrez la première date / heure du moment où le champ a été insérée, soit ou la présentation a été ouverte. Les mises à jour sur le terrain dans les fenêtres d'édition lorsque la présentation est ouvert ou inséré la première fois.

Il n'y a que deux façons de gérer une situation comme celle-ci:

  1. Force une fermeture / réouverture de votre PowerPoint pont (qui est un terrible solution, mais je devais le mentionner).
  2. Ne pas utiliser le champ DateTime la manière vous avez été. Ce que je veux dire par là de contrôler la date / heure manuellement. Vous pouvez toujours utiliser Insérer la date / heure, mais gérer les zones de texte où il est inséré de sorte que vous supprimez ce qui est dans cette zone de texte et repeupler avec un nouveau .InsertDateTime chaque le temps vous en avez besoin, comme avant la Slide.Export que vous faites.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top