Sub sample()
Dim i As Long
Dim oApp As Outlook.Application
Dim myNameSpace As Outlook.Namespace
Dim myFolder As Outlook.Folder
Set oApp = CreateObject("Outlook.Application")
Set myNameSpace = oApp.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(13) '規定のフォルダーの指定:9 は予定表・6は受信トレイなので今回は9を指定
myFolder.Display 'Outlookを表示
oApp.ActiveWindow.WindowState = 2 'ウィンドウサイズの指定
Dim title As String 'タスクのタイトル
Dim Contents As String 'タスクの内容
Dim Start As String 'タスクの開始日
Dim ed As String 'タスクの終了日
Dim proses As String 'タスクの進捗状況
i = 2
Do Until Cells(i, 1).Value = "" '表が終わるまでループ
'Excelの表のデータを取得
title = Cells(i, 1)
Contents = Cells(i, 2)
Start = Cells(i, 3).Text
ed = Cells(i, 4).Text
proses = Cells(i, 5).Text
priority = Cells(i, 6).Text
'予定表の処理
Dim TsItem As Outlook.TaskItem
Set TsItem = oApp.CreateItem(3) 'タスク作成
TsItem.Display '編集画面表示
TsItem.Subject = title
TsItem.Body = place
TsItem.StartDate = Start
TsItem.DueDate = ed
Select Case priority
Case "延期"
TsItem.Status = olTaskDeferred
Case "進捗中"
TsItem.Status = olTaskInProgress
Case "完了"
TsItem.Status = olTaskComplete
Case "待機中"
TsItem.Status = olTaskWaiting
Case "未開始"
TsItem.Status = olTaskNotStarted
End Select
'Subject=タスクの名前
'Body=タスクの内容
'StartDate=タスクの開始の日時
'DueDate=予定終了の日時
'Status=進捗状況、進捗状況は以下の定数で指定↓
'olTaskComplete 仕事は完了しています。
'olTaskDeferred 仕事は延期されています。
'olTaskInProgress 仕事は作業中です。
'olTaskNotStarted 仕事はまだ開始していません。
'olTaskWaiting 仕事は待機中です。
'----------------------------------------
TsItem.Close 0
i = i + 1
Loop '表の予定がなくなるまで繰り返し
Set myFolder = Nothing 'プロシージャー終了時に開放されるのは知っているよ!でも一応(笑)
Set myNameSpace = Nothing
Set oApp = Nothing
End Sub
有益な情報をいつもありがとうございます!
こちらに書かれているコードをアウトルックで実行すると以下のようにエラーが出ました。
どのように対応すればよいか教えて頂ければ幸いです。
エラー
Cellsメソッドは失敗しました:`_Global`オブジェクト
ハリー様
コメントありがとうございます。
こちらのコードはExcelからoutlookを操作することを想定しております。
おそらくoutlookではエラーになってしまうと思います。