複数のフォルダをワンクリックで開く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のコード

キーボードで一度に複数のファイルを開く方法

 今回はキーボードで一度に複数のファイルを開き、作業環境を整える方法についての記事です。



 作業環境を整える際に複数のフォルダやファイルを開いく必要があると思いますが、以前の記事で紹介したマウスのカーソルを動かすより、キーボードをつかって実行すると素早くできます。

 過去の記事は、「ワンクリックで複数のフォルダやファイルを開く方法」をクリック


 また、コルタナも使って行えないかやってみましたが、失敗することや、話せない環境であったり、時間がかかることから、まったく使わなくなりました。コルタナについては、他の作業においても音声入力の割合が増えてくるなら、状況は変わってくると思います。

 過去の記事は、「コルタナを使って複数のフォルダやファイルを開く方法」をクリック


実際の手順

「複数のフォルダやファイルを開くショートカット」を作成する

 作り方は過去の記事を参照願います。「ワンクリックで複数のフォルダやファイルを開く方法」をクリック

先ほどのショートカットをWindowsのスタートメニューに登録する

 場所は環境によって若干変わるかもしれませんが、「C:\ProgramData\Microsoft\Windows\Start Menu\Programs」と思います。

このフォルダの中に先ほどのショートカットを置いてください。

 ショートカットキーを設定する

 ショートカットを右クリックしてプロパティの画面から、ショートカットキーを設定してください。今回作るショートカットが「初期設定」という名前なので、、ここでは「s」にしています。「s」とキーボードを入力すると、「Ctrl+Alt+s」の3つキーを同時に押すことで動くようになります。


順番にキーを押して操作できるようにショートカット名を変更しておく

3つボタンを押す以外に、ショートカットの名前の頭に「sss」のような半角英字を入れておくと便利です。キーボードを「Windowボタン」「s」を3回順番におすと、最も一致する検索結果に出てくるはずなので、「Enter」に押すことで動くようにもできます。


最後に

いかがでしたでしょうか?まだ、だいぶ省略していますので、ちょこちょこと詳しくして更新していきます。過去の記事もちょっとずつ、こちらに引っ越ししてきます。

Excelでファイルをコピーし、名前を付けて保存してからマクロ実行をワンクリックで実行

 他の人とファイルを共有していると、元のファイルに手を加えることができないことがあると思います。 しかし、いつも決まりきったデータを編集しなければならないことがあると思います。



そんな時は、みなさんどうしていますか?

元のファイルのフォルダを開いて、元のデータファイルを選んで、ファイルをコピーして、別の場所を選んで、貼り付けて、ファイルの名前を変えてから編集していますか?

 もしくは、

元のフォルダを開いて、元のデータファイルを選んで、開いて、別の名前で保存して、編集していますか?


普通にすると何手順も必要でしたが、「ファイルを開くところから、編集する」ところまでを、下記のコードのようにして、自動化しています。


Excelには、「マクロ用」というシートと、

A1のセルにはデータ元のファイルのファイルパス

例 C:\Users\●●●●\OneDrive\●●●●\●●●●.xlsx

A2のセルにはコピー先のファイルのファイルパス

例 C:\Users\●●●●\OneDrive\Desktop\□□□□.xlsx

「色付け」というマクロ

を設定しています。


 月初に1回だとしても年12回だけですが、決まりきったルーティンワークはできるだけ自動化していってます。一つ一つのコードで短縮できる時間はわずかではありますが、ちょっとずつ重ねると本当に楽になります。

 できればマクロ実行自体を自動化したい、そもそもマクロなどを実行しなくていい環境にしたいところではありますが・・・

 マクロをボタンに登録してワンクリックにて実行し、その間にトイレに行ったり、お茶したりして、次の構想を練っています。

以下コード

Word VBAマクロ事例 次のファイルを保存してPDF出力 

 Wordの差し込み文章で用意されたものを、PDF化する際に、Wordのマクロにてパパっと自動化できるようになりました。

 今までは、差し込み文章の個別編集、ファイル名変更、印刷ボタンを押し、出力先をPDFに選択して、コメントを消して、保存して、ファイル名を変更してといったことをやっていました。



 下記をWordマクロを、クイックツールバーに登録するとワンクリックでできるようになりました。 

以下コード

テスト投稿です。

 こっちで投稿してみた。

コルタナを使って複数のフォルダやファイルを開く方法

前回は『ワンクリックで複数のフォルダやファイルを開く方法を記事にしましたが、今回はWindowsのコルタナを使って音声で複数のフォルダやファイルを開く方法です。



現在コルタナを使って音声でプログラムの起動はできるのですが、フォルダやファイルは開いたりするのはまだ無理なようで、ショートカットとしてプログラムの場所に登録すれば起動したり開くことができます。


数秒ですが、動画も作ってみました。(音がでます。)





両手が離せない時、音声で起動できるのは便利ですよね。


サンプルの動画では「リネーム」という音声に反応するようにしたのですが、私の発音が悪く、コルタナさんは「ゲーム」と認識したようです。ただ、無事に起動はしています。


コルタナに音声で起動させるための準備


まず前回の内容 → ワンクリックで複数のフォルダやファイルを開く方法 で作成したbatファイルを右クリックしショートカットを作成します。


一つのフォルダやファイルだけを音声で開くのなら、そのフォルダやファイルのショートカットでもOKです。


このショートカットを呼びやすい名前に変更します。


名前は他のプログラムとできるだけ重複しないようにして下さい。コルタナから再度選択を促されるのを防ぐためです。


プログラムに登録する場所は、スタートメニューの何でもいいのでプログラムを右クリックし、「その他」「ファイルの場所を開く」をクリックすれば表示されます。



開いたフォルダがこちら↓です。当方Windows10の環境では以下でした。
C:\ProgramData\Microsoft\Windows\Start Menu\Programs




このフォルダの場所に先ほど作成したショートカットを移動させてください。


「対象のフォルダへのアクセスは拒否されました」との表示がでることがありますが、続行をクリックします。





音声で「コルタナさん ○○○○ を起動して」と呼び掛けて、きちんと動くか確認します。


音声認識が失敗するとWEB検索されたりします。きっちり発音するか、呼びやすい名前に変えて下さい。


ただ、まだまだ音声認識技術は発展途上なので、成功率はあまり高くありません。失敗続きでも今はそんなものと思ってください。


他のプログラムと重複してコルタナから再度選択を促される場合は手間がかかるため、名前を違ったものに変えることをお勧めします。


まとめ ちょっとした自動化でも進めるべき理由


標準の機能を使って音声を用いてプログラム起動やファイルやフォルダを開くことまではできます。


今後は起動や開くだけではなく記入や入力までできるようになってくると、また一段と便利になってくると思います。


今回のこともちょっとした事ですが、作業全体に対して部分的な自動化の割合を増やしていくほど、他の業務にも手が届くようになります。


これから労働人口が少なくなり少子高齢化が進むため、労働力や時間は今までよりもっと大切にしていただいた方がいいかなと。



抜本的な働き方改革をしたいものの急には進まないので、身近なところからちょっとずつでも効率化していけたらと思っています。

ワンクリックで複数のフォルダやファイルを開く方法


いつも決まったファイルを開くなら、フォルダやファイルへのショートカットを使えば便利ですよね。


しかし、複数のファイルを開くときにはどうしていますか?


ShiftやCtrlを使ってあれこれと操作していませんか?


フォルダやファイルへのショートカットと同じようにワンクリックで複数のフォルダやファイルを開くことができる方法をご紹介します。


Windows環境下で動作するバッチファイルを作成して行いますが、ちょっとコツさえつかめばすぐに作れるので、作ってみてはいかがでしょうか?


なお、当方の環境はWindows10です。


作成方法


最初にファイル名拡張子にチェックを入れてください




 場所はフォルダの表示のところにあります。



「新しいテキストドキュメント」 を作成します

何もないところで右クリックし「新規作成」「テキストドキュメント」をクリックすることで作れます。



下記ーーー内のように記入して保存してください。



ーーーーーーーーーーーーーーーーーーーーーーーー
chcp 65001
start "" "C:\Users\〇〇\〇〇"
start "" "C:\Users\〇〇\〇〇\〇〇.docx"
start "" "C:\Users\〇〇\〇〇\〇〇.pdf"
ーーーーーーーーーーーーーーーーーーーーーーーー


〇〇は自分の目的とするフォルダやファイルにしてください。


ファイル名を変更してください。


例では「1クリックで複数ファイルを開く.txt」にしています。



ファイル名最後の「.txt」を「.bat」に変更してください。




『拡張子を変更すつと、ファイルが使えなくなる可能性があります。変更しますか?」と表示がでますが、「はい」をクリックしてください。


 アイコンのマークが変わると思います。


(Windowsのテーマや設定によってアイコンのマークも違います)

ファイルパスの取得方法について


○○の箇所についてですが、目的とするファイルパスを取得する方法を述べます。


フォルダを開いていくと「アドレスバー」というところが「 > 」表示になっています。


アドレスバーのある所をクリックすれば「¥」表示にかわるので、この状態でコピーして貼り付けすると楽です。







また、フォルダでなくファイルを選択したときは「ホーム」「パスのコピー」でファイルパスをコピーすることができます。



解説


1行目は日本語のファイルパスで動くようにするためです。
「chcp 65001」というのは コマンドプロンプトで文字の設定するためのものです。


2行目はフォルダを開くサンプルです。
「start "" "C:\Users\〇〇\〇〇"」 最初の””はウィンドウのタイトルを指定するのですが、指定しません。
次の「”C:\Users\」の所のあとの〇〇は好きなフォルダを入れて下さい。



3行目はファイルを開くサンプルです。
「start "" "C:\Users\〇〇\〇〇\〇〇.docx"」これも先ほどと同じく最初の””はウィンドウのタイトルを指定するのですが、指定しません。
次の「”C:\Users\」の所のあとの〇〇は好きなファイル名を入れて下さい。

再度編集するとき

batファイルの上で右クリックして、「編集」をクリックすればできます。


最後に

今回はワンクリックで複数のフォルダやファイルを開く方法でした。


作業状況に応じて何種類か作っておくと、非常に便利です。


フォルダの階層を行ったり来たりすることなど起こりませんし、非常に素早く作業環境が整えることができます。


ただし、batファイルは非常に強力でいろんな事が出来てしまうので、セキュリティ対策には抜かりの無いようにお願いします。


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

複数のフォルダやファイルをワンクリックで同時に起動してその際に右や左の画面に移動したりしていましたが、それすらも省略したいなーと思い、ちょっと調査。 bat、ps1、vbsでは挫折したので、pythonでコードを組んで、exe化しました。 だいぶ強引ですけどね。 pythonの...