Django Girls and Boys 備忘録

Python、Selenium、Django、java、iPhoneアプリ、Excelマクロなどで気付いたこと、覚えておきたいことなどを載せていきます。

2026-01-01から1年間の記事一覧

【Excel VBA】シート数をカウントする方法(初心者向け)

Excel VBAでよくある処理の1つが**「シートの枚数を数える」**です。 例えばこんな場面で使います。 シート数に応じて処理を変える 全シートをループする前に確認 管理用のチェック処理 この記事では、シート数をカウントする方法をわかりやすく解説します。…

【Python Selenium】入力フォームに文字を入力する方法

Seleniumでは、入力フォームに文字を入力することができます。 例えば次のような操作です。 ログインフォーム 検索フォーム 問い合わせフォーム この記事では 入力フォームに文字を入力する方法を解説します。 文字を入力する基本 入力には send_keys() を使…

【Python Selenium】Webページのテキストを取得する方法

Seleniumでは、Webページに表示されている文字を取得することができます。 例えば次のような処理です。 商品名の取得 記事タイトルの取得 価格の取得 この記事では Seleniumでテキストを取得する方法を解説します。 テキストを取得する基本方法 テキストは .…

【Python Selenium(初心者向け)】ボタンをクリックする方法(clickの使い方)

Seleniumを使ってWeb操作を自動化するとき、最もよく使う操作が 「ボタンをクリックする」 です。 例えばこんな場面 ログインボタンを押す 検索ボタンを押す ダウンロードボタンを押す この記事では、**Seleniumでボタンをクリックする方法(clickの使い方)…

【Python Selenium 初心者向け】find_element と find_elements の違い

Seleniumを使い始めたとき、多くの人が迷うことの1つが以下の2つの違いです。 find_element find_elements 名前がほぼ同じなので混乱しがちですが、実は違いはとてもシンプルです。 この記事では、初心者でも理解できるようにfind_element と find_elements…

【Python Selenium】要素を取得する方法(find_element)

SeleniumでWebページを操作する場合、まず 要素を取得する必要があります。 そのために使うのが find_element です。 find_elementとは find_element はWebページの要素を取得するメソッドです。 例えば次のHTMLがあります。 <button id="login">ログイン</button> このボタンを取得する…

【Python Selenium】ブラウザを起動する方法(Chrome)

Seleniumを使うと、Pythonからブラウザを操作できます。ず最初に必要なのが ブラウザの起動です。 この記事では、SeleniumでChromeを起動する基本方法を解説します。 SeleniumでChromeを起動する まずは最も基本的なコードです。 from selenium import webdr…

【Python Selenium】ファイルを自動ダウンロードする方法|Chromeで自動保存する設定

Seleniumで業務自動化をしていると、必ず出てくるのがこの処理です。 ✔ レポートを自動ダウンロード✔ PDFを自動保存✔ CSVを毎日取得 この記事では、 ダウンロードフォルダの指定方法 Chromeで確認画面を出さずに保存する方法 PDFを自動保存する方法 ダウンロ…

【Python Selenium】解決! NoSuchElementExceptionの原因と対処法まとめ

Seleniumを使っていると、必ずと言っていいほど遭遇するのがこのエラーです。 NoSuchElementException または、 element not interactable この記事では、 Seleniumで要素が取得できない原因 find_elementの違い 明示的待機(WebDriverWait)の使い方 動的ペ…

【Excel VBA】Round() の誤差問題

銀行丸めと四捨五入の違いを理解する 「Round() を使ったのに、結果が合わない…」 これは VBA 初心者がよくはまる問題です。 VBA の Round() は四捨五入じゃない? Round(2.5)' → 2 Round(3.5)' → 4 VBA の Round は 銀行丸め(偶数丸め) です。 銀行丸め…

【Unity ML-Agents】float.MaxValue を観測に入れたら infinite エラーが出た話

~minDistance 初期化の落とし穴~ Unityの ML-Agents で強化学習を作っているとき、こんなコードを書いていませんか? float minDistance = float.MaxValue; そしてこれを CollectObservations() 内でそのまま追加。 sensor.AddObservation(minDistance); …

【VBA】Excelブックが「開いているかどうか」を判定する方法

~初心者が必ず混乱するポイントを完全整理~ Excel VBAで自動化をしていると、必ずぶつかる疑問があります。 「このブック、もう開いてる?」 「同じファイルを二重に開いてしまわないか不安…」 実務でもトラブルになりやすいテーマなので、正しい判定方法…

【Excel VBA】開いていないブックを操作する方法

~画面に表示せずに高速処理する基本と注意点~ Excel VBAで自動化をしていると、次のような要望が必ず出てきます。 フォルダ内のExcelを開かずに処理したい 画面をチラつかせずに裏で更新したい 大量のブックを高速に処理したい この記事では、「開いていな…

【Excel VBA】拡張子別にファイルを自動振り分けする方法

~フォルダ整理を一瞬で終わらせるマクロ~ フォルダの中がこんな状態になっていませんか? C:\Test\ ├ 売上.xlsx ├ 請求書.pdf ├ 画像1.jpg ├ 画像2.png ├ データ.csv ファイル形式がバラバラで、毎回手作業で整理…。 そんなときに使えるのが拡張子別に自動…

【Excel VBA】ファイル名に日付や連番を付けて一括リネームする方法

~バックアップ・日次保存に超便利~ Excel VBAでファイル名を変更する処理はよく使いますが、特に需要が高いのが 「日付付きリネーム」 です。 例えば… Report.xlsx↓Report_20260320.xlsx のように自動で日付を付けたい場合の方法を解説します。 なぜ日付付…

【Excel VBA 再帰】サブフォルダも含めてExcelを処理する方法

なぜ難しい? Dir() は サブフォルダを自動では見てくれないため、「再帰処理」が必要になります。 再帰処理の基本形 Sub SearchFolder(ByVal folderPath As String) Dim file As String Dim subFolder As String file = Dir(folderPath & "*.xlsx") Do Whil…

【Excel VBA】フォルダ内のExcelを一括処理する方法

はじめに 毎月・毎日同じ処理を複数のExcelファイルに対して行っていませんか?VBAを使えば、フォルダ内のExcelをまとめて自動処理できます。 基本:フォルダ内のExcelを順番に開く Sub FolderExcelBatch() Dim path As String Dim file As String Dim wb As…

【Excel VBA】CInt / CStr / CLng などの使い方:“C系” 型変換関数の総まとめ

VBA には「C〜」で始まる型変換関数がたくさんあります。 正直、どれを使えばいいのかわからない… そんな人向けに、実務で使うものだけを整理します。 よく使う C系変換関数一覧 関数 変換先 CInt Integer CLng Long CDbl Double CStr String CDate Date CBo…

【Excel VBA】Val() と CInt()/CLng()/CDbl() の違いまとめ

〜「数値変換」で事故らないための超重要知識〜 Excel VBA で文字列や数値を扱っていると出てくる疑問。 数値変換では何を使えばいいの? どれを使えば安全なの?Val と CInt、何が違うの? この記事では、Val() と C系変換関数の本質的な違いを実例を挙げな…

【Excel VBA 高速処理】最終行取得 × 高速処理を組み合わせたVBA実例

〜遅い・ズレる・固まる…を一気に解決する〜 Excel VBA を実務で使っていると、必ずこういう悩みにぶつかります。 最終行がズレて処理漏れが起きる データが多いと処理が異常に遅い 途中で Excel が固まる 実はこれ、以下のような原因の場合が多いです。 最…

【Excel VBA】最終行・最終列を取得する方法

〜UsedRange は本当に使っていいの?〜 Excel VBA を書き始めて、ほぼ100%の人が一度は悩む問題があります。 「最終行を取得したいだけなのに、なぜかズレる…」「UsedRange が変な値を返す…」「どの書き方が正解なの?」 この記事では、End(xlUp) / End(xlT…

【ExcelVBA】Dictionaryは 「重複チェック・件数カウント・高速検索」のマクロ処理でほぼ必須の存在

Excelマクロをある程度書いてくると、必ずこんな壁にぶつかります。 行数が増えると処理が遅い 重複チェックがややこしい ある値が「存在するかどうか」調べたいだけなのに大変 この悩みを 一気に解決するのが Dictionary です。 実務VBAでは、Dictionaryは…

【Excelマクロ高速化の最終兵器】配列+Dictionaryで爆速処理する方法

Excelマクロが遅い。行数が増えると固まる。1万行を超えたあたりで「応答なし」……。 もしこんな経験があるなら、その原因はほぼ間違いなく セルを1つずつ触っていること です。 そして、その解決策が 「配列 + Dictionary」 の組み合わせ。 これはVBA高速化…

【Excelマクロ】Dictionary完全入門 ― 高速処理の王道。Collectionの上位互換を使いこなそう ―

Excelマクロが遅い。行数が増えると一気に重くなる。For文を回すたびにイライラする…。 そんな悩みを一気に解決してくれるのがDictionary(ディクショナリ) です。 実務VBAでは 「重複チェック」 「件数カウント」 「高速検索」この3つでほぼ必須の存在です…

【Excel VBA】複数ブックをまとめて1つに統合するマクロ例

「毎月送られてくるExcelを1つにまとめたい」「フォルダ内のブックを全部集計したい」 これは VBAの定番ニーズの1つ です。 フォルダ内のExcelをすべて統合するためのマクロ例 例として、「C:\Data\」のフォルダ内に複数ブックを入れておき各ブックの1枚…

【Excel VBA 高速処理】大量データの重複削除マクロ

数千〜数万行のデータ。「標準の重複削除が遅い」「条件付きで消したい」そんな悩み、ありませんか? ここでは VBAで高速に重複を削除する方法 を紹介します。 方法①:RemoveDuplicates(最速&簡単) Sub RemoveDuplicateFast() With Worksheets("Sheet1")…

【Excelマクロ】Format()で日付・金額を美しく整える

実務で超頻出の Format()。数値、日付、時刻などのデータを指定した書式(形式)の文字列に変換する標準関数で、主にYYYY/MM/DD(日付)、#,##0(数値の桁区切り)、HH:MM(時刻)といった形式で整形する際に使われ、結果はString型で返されます。=Format(式…

【Excelマクロ入門】DateDiff()で日付の差を自由に計算する!日数・月数・年数の求め方まとめ

Excelマクロ(VBA)で日付を扱っていると、こんなことをしたくなる場面はありませんか? 今日から締切日まで あと何日? 入社日から 何か月経過した? 生年月日から 年齢を計算したい 月をまたぐとき、日数がズレて困る… そんなときに活躍するのがDateDiff()…

【Excelマクロ入門】DateAdd()で日付操作

日付処理は、Excelマクロで最も検索されるジャンルの1つです。 その中でも超定番なのが DateAdd()。 DateAdd()とは? 書式 DateAdd(間隔, 数値, 日付) 間隔の指定例 指定 意味 "d" 日 "m" 月 "yyyy" 年 "h" 時 "n" 分 基本例:○日後を求める Debug.Print D…

【Excelマクロ要注意】IsDate()で日付を判定するコツ

〜Excel特有の“罠”を知らないと事故ります〜 「この値、日付かどうか判定したい」そんなときに使うのが IsDate()。 IsDate(値) 一見とても便利ですが、Excel VBAでは“思わぬTrue”が返ることがあるため注意が必要です。 IsDate()の基本 Debug.Print IsDate("…