仕事上必要な工夫など、備忘録として残します。
Excel等からCDOを利用しメールクライアントを介さずにメールする(2)
GoMail関数改
Sub GoMail(t As Variant, sj As Variant, bd As Variant, Optional at As Variant) Set objMail = CreateObject("CDO.Message") Worksheets("setting").Select With Sheets("setting") objMail.to = t '送信先アドレス objMail.Subject = sj 'メール題名 objMail.TextBody = bd '本文 If at <> "" Then objMail.AddAttachment at '添付ファイル objMail.From = .Range("B1") chars = .Range("B2") If chars = "" Then chars = "utf-8" objMail.BodyPart.Charset = chars objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = .Range("B3") objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = .Range("B4") objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = .Range("B5") objMail.Configuration.Fields.Update End With objMail.Send Set objMail = Nothing End Subこのコードは標準モジュールに記載してあります。
呼び出し側
Excel等からCDOを利用しメールクライアントを介さずにメールする
呼び出し側
コマンドボタンをシートに作成して下さい。Private Sub CommandButton1_Click() fad="abc@gmail.com" ' 発信者アドレス tad="xyz@gmail.com" '送信先アドレス mbody="Hello" 'メール本文 sbj="Mail Test" 'メール題名 '添付ファイルを指定してUTF-8形式で送信 Call Gomail(fad,tad,sbj,mbody,"c:a.csv","UTF-8") End Sub
メール送信コア部分
Sub GoMail(fm As Variant, t As Variant, sj As Variant, bd As Variant, Optional at As Variant, Optional chars As Variant) Set objMail = CreateObject("CDO.Message") objMail.From = fm ' 発信者アドレス objMail.To = t '送信先アドレス objMail.Subject = sj 'メール題名 objMail.TextBody = bd '本文 If at <> "" Then objMail.AddAttachment at '添付ファイル If chars = "" Then chars = "utf-8" 'エンコード objMail.BodyPart.Charset = chars strConfigurationField ="http://schemas.microsoft.com/cdo/configuration/" With objMail.Configuration.Fields .Item(strConfigurationField & "sendusing") = 2 '送信方法=SMTP使用 .Item(strConfigurationField & "smtpserver") = "xxx.xxx..xxx.xxx"'SMTPのIPアドレス .Item(strConfigurationField & "smtpserverport") = 25 .Update End With objMail.Send Set objMail = Nothing End Sub
.Item(strConfigurationField & "smtpusessl") = True .Item(strConfigurationField & "smtpauthenticate") = 1 .Item(strConfigurationField & "sendusername") = "xxxxx@gmail.com" .Item(strConfigurationField & "sendpassword") = "password" .Item(strConfigurationField & "smtpconnectiontimeout") = 60
Call GoMail(発信者メールアドレス,宛先メールアドレス,メール件名,本文[,添付ファイル,エンコード]) で呼び出します。 添付ファイルの指定がなければ当たり前ですが添付しません。 エンコードの指定がなければデフオルトはUTF-8にしてあります。※KingSoftSpreadsheets2010 VBA版でも動作しました。
Google TasksにアップロードするCSVのヘッダについて
OutlookCSVはサポートしているがフル対応ではない
Google Tasks Import はOutlookCSVをインポートできます。まずはこれを探ると、OutlookCSVのヘッダは下記の通りです。Subject Start Date Due Date Reminder On/Off Reminder Date Reminder Time Date Completed % Complete Total Work Actual Work Billing Information Categories Companies Contacts Mileage Notes Priority Private Role Schedule+ Priority Sensitivity Statusではありますが、あくまで、Outlookのデータを読み込めるというだけであり、すべてのデータがGoogle Tasksに反映するというわけではありません。
GTB Import/Export CSVから探る
# All possible columns, used when using GTB Import/Export CSV format FULL_CSV_ELEMENT_LIST = ['tasklist_name', 'title', 'notes', 'status', 'due', 'completed', 'deleted', 'hidden', 'depth']とあります。
tasklist_name | タスクリスト名 |
title | タスク |
notes | 説明 |
status | 状態(NeedsAction,NotStarted,Completedなど) |
due | 期限日時 |
completed | 完了日時 |
deleted | 削除[TRUE/FALSE] |
hidden | 隠した[TRUE/FALSE] |
depth | タスクのインデントの深さ(親=0) |
GoogleカレンダーにアップロードするCSVに必要なヘッダ
Subject, Start Date, Start Time, End Date, End Time, All Day Event, Reminder On/Off, Reminder Date, Reminder Time, Meeting Organizer, Description, Location, Private (件名, 開始日, 開始時刻, 終了日, 終了時刻, 終日イベント, 通知オン/オフ, 通知日, 通知時刻, ミーティング管理者, 説明, 場所, 非公開)と、あります。
Google カレンダーに予定をインポートするために最小限必要なヘッダー情報は、「Subject」、「Start Date」、「Start Time」です。とありますが、「Start Time」はなくともアップロードできました。
プロフィール
カレンダー
ブログ内検索
カテゴリー
最新記事
忍者カウンター
P R