LoginSignup
1
3

More than 1 year has passed since last update.

Power Automate を使い、自動でGメールの添付ファイルを保存し、既存のExcelに貼り付けたい

Last updated at Posted at 2023-04-29

こんにちは!
私はスーパーマーケットのお総菜部門でチーフとして働いている27歳男性です。

1.私の担当業務

私はチーフの仕事の一つとして、週別の製造計画書 を作る業務を担当しています。
パートの皆さんはこの計画書を見ながら日々売り場に出す惣菜などを製造しています。
私の会社では木曜日から水曜日を1週間として区切っており、
その中で日曜日に次週の木曜日から水曜日の製造計画を立てています。

2.作業を細かく分解するとみえてきた小さな課題

私は惣菜、弁当、寿司部門の製造計画を担当しています。
3つの部門の計画を作るとなると、おおよそ2時間は要します。
売上や利益の確保 につながる大事な仕事ですので、時間はかけるべきですが、
製造計画の作成を手順ごとに分解してみると、時短したい手順と時間をかけて精度を高めたい手順 が浮かびあがってきました。
以下は製造計画の作成手順です。

この中で短縮したい作業は

ここの部分です。ここを短縮し、製造計画の数量決定に大事な7いろいろな情報を加味して製造数を決める8 に時間をかけていきたいと考えていきます。

今回は 2、3の部分 をPower Automateで自動化に挑戦してみました。

4.Power Automateで自動化に挑戦

4-1使用するツール

・Power Automate
・Gメール
・Excel

フローの全体図はこちらです。

フローのソースコードはこちらです。

Email.RetrieveEmails.RetrieveAndSaveAttachments IMAPServer: $'''imap.gmail.com''' Port: 993 EnableSSL: True Username: $'''skyikiusi0727@gmail.com''' Password: P'AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAACwsrO5dNqUqAqpkclHYAjQQAAAACAAAAAAAQZgAAAAEAACAAAABrl9ptjdC/3gIpPsDwKDRz2qneQh3WBQ6iCv6uVag6MgAAAAAOgAAAAAIAACAAAAAkCeTOTUk2qfrExDoiegzOYSGid5tfemCWEOoBsdwbEjAAAABaX9pw+cd52fISdpLWe4eJaKwxYx2O/0pDjE/6pZgBFasM9iKUQ7RCBkyEAoZbBspAAAAA0GSfiK4gdSL+PwJEoE3wlH2YNg4vX21Oi+RDstKm9x9HRZyyqdlJ+ygLdzMCsBPKF5QfJJPVotKH1pPUZ84VpQ==' AcceptUntrustedCertificates: False MailFolder: $'''inbox''' MailsToRetrieve: Email.RetrieveMessagesMode.Unread MarkAsRead: False SubjectContains: $'''デリカ第一事業''' SaveAttachmentsInto: $'''C:\\Users\\skyik\\OneDrive\\ドキュメント\\製造計画資料''' RetrievedEmails=> RetrievedEmails
Excel.LaunchExcel.LaunchAndOpenUnderExistingProcess Path: $'''C:\\Users\\skyik\\OneDrive\\ドキュメント\\製造計画資料\\ホット8週計画 xlsx のコピー (1).xls''' Visible: True ReadOnly: False Instance=> ExcelInstance
Excel.AddWorksheet Instance: ExcelInstance Name: $'''売り込み商品一覧''' WorksheetPosition: Excel.WorksheetPosition.First
ON ERROR

END
Folder.GetFiles Folder: $'''C:\\Users\\skyik\\OneDrive\\ドキュメント\\製造計画資料''' FileFilter: $'''*.xls''' IncludeSubfolders: False FailOnAccessDenied: True SortBy1: Folder.SortBy.NoSort SortDescending1: False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Files=> Files
LOOP FOREACH CurrentItem IN Files
    Excel.LaunchExcel.LaunchAndOpenUnderExistingProcess Path: CurrentItem Visible: True ReadOnly: False Instance=> ExcelInstance2
    Excel.GetAllWorksheets Instance: ExcelInstance2 Worksheets=> SheetNames
    Excel.ReadFromExcel.ReadAllCells Instance: ExcelInstance2 ReadAsText: True FirstLineIsHeader: False RangeValue=> ExcelData
    Excel.WriteToExcel.WriteCell Instance: ExcelInstance Value: ExcelData Column: $'''A''' Row: 1
    Excel.CloseExcel.Close Instance: ExcelInstance2
END 

実際に動かしてみた結果はこちらです。

毎週決まった曜日に、社内のメールで週別の広告掲載商品と売り込み商品が一覧になったエクセルのファイルが送られてくるので、そのファイルを保存して、製造計画のExcelに貼り付けるという作業を自動化していきます。

4-2.メールメッセージの取得


 
IMAPサーバーをimap.gmail.comと入力します。
ユーザー名は受信メールがあるメールアドレスを入力し、パスワードを入力します。

ここでは、「デリカ第一事業」が含まれている件名があるメールを抽出したいので、
このように設定をします。
「添付ファイルを保存します」を選び、保存先を設定します。

4-3.Excelの起動

「次のドキュメント」を選択し、添付ファイルを貼り付け先のExcelを選択します。

4-4.新しいワークシートの追加

添付ファイルの貼り付けを新しいシートにしたいので、このアクションを追加します。
新しいワークシート名は添付ファイルの情報が分かるような名前で設定します。

4-5.For each

アクションを繰り返すFor eachを使用します。
反復処理を行う値は先ほど生成した変数「Files」を使用します。

4-6.Excelの起動

添付ファイルをExcelで開きます。
ドキュメントパスは先ほど生成した変数「CurrentItem」を使用します。

4-7.すべてのExcelワークシートの取得

添付ファイルのシート内のすべての情報を取得します。
Excelインスタンスは添付ファイル側のExcelの起動アクション時に生成した
変数「ExcelInstance2」を使用します。

4-8.Excelワークシートから読み取る

併せて、Excelワークシートの読み取りを実行します。

4-9.Excelワークシートに書き込む

添付ファイル貼り付け先のExcelに先ほど読み取ったワークシートを書き出しします。
書き出し先は新しく追加したワークシートです。

最後にExcelを閉じるアクションを実行します。

以上で完成です。

以前は送られてきた広告掲載商品、売り込み商品が一覧になったファイルを印刷して、それを見ながら、製造計画に商品名などを打ち込むというアナログな方法をとっていましたが、
同じExcel内の別シートに商品一覧のデータがあることによって、そこの商品名をコピーして、製造計画にペーストするだけ でよくなりました。

5.実際にツールを自分以外の人に見てもらいました

今回は職場で製造計画を作るという業務をしているのが、私のみのため、
他店の製造計画をつくる業務をしている二人のチーフにツールを見てもらいました。

「製造計画のこの手順の部分をこのツールを使用して自動化してみました。」
と説明し、
「実際に使ってみるとしたらどうか、不満点や改善点はあるか。」
を聞き出しました。

「この作業は地味に手間なのでありがたい。製造計画の編集がスムーズに行える。」

「製造計画に商品名を入力すると、自動で金額も一緒に表示されるともっとありがたい。」

「年末年始やお盆など繁忙期は見るべき資料が増える。全部ダウンロードしたり、印刷したりするのは面倒だし、ぐちゃぐちゃになる。一つのエクセル自動でにまとめてくれるとわかりやすいし、時短になりそう。」

という意見、感想をいただきました。

6.あとがき

製造計画は考える作業と考えなくていい作業があります。考えなくていい作業はなるべく早く終わらせて、考える作業に集中したい! と考えていますが、他店のチーフも似たような認識を持っていました。また、今回の他店のチーフとのやり取りで、習慣化して気づかないけど、煩わしい作業がまだまだあるなと気づかされました。 今後も考えなくていい作業を明確化して、効率化をし、価値を生む仕事に注力していければと思います。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3