Python embedded版 インストール手順
インストーラー版もありますが、
Enbedded版 python-3.8.6
をインストールしてみました。
Enbedded版にした経緯
Enbeddable版は、
軽量、高速、PC環境が変わらない
構築した環境はフォルダごと移動で
他PCへ移動できる
といった利点があります。
1.ダウンロード
下記サイトよりPythonのembedded package
をダウンロード
Python Releases for Windows| Python.org
2.解凍と構成
.zipがダウンロードされるので解凍します。
C:\の直下にpythonのフォルダを作成し、
その中に入れました。
2-1 pythonXX._pth ファイル内の記載を#import → import へ
メモ帳などで開き、
importの前に付いている♯のみを削除します。
2-2 get-pip.py の導入
https://bootstrap.pypa.io/
より、get-pip.py を右クリック、
名前を付けてリンク先を保存
python-3.8.6のフォルダの中に保存します。
保存後、コマンドプロンプトを開き、
(get-pip.pyの保存先を cd の後ろに入力)
→Enter
python get-pip.py → Enter と順に進める。
Successfully installedと出れば完了です。
3.使用の準備
環境編集の編集>Pathを選択>編集(E)>新規(N)
>pythonのフォルダのあるパスを追加する。
使用用途によりモジュールを追加する。
プロンプトにて、
python -m pip install モジュール名
または
pip install モジュール名
と入力することで、インストールができます。
できない場合、環境編集でパスが通っていないか
設定を含めた.batファイルを用意し、
都度設定する必要があります。
私はひとまず下記のモジュールを入れました。
matplotlib(グラフ用)
numpy(機械学習準備)
wxpython(GUIツールキット)
Cython(機械学習準備)
scipy(機械学習準備)
scikit-learn(機械学習)
openpyxl(EXCEL操作)
pywin32(EXCEL操作など)
xlwings (EXCEL操作など)
selenium(Chrome操作)
以上でインストールは完了です。
【エクセル】目的別関数・VBA一覧
Excelの、関数やマクロ(VBA)で処理したい内容別の一覧です。
クリックすると、該当内容の当ブログ記事に遷移します。
ExcelVBA
コツ・ノウハウ記事
基礎知識 | 変数の設定 | Ifの使い方 |
良いコードを書く | 処理を高速化する | データベース的活用 |
報告資料を時短作成 |
目的別、コード一覧
セルのコピペ | ブックの操作 | OutLookメール送信 |
フォルダの作成 | ブラウザ操作(selenium) | グラフの処理 |
ピボットテーブル | ファイルの整理 |
Excel関数
コツ・ノウハウ記事
関数を使いこなす | SUMとSUBTOTALの使い分け | 複数の関数をコラボさせる |
IF関連の関数集 | データ範囲の変化に対応する |
目的別、コード一覧
関数名 | 主な用途 |
---|---|
VLOOKUP | コードとコードの内容を割り当てる |
INDIRECT | 複数シートの同じセルを簡単に参照する |
※リンクになっていないものは記事を準備中です。
【ExcelVBA】メールを送る(OutLook)
OutLookでメールを送信するマクロの事例集です
outlookでメールを送信する
※ツール > 参照設定 >「Microsoft Outlook ??.? Object Library」を有効化する
Dim oApp As New Outlook.Application Dim mail As Outlook.MailItem Set mail = oApp.CreateItem(olMailItem) 'メールを作成 mail.To = "sampleTo@mail.co.jp" '宛先 mail.CC = "sampleCC@mail.co.jp" 'CCを指定 mail.BCC = "sampleBCC@mail.co.jp" 'BCCを指定 mail.Subject = "こんにちは" '件名を指定 mail.HTMLBody = "お元気ですか" '本文の指定 mail.attachments.Add "C:\data\Wb1.xlsx" 'ファイルを添付 mail.Display '作成したメールを表示 mail.Send '作成したメールを送信
複数のメールを送る
For文を使い、Excelシート1行1通ずつでメールを作成し送信する
Dim oApp As New Outlook.Application Dim mail As Outlook.MailItem Set mail = oApp.CreateItem(olMailItem) 'メールを作成 Dim maxrow as Long maxrow = Cells(Rows.Count, 1).End(xlUp).Row For i = 2 To maxrow mail.To = Cells(i, 1).Value mail.CC = Cells(i, 2).Value mail.BCC = Cells(i, 3).Value mail.Subject = Cells(i, 4).Value mail.HTMLBody = Cells(i, 5).Value mail.attachments.Add Cells(i, 6).Value mail.Display mail.Send Next
※本文の中身は、HTML形式のためbr,pタグなどが使用可能
セルの値で1つのメールを複数宛先にまとめて送る
Dim oApp As New Outlook.Application Dim mail As Outlook.MailItem '宛先を作る Dim MargeTo As String Dim singleTo As Range 結合文字 = "" For Each singleTo In Worksheets("Sh1").Range("A2:A15") MargeTo = MargeTo & singleTo.Text & ";" Next singleTo Set mail = oApp.CreateItem(olMailItem) mail.To = MargeTo mail.Subject = "こんにちは" mail.HTMLBody = "お元気ですか" mail.Display mail.Send
1つのメールに複数のファイルを付けて送る
Dim oApp As New Outlook.Application Dim mail As Outlook.MailItem Set mail = oApp.CreateItem(olMailItem) mail.To = "sampleTo@mail.co.jp" mail.Subject = "こんにちは" mail.HTMLBody = "お元気ですか" Dim Filekey As String Dim FileName As String Filekey = "C:\data\Wb*.xlsx" FileName = Dir(Filekey) While FileName <> "" mail.attachments.Add FileName FileName = Dir Wend mail.Display mail.Send
【ExcelVBA】ブックの操作(開く、閉じる、ワイルドカード)
ブックを開く
基本
Cドライブ内「data」フォルダ内のWb1を開く場合
Workbooks.Open Filename:= "C:\data\Wb1.xlsx"
Workbooks.Open ("C:\data\Wb1.xlsx")
変数を使う
Dim path, book path ="C:\data\" book = "Wb1.xlsx" Workbooks.Open (path & book)
セルの入力を使う → A1 = C:\data\
path = Range("A1").value
開く場合のオプション追加
①読み取り専用で開く
Workbooks.Open Filename:= "C:\data\Wb1.xlsx", ReadOnly:=True
②パスワード付きのファイルを開く(パスワード=1234)
Workbooks.Open Filename:= "C:\data\Wb1.xlsx", Password="1234"
ブックを閉じる
基本
保存して閉じる
Workbooks("Wb1.xlsx").Close savechanges:=True
保存しない
Workbooks("Wb1.xlsx").Close savechanges:=False
ワイルドカードを使ったブックの開閉
「*」を使用する(文字数を問わない)
Dim path, book path ="C:\data\" book = Dir(path & "book*.xlsx") Workbooks.Open (path & book)
「book2021」や「book20210101」など複数該当する場合、
昇順で一番初めのファイルのみが開かれる
「?」を使用する(同じ文字数のもののみ)
Dim path, book path ="C:\data\" book = Dir(path & "book????????.xlsx") Workbooks.Open (path & book)
上記例だと、?は8つなので、8桁のみが該当する。
ワイルドカードで開いたものを閉じる
パターン1:ワイルドカードで閉じる
Dim path, book Dim Wb As Workbook path ="C:\data\" book = Dir(path & "book????????.xlsx") Workbooks.Open (path & book) For i = 1 To Workbooks.Count if Workbooks(i).Name Like "book????????.xlsx" Then Workbooks(i).Close End If Next i
パターン2:開いたときに変数登録しておく
Dim path, book Dim Wb As Workbook path ="C:\data\" book = Dir(path & "book????????.xlsx") Workbooks.Open (path & book) Set Wb = ActiveWorkbook Wb.Close
【ExcelVBA】セルのコピー・ペースト
基本
同じシート内のセルのコピペ(Range)
Range("A1").Copy Range("B1")
同じシート内のセルのコピペ(Cells)
Cells(1, 1).Copy Cells(1, 2)
A1~D10の範囲のデータをF1を起点にコピペ(Range)
Range("A1:D10").Copy Range("F1")
A1~D10の範囲のデータをF1を起点にコピペ(Cells)
Range(Cells(1, 1), Cells(10, 4)).Copy Cells(1, 5)
別のシートへのコピペ
sheets("Sh1").Range("A1").Copy sheets("Sh2")Range("B1")
別のブックへのコピペ
Workbooks("Wb1").Sheets("Sh1").Range("A1").Copy _ Workbooks("Wb2").Sheets("Sh2").Range("B1")
※末尾の「 _ 」は、複数行を1つのコードとして実行させるもの
最下行を取得して貼り付け
Range("A1:A"& Cells(Rows.Count, 1).End(xlUp).Row ).Copy Range("B1")
最下行を取得して貼り付け(C列Ver)
Range("C1:C"& Cells(Rows.Count, 3).End(xlUp).Row ).Copy Range("B1")
形式を選択して貼り付け
数値として貼り付け
Range("A1").Copy Range("F1").pastespecial paste:=xlpasteValues
行と列を入れ替えて貼り付け(タテ→ヨコにする)
Range("A1:A10").Copy Range("B1").PasteSpecial Transpose:=True
A列の値をB列に加算する
Range("A1:A10").Copy Range("B1:B10").PasteSpecial Operation:=xlAdd
(引き算=xlSubtract、掛け算=xlMultiply、割り算=xlDivide)
変数を使う
シートを変数にセットしてコピペ
Dim ws as worksheet set ws1 = Workbooks("Wb1").Sheets("Sh1") set ws2 = Workbooks("Wb2").Sheets("Sh2") ws1.Range("A1").Copy ws2.Range("A1")
変数で最下行を取得して貼り付け
Dim EndRow as Long EndRow = Cells(Rows.Count, 1).End(xlUp).Row Range("A1:A"& EndRow ).Copy Range("B1")
変数で右端のセルを取得して貼り付け
Dim EndCol as Long EndCol = Cells(1, Columns.Count).End(xlToLeft).Column Range(Cells(1, 1), Cells(1, EndCol)).Copy Range("A2")
【ポモドーロテクニック】集中力を維持する時間術
仕事や勉強、そしてゲームをしているときに
「別のことが頭をよぎって目の前のことに手がつかない」
「気づいたらスマホを触っている」
「最初は調子が良かったのにだんだん負け続きに」
など、「集中力切れ」の経験があると思います。
そんな経験から「私は集中力が続かない性格だ・・・」
と思った方もいるかもしれませんが、
頑張りたくても集中力が続かないのは、
性格ではなくやり方が問題になっているかもしれません。
やり方を変えるだけで簡単に集中力を
持続させることができる手段である、
ポモドーロテクニックというものを紹介します。
ボモドーロテクニックの名前の由来
ちなみに、ポモドーロという命名の由来は、
ポモドーロテクニックの生みの親であるシリロが
トマト型のキッチンタイマーを使用しており、
「ポモドーロ」がイタリア語で「トマト」を
意味する言葉であったことから だそうです。
集中力のポイントとなる時間単位
高校まで授業は50分、大学の授業は90分程度だと思いますが、
これは集中力的に理にかなっているそうです。
集中力の区切りは、一般的に、
- 深い集中力の持続が約15分
- 集中力を保てる時間が約45分
- 大人の集中力の限界が約90分
と言われており、この15分、45分、90分が
集中力を考える上でポイントになります。
「一般的に」なので、もちろん個人差があります。
あなたの1周期が10分や20分の可能性があるので
違和感があれば、周期は調整すべきです。
ポモドーロテクニックの実施方法
以下の、①・②のセットを繰り返します。
① 1単位=「25分集中→5分休憩」(30分)で取り組む
② 4単位(2時間)ごとに30分休憩する
簡単に言うと、長くは続かない集中力を
こまめに回復し持続させるテクニックですね。
また、取り組む上で、ルールもあります。
ルール:25分は決めたことのみをやり抜く
「25分やりきると決めた作業」以外はやらず
もし緊急対応や電話対応などをしたときには
タイマーをリセットし、1単位とはカウントしない。
なぜ25分なのか
集中力は、「15分、45分、90分」がポイントでしたが、
ポモドーロテクニックは15分周期2回分となっています。
- 深い集中力の持続が15分
- 集中力を保てる時間が45分
なので、深い集中力の持続がやや薄れてくるが、
集中力を保つには十分な短さですね。
「もう一息やりたい」というくらいの
タイミングで1区切りになることが多いです。
なので、5分休憩して再開したときに、
取り組む意欲が高く保てている気がしています。
ポモドーロテクニックのメリット
無理なく集中力を維持できる
長い時間、継続して集中することを自分に強いりがち
でしたが、それが無くなり精神的に楽になります。
時間を意識できる
1単位(30分)でのキリの良さを求めること、
また、この仕事は4単位(2時間)で終わった
などの面で、やる気と時間管理が便利になります。
ポモドーロテクニックのサポートアイテム
ポモドーロテクニックを実践する場合、
気づいたら25分を超過していたり、
タイマーセットの手間が面倒で続かなかったり
という壁があるので、ツールを使うことをお勧めします。
25分・5分の時間単位で、手間なく瞬時に
タイマーセットができるスマホアプリがあります。
しかし、スマホは集中力を妨げるアイテムとしても名高く、
私は実際にそうだったので専用でタイマーを使っています。
↓↓↓↓↓こちら↓↓↓↓↓
機能性、デザイン性に優れた専用道具を持っていると
モチベーションも高まるのでオススメです。