[Automation] Extraire les rendez-vous Outlook avec Python

Je gère les rendez-vous et les réalisations dans Outlook, mais ...

Étant donné que mon entreprise a une culture de messagerie, j'utilise Outlook pour échanger des e-mails et gérer les rendez-vous de travail et de réunion dans Outlook. En outre, nous enregistrons quand, quoi et combien nous avons fait dans notre calendrier Outlook pour les rapports de performance quotidiens et hebdomadaires.

En conséquence, ** les calendriers Outlook sont remplis de rendez-vous et de réalisations, ce qui peut être un problème à gérer visuellement **.

Si vous souhaitez écrire les performances commerciales de la journée dans le rapport hebdomadaire, vous devez également copier le calendrier Outlook. Mon travail est assez multitâche et le nombre d'horaires par jour est incroyable, il est donc très difficile de vérifier et de copier manuellement.

Si vous utilisez Python, vous pouvez extraire le calendrier d'Outlook en une seule fois, vous pouvez donc le formater sous forme de fichier texte ou Excel et le coller tel quel dans un rapport quotidien.

Dans cet article, je présenterai ** comment extraire des rendez-vous avec Python à partir du logiciel client Microsoft Outlook **.

Extraire le calendrier Outlook avec Python

Vous devez importer win32com.client pour utiliser Outlook. J'utilise Anaconda et j'ai pu l'importer sans aucune installation supplémentaire.

python


import win32com.client

Créez ensuite un objet Outlook et récupérez-le avec votre calendrier.

python


outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
calender = outlook.GetDefaultFolder(9) #"9" est le calendrier Outlook

Ce calendrier est le calendrier. Maintenant, spécifions la période et extrayons le planning. Ici, je vais extraire le calendrier du [2020-10-19 au 2020-10-23].

python


import datetime

items = calender.Items #Cet élément est chaque "plan"

select_items = [] #Une liste de rendez-vous dans une période spécifiée

#Précisez la période pour laquelle vous souhaitez extraire le planning
start_date = datetime.date(2020, 10, 19) # 2020-10-19
end_date = datetime.date(2020, 10, 23) # 2020-10-23

for item in items:
    if start_date <= item.start.date() <= end_date:
        select_items.append(item)

#Afficher les détails de la planification extraite
for select_item in select_items:
    print("matière:", select_item.subject)
    print("endroit:", select_item.location)
    print("Heure de début:", select_item.start)
    print("Heure de fin:", select_item.end)
    print("Texte:", select_item.body)
    print("----")

Résultat d'exécution


Objet: enquête sur les bogues
Emplacement: Laboratoire 1
Heure de début: 2020-10-20 10:00:00+00:00
Heure de fin: 2020-10-20 11:30:00+00:00
Corps: Enquêter sur le problème de la pendaison avec M. A.
----
Objet: Révision du code
Lieu: Salle de réunion 3
Heure de début: 2020-10-22 14:00:00+00:00
Heure de fin: 2020-10-22 15:00:00+00:00
Organe: Effectuer un examen du code du projet 1234 avec MM. B et C.
----
​

Vous avez extrait le calendrier! Si vous concevez un relevé d'impression selon le format tel qu'un rapport quotidien, vous devriez être en mesure de copier le résultat de sortie tel quel.

Résumé du code

Enfin, je vais mettre le code ensemble.

python


import win32com.client
import datetime

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")

calender = outlook.GetDefaultFolder(9)

items = calender.Items #Cet élément est chaque "plan"

select_items = [] #Une liste de rendez-vous dans une période spécifiée

#Précisez la période pour laquelle vous souhaitez extraire le planning
start_date = datetime.date(2020, 10, 19) # 2020-10-19
end_date = datetime.date(2020, 10, 23) # 2020-10-23

for item in items:
    if start_date <= item.start.date() <= end_date:
        select_items.append(item)

#Afficher les détails de la planification extraite
for select_item in select_items:
    print("matière:", select_item.subject)
    print("endroit:", select_item.location)
    print("Heure de début:", select_item.start)
    print("Heure de fin:", select_item.end)
    print("Texte:", select_item.body)
    print("----")

Automatisation liée à Microsoft Office

Cliquez ici pour d'autres séries d'automatisation liées à Microsoft Office. Si vous êtes intéressé, s'il vous plaît!

[Automation] Envoyer des e-mails Outlook avec Python https://qiita.com/konitech913/items/51867dbe24a2a4272bb6

[Automation] Lire le courrier Outlook avec Python https://qiita.com/konitech913/items/8a285522b0c118d5f905

[Automation] Lire le courrier (fichier msg) avec Python https://qiita.com/konitech913/items/fa0cf66aad27d16258c0

[Automation] Lire des documents Word avec Python https://qiita.com/konitech913/items/c30236bdf47775535e2f

Recommended Posts

[Automation] Extraire les rendez-vous Outlook avec Python
[Automation] Envoyer des e-mails Outlook avec Python
[Automation] Extraire le tableau en PDF avec Python
Extraire le fichier xz avec python
[Automatisé avec python! ] Partie 1: fichier de configuration
[Débutant] Extraire des chaînes de caractères avec Python
[Automatisé avec python! ] Partie 2: Fonctionnement des fichiers
[Python] Envoyez des e-mails avec Outlook
[Automation] Manipulez la souris et le clavier avec Python
[Automation] Lire des documents Word avec Python
[Automation] Lire le courrier (fichier msg) avec Python
FizzBuzz en Python3
Grattage avec Python
Grattage avec Python
Python avec Go
Twilio avec Python
Intégrer avec Python
Jouez avec 2016-Python
AES256 avec python
Testé avec Python
python commence par ()
avec syntaxe (Python)
Bingo avec python
Zundokokiyoshi avec python
Excel avec Python
Micro-ordinateur avec Python
Cast avec python
Automatisation de l'interface graphique avec le pilote d'application Python x Windows
Extraire le zip avec Python (prend en charge les noms de fichiers japonais)
Extraire les pièces jointes reçues par Thunderbird avec Python
Extraire des données d'une page Web avec Python
Communication série avec Python
Zip, décompressez avec python
Django 1.11 a démarré avec Python3.6
Python avec eclipse + PyDev.
Communication de socket avec Python
Analyse de données avec python 2
Extraire "date actuelle uniquement" et "date et heure actuelles" avec python datetime.
Grattage en Python (préparation)
Essayez de gratter avec Python.
Extraire le tableau des fichiers image avec OneDrive et Python
Apprendre Python avec ChemTHEATER 03
Recherche séquentielle avec Python
"Orienté objet" appris avec python
Manipuler yaml avec python
Résolvez AtCoder 167 avec python
Communication série avec python
[Python] Utiliser JSON avec Python
Apprendre Python avec ChemTHEATER 05-1
Apprenez Python avec ChemTHEATER
Exécutez prepDE.py avec python3
1.1 Premiers pas avec Python
Collecter des tweets avec Python
Binarisation avec OpenCV / Python
3. 3. Programmation IA avec Python
Automatisation de l'interface utilisateur avec Python
Méthode Kernel avec Python
Non bloquant avec Python + uWSGI
Grattage avec Python + PhantomJS
Publier des tweets avec python