E事例
VBAやPythonなどの事例を投稿しています。
複数のフォルダをワンクリックで開くpythonをexe化してみました。
Pythonにて8桁の日付を頭に入れて複数のファイルをコピーするコード
2023年度は ぼちぼちと更新や編集するかもしれないです。
Power Automate Desktop 簡易起動スクリプト
もし数種類使い分けたい場合は、PGUPの後にDOWN
以下コード
複数のExcelのファイルを一気に開くVBA
グループウェアが浸透すれば、脱Excelして、2度手間入力など劇的に減ります。
ただ、なかなかグループウェアを導入できない環境であると、
いくつもファイルを開いて作業をすることがあります。
Pythonも便利なんですが、環境を整えたりすることが大変なこともあるので、今回はVBAだけでできるものです。
A1からA3セルにファイルパスを入力しておけば、VBAマクロで開けるようになっています。
今は、Excelのみで、WordやPDFなどには対応させていません。
ファイルがないときには最後にメッセージが出るようにしています。
以下コード
メール送信時気を付けている事
- 内容が件名で分かる。件名で要約されている。
- 後日検索もしやすい。
- スレッド表示で返信転送の件数が増えたわりに内容が短くわかりやすい。
件名について
- 頭の2文字は内容によって統一しておく
並び替えや振り分けに対応できるため
- 件名は前半で意味が読み取れるようにする
件名の表示の文字切れせず理解できるようにしておくため
- 返信の際にむやみに件名を変更しない
「スレッドとして表示」が崩れる原因となるため
本文について
- 本文で事足りることを添付ファイルとしない
メール検索で出てくるようにするため
著名について
- スクロールが少なくてすむように著名を短くしておく
例++++++区切り記号
会社名 所属
役職 名前
+++++++区切り記号
返信や転送の際について
- スクロールが少なくてすむようにスペースを省略する
- 返信や転送の際、不必要に本文に残ったcc情報などは削除する
Excelで一定のファイルを各フォルダへコピーするマクロ
経緯と概要
マクロの設定の説明
- フォルダの判定のキーワード(このマクロでは コピー先に振り分けれるように 契約書用 申請用 図面用 と入力しています。判定はB列の4行目から行っています。)
- 元のフォルダパスのセルのアドレスです。(このマクロでは D1に元のファイルのアドレスをいれています。)
- コピー先のフォルダパスのセルのアドレスです。(このマクロでは D3 J3 P3に各コピー先のアドレスを入力しています。)
- A列4行目からB列27列目まで入っています。
- A列はD1にあるフォルダパスのファイル名を入力しています。
- B列はフォルダの振り分け先判定用です。
- 上書きの警告を表示するようにしていますが、「いいえ」を選択すると、それ以後の処理も止まります。
Excelでシート名の変更とシートを追加するマクロ
概要
(このF1のセルがシート名となります。)
シート名の変更のコード
シート追加のコード
Excelにて重複したセルを削除するマクロ
Excelにて重複したセルを削除するマクロです。
マクロの内容
「データ元ファイルパス」のシートのC行をクリア「ピポット」のシートのG行をコピー
C行に値で貼り付け
C行で重複した行を削除(1行だけですが)
処理したセルをコピー(次の操作につなげるため)
C3セルを選択して、上の方を表示(次の操作がしすいため)
以下コード
pythonで強引にWEB入力する方法
この自動操作をpythonにて実行するにあたり、最初のログイン状態からでは2段認証や条件の分岐が多すぎるため、5秒以内に定位置にマウスをもっていくことで、Webページの途中から強引に入力しています。
Excelにあるセルを読み込むことと、キーボード操作をTABやEnterなどを自動で押し、また、ちょっとした分岐も作成しています。
マウス座標での操作は画面の解像度によって左右されるため、カーソルの移動はTABとShift+TABなどをメインにしています。
以下pythonのコード
メール本文をExcelで自動化
Outlookの特定のメールフォルダを分析するExcelマクロ
毎日定型文にて定時メールが届き、毎日入力しなければならない場合、マクロボタン1つで入力から分析までできるようにしました。
内容をお見せすることができないのが申し訳ないです。
そのうちに黒塗りしてお見せします。
ーーーーーー
Excelの「開発」「Visual Basic」「ツール」「参照設定」にて
Microsoft Office ? Object Library をチェック
Excelで今回の記事に関係するシートは3つ【メールデータ】【分析結果】【ピボット】
【メールデータ】のシートはOutlookから「受信日時」「件名」「送信者」「送信元メールアドレス」「本文」を取得しており、「定期メールデータ」というテーブルを設定
【分析結果】のシートは【メールデータ】のシートの「定期メールデータ」というテーブルからパワークエリにて行列の整理
【ピボット】のシートは【分析結果】のシートをピボットテーブルにて「受信日」と「件名」と各値を表示されるように調整
Excelにマクロをボタン登録しておく
Outlookの対象フォルダは「●●●●」に目的のメールを仕分けのルールで振り分けておく
ーーーーー
以下コードワンタイムパスワード入力中は一時停止して自動化
Webブラウザーの入力フォームを何度も行うことがあります。csvなどにてデータの流し込みができないサイトであった場合は、手入力を何度もしなければならず、せっかくの手元にあるデータを生かすことができませんでした。
Webブラウザーの自動操作のためにseleniumを使ってはいましたが、selenium実行後にはブラウザーが閉じてしまう事と、ワンタイムパスワードや2段認証などセキュリティの高いサイトには対応しにくいのが難点でした。
ログイン後の操作にも必要性が生じてきたので、いったん処理の途中でメモ帳を開いて一時停止中に入力することで自動化を進める事にしました。
以下Pythonのコード
複数のフォルダをワンクリックで開くpythonをexe化してみました。
複数のフォルダやファイルをワンクリックで同時に起動してその際に右や左の画面に移動したりしていましたが、それすらも省略したいなーと思い、ちょっと調査。 bat、ps1、vbsでは挫折したので、pythonでコードを組んで、exe化しました。 だいぶ強引ですけどね。 pythonの...
-
Wordの差し込み文章で用意されたものを、PDF化する際に、Wordのマクロにてパパっと自動化できるようになりました。 今までは、差し込み文章の個別編集、ファイル名変更、印刷ボタンを押し、出力先をPDFに選択して、コメントを消して、保存して、ファイル名を変更してといったことを...
-
概要 Excelのシートを、〇月〇日~〇日というシート名に変更するマクロです。 1つ目のシートから最後のシートまで、F1の値をシート名にしています。 もし同じ名前のシートがある場合は処理しません。 前のシートのA4のセルが日付の基準のセルとしています。 F1のセルの数式 は ...