2009-10-28 3 views
2

Je me demandais comment je pouvais créer un fichier powerpoint de script, faire avancer les diapositives automatiquement et le mettre en plein écran. Y a-t-il un moyen de faire faire ça à Windows? Puis-je simplement charger powerpoint.exe et peut-être utiliser une sorte d'API/Pipe pour donner des commandes à partir d'un autre script.Comment est-ce que je peux faire des présentations PowerPoint/charger automatiquement des ppts?

Pour faire un cas: Je fais un script qui scanne automatiquement un dossier dans Windows (en utilisant python) et charge les présentations powerpoint et continue à les jouer dans l'ordre.

+0

Cela serait probablement mieux adapté à Stack Overflow. Vous devriez obtenir de meilleures réponses là-bas. –

Répondre

3

Une solution pour vous serait d'utiliser le programme PowerPoint Viewer à la place. PPT Viewer est configuré pour ouvrir un fichier PowerPoint directement en mode Présentation.

Vous pouvez également utiliser l'argument/s pour démarrer Powerpoint.

"powerpoint.exe /s <filename>.ppt" 

Cela équivaut à dire PowerPoint à distance ouvrir directement en mode Présentation.

+1

+1 La réponse la plus simple et la plus simple. – DaveParillo

+0

Pour ce faire à partir de Python, vous utiliserez probablement le module de sous-processus. –

+0

J'ai fini par utiliser cette solution, mais j'ai utilisé win32com pour générer des diapositives au lieu de passer par le processus de synchronisation de ces différentes diapositives. – prasanna

1

Comme indiqué précédemment, ceci est davantage orienté StackOverflow, mais cela peut facilement être réalisé avec Python et AutoHotkey.

Du côté Python des choses, comme une idée générale sur la façon d'aller à ce sujet (je suis un peu rouillé, méfiez-vous!):

  • fichiers Trouver utilisant os.walk()
  • Append chacun à une liste, puis parcourir la liste, en ouvrant chacun avec os.system("powerpoint.exe /s filename"). Le prochain ne devrait pas s'ouvrir avant la fermeture du précédent.

AutoHotkey sage:

  • Une fois ouvert, utilisez #IfWinActive pour détecter une fenêtre Powerpoint ouverte, et envoyer des diapositives clics de souris pour changer à un intervalle défini

Je ne sais pas ce que vous voulez dire par "ordre", vous devrez le déterminer dans votre script Python. Si vous souhaitez les trier par ordre alphabétique, triez la liste par ordre alphabétique, puis itérez. Si vous voulez les trier par date de création, alors trier par date et itérer et ainsi de suite.

0

Si vous voulez plus de contrôle sur la diapositive powerpoint, vous pouvez écrire quelque chose dans VB.Net (ou d'autres langages .Net) selon this MS support article.

Si vous vouliez un contrôle direct de Python, vous pouvez probablement utiliser pywin32 ou comtypes pour invoquer directement les mêmes interfaces que celles décrites dans l'article MS. Ma conjecture est que c'est la solution la plus puissante et fournirait probablement les transitions les plus douces entre les présentations, mais est probablement beaucoup plus de travail que l'utilisation de sous-processus pour appeler dans PowerPoint.

1

Enregistrez le fichier avec l'extension ".pps". Cela fera Powerpoint ouvrir le fichier en mode de présentation. La présentation doit être conçue pour faire avancer les diapositives, sinon vous devrez écrire cette partie.

Questions connexes