複数のフォルダをワンクリックで開くpythonをexe化してみました。

複数のフォルダやファイルをワンクリックで同時に起動してその際に右や左の画面に移動したりしていましたが、それすらも省略したいなーと思い、ちょっと調査。 bat、ps1、vbsでは挫折したので、pythonでコードを組んで、exe化しました。 だいぶ強引ですけどね。 pythonのexe化の方法は、「pyinstaller sample.py –onefile –noconsole」などで検索するといっぱい出てきますので割愛。
注意事項
Pythonの実行環境が無いと動きません。
メモ帳で下部のコードをコピーしたのち保存して、ファイル名を「sample」拡張子を「.py」にしてください。
以下コード

近況について
あいかわらず元気にしています。
今のところ転勤等もなく、結構現場にも出てお手伝いをしています。今はメンバーにも恵まれており、さくさく吸収してくれるのがありがたい。

Pythonにて8桁の日付を頭に入れて複数のファイルをコピーするコード

Excelのマクロがセキュリティでかっちかちになっていますので、Pythonにて8桁の日付を頭に入れて複数のファイルをコピーするコードです。

注意事項
Pythonの実行環境が無いと動きません。
メモ帳で下部のコードをコピーしたのち保存して、拡張子を「.py」にしてください。
最後のコピーするファイルの設定の箇所を任意に調整し、コピーしたいファイルと同じフォルダで実行してください。
既にファイルがあるとエラーになります。

以下コード

近況について
お久しぶりです。なんやかんや元気です。

2023年度は ぼちぼちと更新や編集するかもしれないです。
メール他でのファイル配布やリンク配布なども、何かとセキュリティリスクある昨今。
自分の知っている範囲の知人友人に伝えたりする際に、自分の場所があるのは都合良かったりします。

Power Automate Desktop 簡易起動スクリプト


Power Automate Desktopを簡易的に起動するスクリプトです。
特定のものを何度も起動する場合は、便利だと思います。

当方 Windows10 Home 32bitの環境です。 
メモ帳で下部のコードを保存して、拡張子を「.vbs」にすれば、たぶん動くはず。

注意事項
Power Automate Desktopは閉じた状態から始めています。
一番上に実行したいものが表示されるようにしています。
Power Automate Desktopは前の状態を保持しているので、
検索窓などでカーソルが残ったまま終了していると、
結果が変わってしまいます。

たいていは前回実行後の状態なので、 
いったん一覧の1つ目を強制的に実行しています。
もし数種類使い分けたい場合は、PGUPの後にDOWN

以下コード

複数のExcelのファイルを一気に開くVBA

グループウェアが浸透すれば、脱Excelして、2度手間入力など劇的に減ります。

ただ、なかなかグループウェアを導入できない環境であると、

いくつもファイルを開いて作業をすることがあります。


Pythonも便利なんですが、環境を整えたりすることが大変なこともあるので、今回はVBAだけでできるものです。

A1からA3セルにファイルパスを入力しておけば、VBAマクロで開けるようになっています。

今は、Excelのみで、WordやPDFなどには対応させていません。

ファイルがないときには最後にメッセージが出るようにしています。

以下コード

メール送信時気を付けている事

今回はメールの送信時の記事です。
電話がかかってくる頻度は少なくなったものの、できればチャットツールを使ってほしいのですが諸事情があり業務においてはメールが主流となっています。さて私見ではありますが、もらってうれしいメールをまとめます。
  •  内容が件名で分かる。件名で要約されている。
  •  後日検索もしやすい。
  •  スレッド表示で返信転送の件数が増えたわりに内容が短くわかりやすい。
こんなところでしょうか?逆にメールを送るときには下記のようにしています。

件名について

  • 頭の2文字は内容によって統一しておく

 並び替えや振り分けに対応できるため


  •  件名は前半で意味が読み取れるようにする

 件名の表示の文字切れせず理解できるようにしておくため


  • 返信の際にむやみに件名を変更しない

 「スレッドとして表示」が崩れる原因となるため

  

本文について

  • 本文で事足りることを添付ファイルとしない

 メール検索で出てくるようにするため

 

著名について

  • スクロールが少なくてすむように著名を短くしておく

 例++++++区切り記号 

 会社名 所属

 役職 名前

 E-mail

 +++++++区切り記号


返信や転送の際について  

  • スクロールが少なくてすむようにスペースを省略する
  返信が連続して続く際には 著名は省略する

  • 返信や転送の際、不必要に本文に残ったcc情報などは削除する
  転送の連続なのにずっとccが残ったままのメールはちょっと引きます。


Excelで一定のファイルを各フォルダへコピーするマクロ

経緯と概要

 ある業務のスタート時に、一定のファイルを各フォルダ毎に用意し、そのファイル名を変更するといった事があります。以前は、フォルダに先にファイルをコピーし、各フォルダにてファイル名を変更するといった事を行っており、大変手間がかかっていました。
 それから、一定のファイルを一括でファイル名の変更をしていましたが、それでも各フォルダにファイルをコピーする手間がありました。

 今回は、Excelにて、フォルダにある一定のファイルを各フォルダに振り分けてコピーするマクロです。これまでのようにフォルダを開いたり閉じたりすることや、フォルダ毎にファイルを選ぶ必要がなくなり、業務効率が向上しました。

マクロの設定の説明

Functionの関数の引数は3つ
  1. フォルダの判定のキーワード(このマクロでは コピー先に振り分けれるように 契約書用 申請用 図面用 と入力しています。判定はB列の4行目から行っています。)
  2. 元のフォルダパスのセルのアドレスです。(このマクロでは D1に元のファイルのアドレスをいれています。) 
  3. コピー先のフォルダパスのセルのアドレスです。(このマクロでは D3 J3 P3に各コピー先のアドレスを入力しています。)
マクロのデータについて
  • A列4行目からB列27列目まで入っています。 
  • A列はD1にあるフォルダパスのファイル名を入力しています。
  • B列はフォルダの振り分け先判定用です。 
  • 上書きの警告を表示するようにしていますが、「いいえ」を選択すると、それ以後の処理も止まります。
下記 画像のような状態にしています。

感想

今回のマクロもボタンで登録して行っているため、大変便利になりました。
(別のファイル名の一括変更のマクロと組み合わせているので、更に楽になっています)
コードも数行ですので、編集しやすいと思います。

以下コード

Excelでシート名の変更とシートを追加するマクロ

概要

Excelのシートを、〇月〇日~〇日というシート名に変更するマクロです。  
1つ目のシートから最後のシートまで、F1の値をシート名にしています。
もし同じ名前のシートがある場合は処理しません。
前のシートのA4のセルが日付の基準のセルとしています。

F1のセルの数式 は
『=TEXT(A4,"m月d日~")&TEXT(A4+6,"d日")』
としてセルの表示形式を整えています。 
これでA4のセルの値を基準として 〇月〇日~〇日 となります。
(このF1のセルがシート名となります。)

シート名の変更のコード

 

シート追加のコード  

また、シートを追加するマクロも作っています。
前のシートのA4のセルが日付の基準のセルとしています。
F1の値をシート名に変更しています。

 

Excelにて重複したセルを削除するマクロ

Excelにて重複したセルを削除するマクロです。

クエリなどで他のデータを読み込んで、ピポットテーブルで内容をみていますが、
メールアドレスなど項目の重複を避けたい時がありました。

クエリやピポットテーブルやには既にフィルタが適用しているし、クエリやピポットの結果による重複を避けて調べたい。ただ、もう一つクエリやピポットを作るほどでもないので、ちょっとマクロにて処理してデータを取り出しています。

マクロの内容

「データ元ファイルパス」のシートのC行をクリア
「ピポット」のシートのG行をコピー
「データ元ファイルパス」のシートにて
C行に値で貼り付け
C行で重複した行を削除(1行だけですが)
処理したセルをコピー(次の操作につなげるため)
C3セルを選択して、上の方を表示(次の操作がしすいため)

以下コード

pythonで強引にWEB入力する方法

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の...