Slide 1

Slide 1 text

メール本文をどうやっつけるか

Slide 2

Slide 2 text

はなっち!とは…  2020年11月 定年退職  同 年 同 月 有期契約社員  2022年7月 個人事業主化  ~2024年8月 お仕事いただけていました!  はなっち!の最近 実家へ単身赴任! ・認知症の母、入院⇒施設へ! ・父の退院!認知度が低くなってる! 9月からのお仕事募集中!  Twitter:hjmkzk  Qiita:@HANACCHI  FaceBook:hajime.kozaki  BlueSky: hjmkzk.bsky.social

Slide 3

Slide 3 text

ロボットが 処理終了したら、 メールが欲しい! 現場からの声

Slide 4

Slide 4 text

送信先メールアドレス 件名("処理終了しました!“) 本文("処理終了しました!“) とっても簡単

Slide 5

Slide 5 text

送信先は 変えられるように! 現場からの声

Slide 6

Slide 6 text

CONFIG("MAILADDRESS").ToString CONFIG("MAILSUBJECT").ToString CONFIG("MAILBODY").ToString 改善① CONFIG.xlsx DataTable型⇒ Dictionary型

Slide 7

Slide 7 text

正常か異常かを 件名に入れたい! 現場からの声

Slide 8

Slide 8 text

CONFIG("MAILADDRESS").ToString If(状態.Equals("正常"), “正常”, “異常”) & CONFIG("MAILSUBJECT").ToString CONFIG("MAILBODY").ToString CONFIG.xlsx DataTable型⇒ Dictionary型 改善②

Slide 9

Slide 9 text

正常か異常かを 本文にも入れたい! 開発者目線では、開始時刻、終了時刻、 処理件数なども... 現場からの声

Slide 10

Slide 10 text

CONFIG("MAILADDRESS").ToString CONFIG("MAILSUBJECT").ToString .Replace("", 状態) CONFIG("MAILBODY").ToString .Replace("", ROBOTSTART.ToString("yyyy/MM/dd HH:mm:s .Replace("", ROBOTEND.ToString("yyyy/MM/dd HH:mm:ss" .Replace("", ROBOTCOUNT) CONFIG.xlsx DataTable型⇒ Dictionary型 改善③

Slide 11

Slide 11 text

終了時刻は 件名にも入れたい! まだまだ要望は 出てきそう... 現場からの声

Slide 12

Slide 12 text

CONFIG("MAILADDRESS").ToString MAILSUBJECT MAILBODY CONFIG.xlsx DataTable型⇒ Dictionary型 改善④-1 変数にして しまおう!

Slide 13

Slide 13 text

終了時刻は 件名にも入れたい! 変数にしてどうする? 開発者の声

Slide 14

Slide 14 text

①置換すべきキーワードをキーに持つDictionary型変数を作成! MAILDICTIONARY("") ← "正常" MAILDICTIONARY ← New Dictionary(Of String, Object) 改善④-2

Slide 15

Slide 15 text

②そのDictionaryのKeyの値を、Valueで置換(Dictionaryの格納数分) MAILBODY ← MAILBODY.Replace(KV.Key, KV.Value.ToString) MAILSUBJECT ← MAILSUBJECT.Replace(KV.Key, KV.Value.ToString) 改善④-3

Slide 16

Slide 16 text

こうすると! 開発者の声

Slide 17

Slide 17 text

処理 MailSubject MailBody 転記 終了しました! () 処理終了しました! 開始: 終了: 件数: KV(0)にてReplace 正常終了しました! () 処理終了しました! 開始: 終了: 件数: KV(1)にてReplace 正常終了しました! () 処理終了しました! 開始:2024/08/16 12:09 終了: 件数: KV(2)にてReplace 正常終了しました! (2024/08/16 12:10) 処理終了しました! 開始:2024/08/16 12:09 終了:2024/08/16 12:10 件数: KV(3)にてReplace 正常終了しました! (2024/08/16 12:10) 処理終了しました! 開始:2024/08/16 12:09 終了:2024/08/16 12:10 件数:1234

Slide 18

Slide 18 text

まとめ

Slide 19

Slide 19 text

• 仕様に縛られる? ⇒拡張性を考えて実装してみよう! • 仕様変更に応えられる? ⇒汎用的に行える事を実装してみよう! • 結局、どんな事ができるの? ⇒俗な仕様の排除により、xaml化できる! ⇒他ロボットにも流用可能!

Slide 20

Slide 20 text

置換部分 Mail送信部分

Slide 21

Slide 21 text

楽しんでまいりましょう!

Slide 22

Slide 22 text

一生UiPathします with AI JIMY How Do You Like "UiPath"?