9
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

業務革命!ChatGPTを活用し、VBAとPADでファイル仕分けとメール送信が2時間⇒1分になった話

Last updated at Posted at 2024-02-07

同じ作業の繰り返しをミスなく、早くこなせるように改善出来ませんか?

おはようございます、こんにちは、こんばんは!
いつでも笑顔、いけちゃんです。
これまでの記事で、個性あふれる催事業者さんとのやり取りに関する業務改善の仕組みをご説明してきました。

↓前回の記事はこちら↓

今回は、そんな業者さんとのやり取りについて、同じ部署で働くパートさんから大きな困りごとを伺いました。

催事業者さんに送る各お店への出店スケジュールなんですが、毎回Excelファイルを業者さんごとに分割して保存し、その後に業者さんごとのファイルを添付したメールを送っています。
この作業、50社も(!)あって始めると2時間くらいかかるうえに、ミスも偶にあるため不安なんです・・・

同じ作業の繰り返しをミスなく、早くこなせるように改善出来ませんか?

・・・困ったぞ、いけちゃんはプログラミングのpの字も知らない・・・
でもこんなに時間がかかっている作業は何とかしたい、どうすればいいんだろう?

何をしたいのか、の整理

今回の記事でも、最終的な目的を整理しました。

目的:催事業者さんへの送信メールおよび添付ファイルにミスがなく、早くこなせるようにしたい

図解すると、下記の部分を自動化していきたいと考えました。
やりたいこと図.jpg

こんな作業を早く、ミスなくこなせるようにするには、何が必要になるのでしょうか?

業務自動化の魔法Visual Basic for Applications(以後、VBA)Power Automate Desktop(以後、PAD)

こちらの記事は仕組みの紹介の為、知っていたら飛ばして大丈夫!

Excel自動化ならこちらにお任せ!VBA

まず初めにExcelの標準機能として、自分も使ったことはないけど知っている、VBAと呼ばれる機能が思い浮かびました。

Excelの作業を自動化するプログラミング言語で、詳細については別の方の記事となりますが下記を参照ください。

https://qiita.com/inoguchi-nami/items/4d8e6d3d123785622a4e

VBAを扱えるようになれば、1. 全業者さんの一覧でまとまっているExcelファイルを、業者さんごとに分割して保存するについては、自動で実行することが出来そうです。

超お手軽なRPAツール!PAD

皆さんは、RPAという言葉を聞いたことがありますか?
簡単にまとめると、パソコンで行っている事務作業を自動化できる技術のことです。

RPAのツールの一つであるPADが、Windows10や11のユーザーについては無償で提供されていて、会社パソコンにも入れることができるとのこと。

このツールなら2. メールの下書きに定型文を使用し、業者さんごとの名前、宛先、添付ファイルにし送信することが自動化できるかも?
何ができるかについては、こちらも別の方の記事となりますが下記を参照ください。

https://qiita.com/maekawawawa/items/b9c7b866f5ee31d2acd3

この2つを使用して、ファイルの仕分けとメールの自動送信に挑戦してみます!

業務革命!ファイル仕分けとメール送信がミスなく1分の作業になった!

まずは結果から、動作状況は下記動画をご確認ください

上記を実現したPADのフロー画面はこちら
image - 2024-02-07T215741.945.png

設定方法はこちら

使用ツール

  1. Microsoft Excel 2016
  2. Power Automate Desktop
  3. Gmailアカウント作成の上、スマートフォンへアプリを導入する必要があります
  4. (VBAコードが使えない人向け、要するに私)ChatGPT

設定方法を紹介するにあたり、実際に使用したExcelファイルサンプルをGigaFile便よりダウンロードできるようにし、VBAコードの設定、PADのフローのソースコードも掲載しています。
是非、試してみてください。
※ダウンロード期間は本記事執筆後、100日間です

事前準備①:Excelファイルの作成

仕分ける前のファイル(催事スケジュール.xlsm)
 任意の場所に保存してください。
仕分ける際のコピー先ファイル(202403-202405_催事スケジュール.xlsx)
 任意の場所に保存してください。
業者名、担当者名、メールアドレス、添付ファイル名(拡張子.xlsxは除く)の一覧ファイル(全_催事取引先一覧.xlsx)
 任意の場所に保存し、W2セルからW6セルに送信先のメールアドレスを入力してください。

保存した場所は後で必要になるため、下記画像の赤枠内をコピーし、保管してください。
image - 2024-02-07T223434.986.png

事前準備②:VBAコードの設定

画像に沿って設定してください
image - 2024-02-07T223906.089.png

image - 2024-02-07T224502.201.png

次の画像ではExcelの「開発」という機能を使用しますが、標準では表示されない設定になっています。
もし、表示されない場合はこちらをクリックして設定してください。

image - 2024-02-07T224907.159.png

image - 2024-02-07T225249.279.png

image - 2024-02-07T225744.087.png

ここまで設定したら、上書き保存して閉じてください。

事前準備③:Gmailの設定

ここでは、すでにGmailアカウントを取得し、スマートフォンにアプリを設定している前提で進めます。
パソコンからGmailを開き、画像に沿って設定してください。

image - 2024-02-07T231038.592.png

image - 2024-02-07T231047.050.png

image - 2024-02-07T231051.621.png

image - 2024-02-07T232017.848.png

image - 2024-02-07T232019.334.png

image - 2024-02-07T232022.533.png

image - 2024-02-07T232023.795.png

image - 2024-02-07T232027.097.png

image - 2024-02-07T232030.075.png

image - 2024-02-07T232031.259.png

image - 2024-02-08T000418.425.png

image - 2024-02-07T232035.951.png

image - 2024-02-07T232039.635.png

image - 2024-02-07T232048.896.png

PADの設定

事前準備①~③が完了したら、いよいよPADの設定です。
PADがインストールされている前提で進めますので、画像に沿って設定してください。

image - 2024-02-01T144700.408.png

image - 2024-02-08T002939.994.png

image - 2024-02-08T001758.490.png

下記黒枠内の右上にファイルのマークが表示されますので、そちらをクリックしてください。
黒枠内のソースコードがコピーされます。

Excel.LaunchExcel.LaunchAndOpenUnderExistingProcess Path: $'''C:\\Users\\ike-chan\\Desktop\\催事スケジュール.xlsm''' Visible: True ReadOnly: False Instance=> ExcelInstance
Excel.RunMacro Instance: ExcelInstance Macro: $'''Sheet1.結合して重複削除とコピー'''
Excel.LaunchExcel.LaunchAndOpenUnderExistingProcess Path: $'''C:\\Users\\ike-chan\\Desktop\\全_催事取引先一覧.xlsx''' Visible: True ReadOnly: False Instance=> ExcelInstance2
Excel.SetActiveWorksheet.ActivateWorksheetByName Instance: ExcelInstance2 Name: $'''2023取引先マスタ'''
Excel.GetFirstFreeColumnRow Instance: ExcelInstance2 FirstFreeColumn=> FirstFreeColumn FirstFreeRow=> FirstFreeRow
Excel.ReadFromExcel.ReadCells Instance: ExcelInstance2 StartColumn: $'''A''' StartRow: 1 EndColumn: FirstFreeColumn - 1 EndRow: FirstFreeRow - 1 ReadAsText: False FirstLineIsHeader: True RangeValue=> ExcelData
Excel.CloseExcel.Close Instance: ExcelInstance2
LOOP FOREACH CurrentItem IN ExcelData
    Email.SendEmail.AuthenticateAndSend SMTPServer: $'''smtp.gmail.com''' Port: 465 EnableSSL: True Username: $'''ikeuchi-kota@ga.mv-tokai.com''' Password: P'AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAA8Um92AlqrUqccqHrukkdrwQAAAACAAAAAAADZgAAwAAAABAAAACac87cyyQRjN0MQ5TUbIy2AAAAAASAAACgAAAAEAAAAF4uvrvoJquLDjuKt32mGcwoAAAAd06KFbEtkC0DOi+ftQbWqOIdzB5LPqOy4trvhshUUy79reFrrla64hQAAACRa8Hz00KEyJAJA58BZWqGqwsdLQ==' AcceptUntrustedCertificates: False SendFrom: $'''ikeuchi-kota@ga.mv-tokai.com''' SenderDisplayName: $'''いけちゃん''' SendTo: CurrentItem['お試し'] Subject: $'''ご連絡/2024年03月度-05月度の催事入店スケジュールについて''' Body: $'''%CurrentItem['社名']%
%CurrentItem['担当者名']%さま

いつも大変お世話になっております。
表記の件につきましてご連絡いたします。

■ 2024年03月-2024年05月 催事入店スケジュール について

詳細につきましては、添付のスケジュール表をご確認ください。
なお、すでに皆さまに運用いただいている入店時の催事チェックリストについては、
不足のご連絡いただければ再案内いたします。

以上、ご確認のほどよろしくお願い申し上げます。''' IsBodyHtml: False Attachments: $'''C:\\Users\\ike-chan\\Desktop\\新しいフォルダ\\%CurrentItem['添付ファイル名']%.xlsx'''
END  

image - 2024-02-08T004033.666.png

image - 2024-02-08T004327.153.png

1行目.png

image - 2024-02-08T004740.822.png

2行目.png

image - 2024-02-08T004750.529.png

image - 2024-02-08T004327.153.png

image - 2024-02-08T004756.307.png

image - 2024-02-08T004802.054.png

image - 2024-02-08T004806.473.png

image - 2024-02-08T011032.341.png

(参考に)ChatGPTが凄い!

今回、VBAコードの作成にあたってはChatGPTを活用しました。
私はプログラミング言語を扱うことができないのですが、ChatGPTは非常に素晴らしいシステムで、どんなことをVBAコードで出してほしいかを伝えると、すぐに回答を返してくれます。

返ってきたVBAコードを実際に試し、様々なエラーが発生してもその要因すらも修復してくれます。

実際の画面はこちら
image - 2024-02-08T020049.340.png

プログラミングのpの字も知らない「ド初心者」でも簡単に自動化の手助けになりますので、ぜひ試してみてください!

実際に使ってもらった感想と課題の確認

悩み事を解決するべく奮闘した結果、凄いのできましたよ!試してみて、感想や課題があったら教えてください!

冒頭で悩みを抱えていたパートさんから

これ、本当に凄すぎますね・・・ボタン一個で今までやってた作業が終わるなんて・・・
ただ、一つだけお願いがあるのですが、2つ以上のファイルの添付は出来ませんか?
いけちゃんが私にメール送信をお願いするとき、別の連絡も一緒に添付するときがありますよね?

そういえばそうでした(汗)

今回業者さんに送った際は、偶々1つの添付ファイルだったため全く気にしなかったことでしたが、2つ以上の添付ファイルで送ることもあります。
PADを見た限りでは、1つの添付ファイルしか送信できないように見えましたが、圧縮ファイルにしたりするなど、方法は様々あると思うので確認してみます!

紙、印鑑、手作業に埋もれて業務をしているX世代の同僚から

VBAコードまで盛り込んで、ファイル作成からメール送信までの一連の流れが完結してるのは凄い!
ちょっと使わせてもらうよ~
自分の場合は最終チェックをしたいから、いきなり送信までせずに下書きで保存してくれると嬉しいなぁ

実際に使うとなると、確認もできずに送信がされることは確かに不安ですね・・・
元々のファイルにミスがあったらそのまま相手に送られてしまうので、こちらも修正が必要のようです。
PADでの設定は添付ファイルの課題と同様、下書きで止める設定を発見できなかったため、別のシステムなどで同様の仕組みができないかも確認します!

最後に

今回知った自動化のツールは、昔の自分では全く扱うことができないものだったと思います。
しかし、話題となっているChatGPTのように、今ではプログラミングコードも自動で生成することができるようになり、より簡単に業務自動化が可能になっていることがわかりました。

まだまだコードの意味はわからず、今回も詳しい人に話を聞いたりもしていますが、それでもちょっとずつ意味を知っていき、チーム全体の課題解決に繋げていきたいと思います。

最後までご覧いただき、ありがとうございました!

9
5
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
9
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?