É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 **.
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.
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("----")
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