0
OutlookでOOOを自動化するためのスクリプトを作成しています。VBS:Outlookで開始日と終了日を設定してOutlookの不在時応答を設定する
- スクリプトは入力スプレッドシートから開始日と終了日を読み込み、それらの日付のOutlookで不在時の返信を設定します。
- このスクリプトは現在の日付を取得し、スプレッドシートから読み取った開始日が明日の日付である場合は、ユーザーに確認を求めます。
- アイデアは、ユーザにOOOを設定させてから、ユーザが確認すると自動的に設定することを思い出させることです。例えば、Excelシートから開始日と終了日が
21-Oct-2016
と24-Oct-2016
あり、このスクリプトは20-Oct-2016
上で実行される場合、(MS Outlookを開くことなく)自動的24-Oct-2016
まで21-Oct-2016
出発OOOを設定することができなければならない場合 - これまでのところ、私はスプレッドシートを読んで日付を得ることができました。しかし、私は将来の期間にOOOを設定することができません。ここで
が進行中のコードです:
Sub ReadDataAndSetOOO()
Dim objExcel,ObjWorkbook,objsheet
intRow = 2
Dim startDateValue, endDateValue
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\input.xlsx")
set objsheet = objExcel.ActiveWorkbook.Worksheets(1)
DateToday = FormatDateTime(Date, 1)
DateTomorrow = formatDate(FormatDateTime(DateAdd("d", 1, DateToday), 1))
Wscript.Echo DateTomorrow
Do Until objExcel.Cells(intRow,1).Value = ""
startDateValue = formatDate(FormatDateTime(objsheet.Cells(intRow,1).value,1))
endDateValue = formatDate(FormatDateTime(objsheet.Cells(intRow,2).value))
Wscript.Echo "Start date=" & startDateValue
Wscript.Echo "End date=" & endDateValue
If DateTomorrow = startDateValue Then
'Following line to be replaced by the code to set OOO between start and end date
Wscript.Echo "I am on leave from " & startDateValue & " to " & endDateValue
End If
intRow = intRow + 1
Loop
objExcel.ActiveWorkbook.Close
objExcel.Workbooks.Close
objExcel.Application.Quit
End Sub
Function formatDate(myDate)
d = parse(Day(myDate))
m = parse(Month(myDate))
y = Year(myDate)
formatDate= d & "-" & m & "-" & y
End Function
Function parse(num)
If(Len(num)=1) Then
parse="0"&num
Else
parse=num
End If
End Function
ReadDataAndSetOOO
私はthis linkと呼ばれ、いくつかの他のリンクが、どこでも、OOOが必要な開始日と終了日のためにすぐにではなく設定されています。
どのポインタも高く評価されています。
ありがとうございます。試してみてください。 –
'CreateObject(" Redemption.RDOSession ")' 'ActiveXコンポーネントがオブジェクトを作成できません: 'Redemption.RDOSession''。私は問題が何かを見つけようとしています。 –
正確なエラーは何ですか? Redemptionをインストールしましたか? Outlookとあなたのアプリケーションのビット数は何ですか? –