鱼C论坛

 找回密码
 立即注册
查看: 336|回复: 9

[已解决]请版主帮忙删除本帖!python win32com 添加别人的outlook予定表

[复制链接]
发表于 2024-2-15 16:41:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 zhanlp 于 2024-2-16 18:12 编辑

大家好,请教一下!
我想给组员们设置outlook的予定表,比如每天9点打卡,在outlook的calendar里面添加这个预定。但同时希望组员自己可以更改预定。
我尝试了SendUsingAccount,并没有什么效果。怎么设置可以让组员能够更改我发出去的予定表呢

import win32com.client as win32com
try:
    outlook = win32com.Dispatch("Outlook.Application")
except win32com.client.pywintypes.com_error as e:
    print("error")
namespace=outlook.GetNamespace('MAPI')
appt =outlook.CreateItem(1)
appt.Recipients.Add("xxxx@outlook.com")
appt.Start = "2024-2-16 08:00"
appt.SendUsingAccount="yyyy@outlook.com"
appt.Subject = "create shared calender test"
appt.MeetingStatus=1
appt.save()
appt.Send()
最佳答案
2024-2-15 16:41:57
你好!发送预定表时,使用`SendUsingAccount`属性只是指定了用哪个账户发送邮件,并不能控制接收方是否可以更改预定。要让组员可以更改你发出的预定表,需要将预定表添加到共享日历中。

首先,你需要有一个共享日历。你可以在Outlook中创建一个共享日历,然后授权给组员可以编辑。创建共享日历的方法可以参考下面的代码示例:

  1. import win32com.client as win32com

  2. try:
  3.     outlook = win32com.Dispatch("Outlook.Application")
  4. except win32com.client.pywintypes.com_error as e:
  5.     print("error")

  6. namespace = outlook.GetNamespace('MAPI')
  7. recipient = namespace.CreateRecipient("zhanlptest@outlook.com")
  8. shared_calendar = namespace.GetSharedDefaultFolder(recipient, win32com.constants.olFolderCalendar)
复制代码


在这里,我们使用`GetSharedDefaultFolder`方法获取了共享日历的文件夹对象。然后,你可以在这个共享日历上创建预定表。

  1. appt = shared_calendar.Items.Add(win32com.constants.olAppointmentItem)
  2. appt.Start = "2024-2-16 08:00"
  3. appt.Subject = "create shared calender test"
  4. appt.MeetingStatus = win32com.constants.olMeeting
  5. appt.Save()
复制代码


以上代码将在共享日历中创建一个预定表。接下来,你需要将这个预定表发送给组员。

  1. appt.Send()
复制代码


现在,组员就可以在他们的Outlook中看到该预定表,并且可以进行更改。

请注意,在将预定表添加到共享日历后,你需要为组员分配相应的权限,以便他们可以编辑预定表。可以在Outlook中找到共享日历,然后授予他们编辑权限。

希望这能帮到你!如果还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-2-15 16:41:57 | 显示全部楼层    本楼为最佳答案   
你好!发送预定表时,使用`SendUsingAccount`属性只是指定了用哪个账户发送邮件,并不能控制接收方是否可以更改预定。要让组员可以更改你发出的预定表,需要将预定表添加到共享日历中。

首先,你需要有一个共享日历。你可以在Outlook中创建一个共享日历,然后授权给组员可以编辑。创建共享日历的方法可以参考下面的代码示例:

  1. import win32com.client as win32com

  2. try:
  3.     outlook = win32com.Dispatch("Outlook.Application")
  4. except win32com.client.pywintypes.com_error as e:
  5.     print("error")

  6. namespace = outlook.GetNamespace('MAPI')
  7. recipient = namespace.CreateRecipient("zhanlptest@outlook.com")
  8. shared_calendar = namespace.GetSharedDefaultFolder(recipient, win32com.constants.olFolderCalendar)
复制代码


在这里,我们使用`GetSharedDefaultFolder`方法获取了共享日历的文件夹对象。然后,你可以在这个共享日历上创建预定表。

  1. appt = shared_calendar.Items.Add(win32com.constants.olAppointmentItem)
  2. appt.Start = "2024-2-16 08:00"
  3. appt.Subject = "create shared calender test"
  4. appt.MeetingStatus = win32com.constants.olMeeting
  5. appt.Save()
复制代码


以上代码将在共享日历中创建一个预定表。接下来,你需要将这个预定表发送给组员。

  1. appt.Send()
复制代码


现在,组员就可以在他们的Outlook中看到该预定表,并且可以进行更改。

请注意,在将预定表添加到共享日历后,你需要为组员分配相应的权限,以便他们可以编辑预定表。可以在Outlook中找到共享日历,然后授予他们编辑权限。

希望这能帮到你!如果还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-15 17:54:56 | 显示全部楼层
FishC 发表于 2024-2-15 16:41
你好!发送预定表时,使用`SendUsingAccount`属性只是指定了用哪个账户发送邮件,并不能控制接收方是否可以 ...

非常感谢您的回答!我明白了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-15 17:55:16 | 显示全部楼层
zhanlp 发表于 2024-02-15 17:54
非常感谢您的回答!我明白了。


不客气!很高兴能够帮到你。如果还有其他问题,请随时提问。祝你在设置予定表上取得成功!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-15 18:05:22 | 显示全部楼层
不好意思,请问如何删除自己发的贴子
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-15 18:05:39 | 显示全部楼层
zhanlp 发表于 2024-02-15 18:05
不好意思,请问如何删除自己发的贴子


没问题,我可以帮你解答。要删除自己发的帖子,需要根据你所使用的平台和具体的论坛或社交媒体来进行操作。以下是一些常见平台的删除方法:

1. 在大部分论坛中,你可以登录到你的账户,然后找到对应的帖子。一般会有一个编辑或删除选项。点击删除,确认删除即可。

2. 在社交媒体平台(如Facebook、Twitter、Instagram等)上,你可以找到你要删除的帖子,然后点击帖子右上角的"…"(更多)按钮,通常会有一个删除选项。

3. 如果你在一个博客或个人网站上发布了帖子,你可以登录到你的管理后台,找到对应的帖子,然后选择删除。具体的方法可能因平台而异。

无论你在哪个平台上发帖,请注意以下几点:
- 删除帖子后,通常是无法恢复的。请谨慎操作,确保你真的想要删除该帖子。
- 如果你的帖子相关内容被其他人引用或截图,删除帖子并不一定能够彻底消除这些内容。请考虑与其他相关方进行沟通以达成共识。
- 如果删除了帖子后仍有困扰,你可以向论坛管理员或平台客服寻求帮助。

希望这些信息能够对你有帮助!如果还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-19 19:08:27 | 显示全部楼层
zhanlp 发表于 2024-2-15 18:05
不好意思,请问如何删除自己发的贴子

在你的编辑中,下方有个删除本贴
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-19 22:14:57 | 显示全部楼层
不用删,拿来给大家作典型问题解决事例
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-20 07:53:36 | 显示全部楼层
星期五打篮球 发表于 2024-2-19 19:08
在你的编辑中,下方有个删除本贴

有人回复了以后,就没有删除本贴了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-20 08:02:47 | 显示全部楼层
python爱好者. 发表于 2024-2-19 22:14
不用删,拿来给大家作典型问题解决事例

创建共享予定表,然后赋予编辑权限,是个不错的思路。但recipient, win32com.constants.olFolderCalendar报错了。我另外整理了[技术交流] python 修改别人的outlook予定表,通过界面创建了共享予定表,赋予权限。然后再代码里面添加了预定

评分

参与人数 1荣誉 +5 鱼币 +1 贡献 +3 收起 理由
python爱好者. + 5 + 1 + 3 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 22:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表