VBAでOutlookカレンダーを追加

このQ&Aのポイント
  • Outlook365を利用しています。VBAを使用して、Outlookカレンダーに予定を登録する方法について教えてください。
  • 通常の予定表ではなく、特定のサブフォルダーにカレンダーを追加したいです。VBAを使用して直接サブフォルダーにカレンダーを登録することは可能でしょうか?
  • ネットで調べた結果、MOVEすれば良いという情報がありましたが、具体的な方法について教えてください。
回答を見る
  • ベストアンサー

VBAでOutlookカレンダーを追加したい

Outlook365を利用しています。 以下の内容でカレンダーを登録すると・・・・ ********* With CreateItem(olAppointmentItem) .Start = Now .Subject = ABCDEF .Body = AAAAAAAAA .Save End With ************ 当然ですが自分の"予定表"に追加されます。 予定表ではなくそれと別に"testcal"(サブフォルダー)があるのでVBAを用いて直接"testcal"に登録したいです。 ネットで調べるとMOVEすれば良いなどありましたが直接testcalにカレンダーを登録することは可能でしょうか? よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • m3_maki
  • ベストアンサー率64% (295/459)
回答No.1

動作確認していませんが、こんなの有りました。 【VBA】ExcelからOutlookの追加した予定表へスケジュールを登録する https://extan.jp/?p=3341

sakura-shouten
質問者

お礼

頂いたURLがヒントになりました!ありがとうございます。

関連するQ&A

  • Outlookの文面を赤にする方法-エクセルVBA

    下記のようなコードでエクセルVBAでOutlookメールを作成する際、「期限:10月30日」の部分だけを赤にする方法を教えてください。 HTMLBodyというのを使うようなのですが、下記のコードの基本を変えず、対応する方法を教えてください。 Sub メール() 'Outlookの定義 Set myOutLook = CreateObject("outlook.application") Set Omail = myOutLook.CreateItem(olMailItem) 'メール作成 Omail.BodyFormat = 2 'メール形式 1=テキスト 2=HTML 3=リッチテキスト Omail.Subject = "意見記入のお願い" 'subject Omail.Body = Omail.Body & "いつもお世話になっております。" & vbCrLf Omail.Body = Omail.Body & "下記の申請が提出されました。" & vbCrLf Omail.Body = Omail.Body & "期限:10月30日" Omail.Display End Sub

  • VBAでOutlookの文面の一部を赤にする方法

    記のようなコードでエクセルVBAでOutlookメールを作成する際、「期限:10月30日」の部分だけを赤にする方法を教えてください。 <font color = ""#ff0000"">" & "期限:10月30日" & "</font>" このようなコードを使うようなのですが、下記にどのように変更すれば動くのか教えてください。 Sub メール() 'Outlookの定義 Set myOutLook = CreateObject("outlook.application") Set Omail = myOutLook.CreateItem(olMailItem) 'メール作成 Omail.BodyFormat = 2 Omail.Subject = "意見記入のお願い" 'subject Omail.Body = Omail.Body & "いつもお世話になっております。" & vbCrLf Omail.Body = Omail.Body & "下記の申請が提出されました。" & vbCrLf Omail.Body = Omail.Body & "期限:10月30日" Omail.Display End Sub

  • outlook2003 本文の一部に色を付けたい。

    vbaでメールを作成するマクロは組めたのですが 一部の文字に色をつける方法がわかりません。 Sub test() Dim acoutlook As Outlook.Application Dim acmail As MailItem Set acoutlook = GetObject(, "outlook.Application") Set acmail = acoutlook.CreateItem(olMailItem) With acmail .To = "aaaa@com" .Subject = "件名" .Body = "赤です。よろしくお願いします。" .Display End With End Sub 上のコードの「赤」という部分を赤色にするにはどうすればいいでしょうか。 ちなみにこれはアクセスから起動しています。 よろしくお願いします。

  • OutlookのVBAについて教えてください

    はじめまして。 Outlookにて仕訳ルールの処理にて 特定のアドレスの方からのメールを仕訳け、さらに 添付ファイルを保存する。という処理を行っています。 添付ファイルの保存自体はネットでのVBAを参考に 作成することができました。 ただ、OutLook起動時に複数件、同じメールがある場合、 一番古いメールの添付ファイルのみが保存されてしまっているようです。 解決方法がわかる方、教えてください。 やりたいことは以下のとおりです。 宜しくお願い致します。 ■実現したいこと ・件名Aのメールの場合:添付ファイルをフォルダーAへ保存 ・件名Bのメールの場合:添付ファイルをフォルダーBへ保存 ・件名Cのメールの場合:添付ファイルをフォルダーCへ保存 ・件名Dのメールの場合:添付ファイルをフォルダーDへ保存 ■OutLookのVBA Public Sub SaveAttachments(objMsg As MailItem) Const SAVE_Dir = "C:\" Dim objFSO As Object Dim objAttach As Attachment Dim strFileName As String Dim c As Integer: c = 1 Dim flg As Integer: flg = 1 Dim SAVE_PATH As String Set objFSO = CreateObject("Scripting.FileSystemObject") ' 件名により、保存先のパスを変更します。 SAVE_PATH = SAVE_Dir If VBA.Right(SAVE_PATH, 1) <> "\" Then SAVE_PATH = SAVE_PATH & "\" Select Case objMsg.Subject Case "件名A" SAVE_PATH = SAVE_PATH & "フォルダーA" Case "件名B" SAVE_PATH = SAVE_PATH & "フォルダーB" Case "件名C" SAVE_PATH = SAVE_PATH & "フォルダーC" Case "件名D" SAVE_PATH = SAVE_PATH & "フォルダーD" Case Else flg = 0 End Select If VBA.Right(SAVE_PATH, 1) <> "\" Then SAVE_PATH = SAVE_PATH & "\" ' 指定のフォルダに添付ファイルを格納 If flg = 1 Then For Each objAttach In objMsg.Attachments With objAttach strFileName = SAVE_PATH & objAttach.FileName .SaveAsFile strFileName End With Next End If End Sub

  • エクセル2007 VBAでアウトルック2007の予定表を作るんですが、

    エクセル2007 VBAでアウトルック2007の予定表を作るんですが、 日付まではうまくいったのに開始時刻が指定できません。 エクセルでのファイルを保存した後にそのファイルを添付したアウトルック予定表を作成します。 予定日は3ヶ月後、開始時刻は8:30amにしたいのですが、どうにも開始時刻だけが指定できません。 なにかいい方法があるでしょうか? こちらを参考に途中までは出来ています。 http://www.ken3.org/cgi-bin/group/vba_outlook.asp ただし、予定表の開始時刻が0:00となっているので、ここを8時30分にしたいのです。 (終了時間はあまり気にしません) そもそも出来ないのかな? コードは下記です。 Sub 保存() '保存コード省略 Flnm=フォルダとファイル名 'ここからアウトルックの操作 Dim oApp As Object Dim myNameSpace As Object Dim myFolder As Object Dim strMOJI As String Dim objITEM As Object 'outlook 起動 Set oApp = CreateObject("Outlook.Application") Set myNameSpace = oApp.GetNamespace("MAPI") Set myFolder = myNameSpace.GetDefaultFolder(9) '起動時フォルダーを指定 myFolder.Display 'アイテムの作成 Set objITEM = oApp.CreateItem(1) '予定表作成画面を指定 objITEM.Display '編集画面を表示 '予定表内容 objITEM.Subject = "見積り発行後のフォロー" '件名 objITEM.body = "見積り発行から3ヶ月経ちました" '本文 objITEM.Attachments.Add Flnm 'ファイルの添付 objITEM.Start = DateAdd("m", 3, Date) '予定日 'ここらへんがわからない        '開始時間も入れたい 'objITEM.Save                 '保存 'objITEM.Close 2                  '閉じる End Sub 開始時刻以外はすべてうまく処理出来ています。

  • アウトルックvba 差出人を指定したい

    vbaでメールを送信したいのですが、 アウトルックに二つのアカウントを登録しています。 その時 Sub メール作成() Dim OlApp As Outlook.Application Dim mItem As Outlook.MailItem Set OlApp = New Outlook.Application Set mItem = OlApp.CreateItem(olMailItem) With mItem .To = "test2@docomo.ne.jp" .Subject = "メモ" .Display End With End Sub は、問題なくできるのですが、 差出人(送信者)の部分をどうすればいいかわからないです。 差出人(送信者)の部分とは、画像の部分です。 .Sender = "test@.co.jp" にすると "test@.co.jp"が、コンパイルエラー 型が一致しません。になります。 ヘルプを見ると、 MailItem の送信元のアカウントのユーザーに対応する AddressEntry オブジェクトを取得または設定します。 と書いてあります。 何を言ってるかよくわかりませんが、差出人(送信者)の指定ではないようです。 なので、 .SenderEmailAddress = "test@.co.jp" にしてみましたが、 値の取得のみ可能とのことなので、エラーになりました。 どうやって差出人の指定をすればいいのでしょうか? バージョンは2010です。 よろしくお願いします。

  • エクセルVBAでOutlookメール作成

    いろいろ検索や質問をしてエクセルVBAで、下記のコードによりOutlookのメールを自動作成できるようになりました。 Sub TEST01() Set oApp = CreateObject("Outlook.Application") Set objMAIL = oApp.CreateItem(0) 'olMailItem=0 strMOJI = "こんにちは!" & vbNewLine & "テストメールです。" & vbNewLine & "よろしくおねがいします。" objMAIL.To = "XXXX@XXXXX.co.jp" '宛先 objMAIL.Subject = "テスト" '件名 objMAIL.Body = strMOJI '本文の代入 objMAIL.display '表示 End Sub それで、実際にはstrMOJI に代入した文字列の下に、このマクロを記述してあるBOOKのSheets("Sheet1").Range("A1:D10")をコピーし、 「リッチテキスト形式」で貼り付けたいのです。 どのようなコードに変えればよいのか教えていただけると助かります。 よろしくお願いいたします。

  • エクセルVBA

    VBAの素人です。 以下のようなVBAを実行しようと、何とか形にしました。 単独のBOOKではうまくいくのですが、同時に他のBOOKを開くと 「インデックスが有効範囲にありません」とエラーになります。 エラー箇所は、With Sheets("Sheet1").Range("B1")部分です。 修正をご教示頂ける方、何卒よろしくお願い致します。 全くVBA無知なのにすみません。 Private Sub Workbook_Open() test01 test02 Application.OnTime Now + TimeValue("00:10:00"), "終了" End Sub Sub 終了() Application.OnTime Now + TimeValue("0:00:02"), "test01", , False ThisWorkbook.Close Savechanges:=False Application.Quit End Sub Sub test01() With Sheets("Sheet1").Range("B1") .Value = Time .NumberFormatLocal = "mm:ss" End With Application.OnTime Now + TimeValue("0:00:02"), "test01" End Sub Sub test02() With Sheets("Sheet1").Range("B2") .Value = Time .NumberFormatLocal = "mm:ss" End With End Sub

  • VBA エクセル メール送信 ハイパーリンクの貼り方

    お世話になります。 首題の通り、エクセルに記述したマクロを使いメールを送りたいのですが、その際に文章の記述にハイパーリンクを張りたいのです。 例えば下記のモジュールですと、文章のBODYの部分には「OKWAVE」とだけ表示されますが、これをクリックすると[http://okwave.jp/]が開くようにしたいのですが、どのように記述すればよろしいのでしょうか?よろしくご指南くださいませ。 Sub test() Dim strBody As String Filename = "ハイパーリンクの貼り方???" strBody = "OKWAVE" Set myOL = CreateObject("Outlook.Application") Set myMAIL = myOL.CreateItem(0) With myMAIL .to = "123@123.GOM" .Subject = Filename .body = strBody .display '.send End With Set myMAIL = Nothing Set myOL = Nothing End Sub

  • コンパイルエラーです。 vba

    エクセルvbaからメールを生成したいのですが New Outlook.Application の部分でエラーになります。 コンパイルエラーです。 Outlookに参照設定せずに、Objectで宣言しているのが原因だと思いますが、 参照設定せずに、メールを立ち上げるにはどうすればいいですか? Sub Sample() Dim OlApp As Object Dim mItem As Object Set OlApp = New Outlook.Application Set mItem = OlApp.CreateItem(olMailItem) With mItem .To = "test@yahoo.co.jp" .Body = "test" .display End With End Sub

専門家に質問してみよう