自動化厨のプログラミングメモブログ │ CODE:LIFE

Python/ExcelVBA/JavaScript/Raspberry Piなどで色んなことを自動化

VBA

For文での線形探索より高速 VBAで連想配列 Dictionaryオブジェクト

以下のような検索キー列がユニークであるテーブルからデータを取得したい(VLOOKUPみたいなイメージ)場合、処理回数が多いと `WorksheetFanction.Vlookup` やFor文での線形探索では時間がかかり過ぎる。 そんなときに役立つのが連想配列(Dictionaryオブジ…

【VBA/VBScript】HTML特殊文字コードから16進数を抽出→10進数に変換してデコードする

CSV形式でダウンロードしたデータの一部が文字化けしていて困ってるという相談を受けて、「読み込み時のエンコード指定の問題でしょw」と見てみると部分的にHTMLエンコードされている謎のCSV・・・。 これに対応すべく部分的なHTMLエンコード文字をデコード…

【ExcelVBAでスクレイピング入門】Googleで検索順位を自動取得してみる③ ~複数キーワードの検索とデータ取得~

第二回では1キーワードを検索してExcelシートにキーワード、検索順位、ページタイトルを入力するところまでできました。 code-life.hatenablog.com code-life.hatenablog.com 今回やっていくのは以下の内容。ここまでできれば検索結果のスクレイピングとして…

【VBA】querySelectorAllで取得した要素に対してForEachを使うと謎のエラーが発生する

この記事でできるようになること querySelectorAllで取得したコレクションに対してループ処理 ExcelVBAでWebページから情報を自動収集(スクレイピング)する時に超便利なメソッド querySelectorとquerySelectorAll 。 CSSセレクタがそのまま使えて超便利だ…

【ExcelVBAでスクレイピング入門】Googleで検索順位を自動取得してみる② ~キーワードを検索して結果をシートに書き込む~

第一回ではGoogleを表示するところまででしたが、今回はスクレイピングの肝となるデータを抜き出す部分です。 もうちょっと間空けて投稿しようかと思ったけど勢いで公開。ここらへんまでやらないと面白くないもんね。 code-life.hatenablog.com 前回までのお…

【ExcelVBAでスクレイピング入門】Googleで検索順位を自動取得してみる① ~IEを開く、待つ、閉じるまで~

スクレイピングとは? ウェブスクレイピング。ウェブサイトのHTMLから欲しい情報を指定して取得すること。 簡単に言うと手作業でウェブサイトからExcelにデータをコピペコピペコピペ・・・という地獄の作業を自動化してしまおうというものです。最近流行りの…

ExcelVBAからパスワード付き圧縮コマンド(7-zip/Lhaplus)を実行する

ExcelVBAからパスワード付き圧縮コマンド(7-zip/Lhaplus)を実行する この記事でできるようになること コマンドでファイルをパスワード付きZIP圧縮 ExcelVBAからcmd.exeにコマンドを渡す 毎日の作業を楽にするべくExcelVBAで作ったメール一括送信ツール。しか…

【落書き】勢いでExcelVBA使って神龍Webテストを再現してみた

qiita.com 神龍何回名乗るんだよww と思いながらも面白そうだったのでチャレンジ。 VBAのClassモジュールは初めて使ったけど作り込んだら便利そう。 mainモジュール Sub callDragon() Dim 我が名は神龍 As New ieDoragon 我が名は神龍.URLにアクセスしてや…

ExcelVBAでセルの文字列の折り返しを解除する方法.WrapText = False

この記事でできるようになること セル内改行を含むエクセルのシートをVBAで折り返し解除する セル内改行があると勝手にセルの文字列が折り返される VBAで商品ページデータなどを処理することが最近多いんですが、このようなHTMLを含むセルはCSVを読み込んだ…

シートの最終行番号を取得するユーザー定義関数 - VBA(エクセルマクロ)

VBA

最近仕事で受注・発注業務のオートメーション化をするにあたって、VBAで良く使う「シート内で利用している最終行番号を取得する」 と 「特定のセルを基準に一番下のセルの行番号を取得する」ユーザー定義関数をメモとして残しておきます。 シート名を引数に…