0
我是Python的新手。我正在將很多舊的VBA代碼移植到Python中。Python 3.4中的DateTime對象 - 執行FreeBusy查詢Outlook
下面是我在VBA:
Schedule = myRecipient.FreeBusy(Now(), Duration, True)
調用此FreeBusy方法將返回一個表示收件人的可用性的字符串。
我的主要問題是獲取一個有效的DateTime來交換Now()。
這裏就是我試過最近:
import win32com.client
import tkinter as tk
import time
import pywintypes
class Application(tk.Frame):
def __init__(self, master=None):
tk.Frame.__init__(self, master)
self.pack()
self.createWidgets()
def createWidgets(self):
self.new = tk.Button(self, text="Outlook", fg="blue",command=self.Connect_Outlook)
self.new.pack()
self.QUIT = tk.Button(self, text="QUIT", fg="red",command=root.destroy)
self.QUIT.pack(side="bottom")
def Connect_Outlook(self):
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
myRecipient = outlook.CreateRecipient("SomeEmailHere")
now_seconds = time.time()
now_pytime = pywintypes.Time (now_seconds)
print(now_pytime)
Schedule = myRecipient.FreeBusy(now_pytime, 30)
我不斷收到此錯誤「ValueError異常:astimezone()不能被應用到天真的日期時間」。我迷路了,我很感激得到這個DateTime格式正確的方向。
謝謝大家! :)
謝謝尤金。我嘗試了你的建議;但是我得到這個錯誤。 TypeError:必須是pywintypes時間對象(得到datetime.date)。我研究並嘗試了一些其他的選擇,但沒有奏效。 –
我建議改用Python專家。 –