適材適所

パソコン作業の自動化・効率化のための情報を発信するブログ(VBA,PowerShellなど)

VBA

Excel VBAで使われるユーザーインターフェース8選

プログラムのユーザーインターフェースは極力シンプルであれ!! どんなユーザーインターフェースがあるか VBEの再生ボタンで実行 リボンにあるマクロ実行ボタン ショートカットキーを割り当てる コマンドボタン ユーザーフォーム リボンにオリジナルボタン…

Excel VBAでマクロからの変更のみ許可しているシートでマクロによるHyperLinkの削除ができない件

マクロからのシートの編集を許可しているはずなのに 試した環境 シートの保護機能について シートを保護した状態でハイパーリンクを削除できない!! マクロからのシートの編集を許可しているはずなのに とあるVBAプログラムを作成していたところ、マクロに…

ExcelVBAで差し込み印刷もどきをやってみる

Excel業務あるあるシリーズ Excelで差し込み印刷 想定されるケース Excelの差し込み印刷の考え方 ブックの構成 コードの実装 コードの解説 実行してみる 最後に Excel業務あるあるシリーズ どこかの誰かが、どこかで苦戦しているかも知れない、自動化したい…

Excel VBAで表の列名とセルの列番号のスマートなマッピング方法

表の項目名と列番号のマッピング マジックナンバーで書いちゃう 列挙型を使って列名で列番号を定義する ADOを使ってアクセスする 最近落ち着いたところ 最後に 表の項目名と列番号のマッピング Excel VBAで表を扱うとき、表の列名とセルの列番号をどのように…

VBAでNoteメールの添付ファイルを保存する

VBAでNotesメールの添付ファイルを保存する コード ローカルへの保存手順 おわりに 参考サイト様 VBAでNotesメールの添付ファイルを保存する VBAを使ってNotesメールを操作するシリーズです。 以前、Notesメールの一覧を取得する記事を書きましたが、その続…

VBAでキーごとにシートに分ける簡単なサンプル

Excel業務あるあるシリーズ VBAでキーごとシートに分ける!! サンプルデータ VBAでキーごとシートに分ける処理の流れ VBAでキーごとシートに分けるコード コードの解説 ①血液型ごとのシートを準備する ①-1dummyシートの設定・最終行の取得 ①-2重複のな…

WinHTTPとVBAでウェブから画像をダウンロードする

この記事では WinHTTPで画像をダウンロードするためには WinHTTPで画像をダウンロードするサンプルを作成する コード コードの解説 おわりに 参考サイト この記事では WinHTTPの実践的な使い方の例としてVBAで画像をダウンロードする方法を解説しています。 …

WinHTTPとVBAでウェブサイトのリンク一覧を取得する

この記事では WinHTTPでスクレイピングしてリンクのURL一覧を作ってみる コード コードの解説 おわりに 参考サイト この記事では WinHTTPの実践的な使い方の例としてリンクの一覧を取得するサンプルを作ります。 HTMLの(最低限の)知識が必要です。 シリーズ…

WinHTTPとVBAでHTTPを理解する

この記事では WinHTTPを操作するためのHTTPの最小限の理解 HTTPとは HTTPの通信の中の位置づけ HTTPの通信の概略 HTTPクライアントの要求 メソッドとは パスとは ヘッダとは ボディとは ウェブサーバの応答 レスポンスコードとは ヘッダとは ボディとは まと…

WinHTTPとVBAでスクレイピングをしてみる

この記事では VBAでWinHTTPを使う VBAでWinHTTPを使う準備をする 試しにWinHTTPでスクレイピングしてみる コードの解説 とりあえずやってみたが・・・ この記事では VBAを使ったスクレイピングの一つの手法であるWinHTTPを使ったスクレイピングの例を紹介し…

VBAによるスクレイピングの手法-WinHTTPとIEの違いについて

この記事では WinHTTPでスクレイピング WinHTTPとは Internet Explorereによるスクレイピングとの違いは? ブラウザが内部的に行っていること IEとWinHTTPの違い IEによるスクレイピング WinHTTPによるスクレイピング 最後に この記事では VBAによるスクレイ…

Excelのセル内改行コードはLFとCRLFのどちらでもいいのではないか説

この記事では セル内の改行コードはlf,crlfのどちらでもいけるのではないか説 結論 環境 経緯 小さな実験 最後に この記事では Excelのセル内の改行コードについて考察しています。 セル内の改行コードって本当はどうなの?と思っている人に向けて書いていま…

VBAでウェブスクレイピング_IE操作編その4

この記事では インプットタグへの書き込みをやってみる お題はyahoo(2019年8月16日現在のhtml) 検索窓への入力方法 検索ボタンをクリックする これで終わり IEを使ったスクレイピングはかなり脆い 次は この記事では VBAによるIE(Internet Explorere)を使っ…

挫折した人のためのVBAクラスモジュール入門_その10(最終回)

この記事では メソッドを定義しよう 住所の都道府県名を返すメソッドの仕様 メソッドの定義方法 住所の都道府県名を返すメソッドの実装 これでGodExcelオブジェクトはひとまず完成 最後に GodExcelクラスの完成形 この記事では VBAのクラスモジュールの使い…

挫折した人のためのVBAクラスモジュール入門_その9

この記事では GodExcelオブジェクトの現在の状態 GodExcelオブジェクトの問題点 外部からプロパティを変更できないようにする プロパティ周りが整備されたGodExcelクラスのコード GodExelの利便性をさらに高めるアイディア メソッドはオブジェクトに関係ある…

挫折した人のためのVBAクラスモジュール入門_その8

この記事では コンストラクタについて コンストラクタ 実験:コンストラクタが呼ばれるタイミングを知る デストラクタについて 実験:デストラクタが呼ばれるタイミングを知る デストラクタはどんな場面で使うのか 次回はGodExcelオブジェクトに戻ります こ…

挫折した人のためのVBAクラスモジュール入門_その7

この記事では 今回は具体的な話を 神エクセルの仕様 コンストラクタを定義する テストしてみる この記事では VBAのクラスモジュールの使い方を解説しています。 前回に引き続き、シートの情報をクラスモジュールを使ってオブジェクト化していく手法を説明し…

挫折した人のためのVBAクラスモジュール入門_その6

この記事では プロパティへのアクセスについて カプセル化とは プロパティのインターフェースを統一する この記事では VBAのクラスモジュールの使い方を解説しています。 前回に引き続き、シートの情報をクラスモジュールを使ってオブジェクト化していく手法…

挫折した人のためのVBAクラスモジュール入門_その5

この記事では プロパティを設定できた プロパティを取得できるようにする Property Getをテストする なぜオブジェクト内部のプロパティを外部から直接いじれないようにするのか この記事では VBAのクラスモジュールの使い方を解説しています。 前回に引き続…

挫折した人のためのVBAクラスモジュール入門_その4

この記事では オブジェクトを生成できた Privateなプロパティ Privateとは プロパティを設定できるようにする プロパティに値を設定してみる この記事では VBAのクラスモジュールの使い方を解説しています。 クラスモジュールの実例を用いて解説しています。…

挫折した人のためのVBAクラスモジュール入門_その3

この記事では オブジェクトの情報を定義する場所がクラスモジュール クラスモジュールのコード クラスモジュールの文法的な話 オブジェクトを生成する まだまだ役に立つオブジェクトではない この記事では VBAのクラスモジュールの使い方を解説しています。 …

VBAでウェブスクレイピング_IE操作編_その3

次ページをクリックする classやidがない場合のタグの取得方法 全ての要素にアクセスする 最初から最後のページまで遷移する 前回は、記事タイトルをひとつ取得するところまで実装できたのでした。 今回はページを遷移して、すべての記事タイトルを取得する…

VBAでウェブスクレイピング_IE操作編_その2

HTMLとは タグとは 情報を集める 実際のHTMLを見てみる HTMLからclass属性を取得する getElementsByClassNameメソッド タイトルを取得する HTMLとは 今回もハンズオン形式でIEを使ったスクレイピングのやり方を書いていきます。 前回は、HTMLの話をしていた…

VBAでウェブスクレイピング_IE操作編_その1

Internet Explorerを使ってウェブスクレイピング お題をどうするか お題はこのブログの記事タイトル一覧を取得する IEを操作するためには、「InternetExplorer」オブジェクトを使う ウェブページにアクセスする Microsoft HTML Object Library HTMLとはなん…

VBAでNotesメールを作成・送信する_ファイル添付

この記事では VBAでNotesメールにファイル添付する コード コードの解説 終わりに 関連記事 参考サイト この記事では VBAを使ってNotesのメール操作を自動化するためのアイディアを書いています。 Notesを使った日々の業務を自動化したい人に向けて書いてい…

VBAでNotesメールを作成・送信する_CC/BCCの追加

この記事では VBAでIBM Notesを操作する2 CCとBCCを追加する コード 使う前に 関連記事 この記事では VBAを使ってNotesのメール操作を自動化するためのアイディアを書いています。 Notesを使った日々の業務を自動化したい人に向けて書いています。 VBAでIBM …

VBAでNotesメールを作成・送信する_最も簡単なサンプル

VBAからNotesメールを操作する コード 使う前に コードの解説 関連記事 VBAからNotesメールを操作する 毎日の日報メールや、同じようなメールをちょこっとだけ変えて一度に送信しなければならない場面など、メールの作成や送信を自動化すると便利な場面があ…

VBAにおける文字列検索はどれが一番速いのか_中間編

はじめに テストする機能 テストした環境 条件 結果 一番速いのはInstr関数!! テストしたプログラム はじめに 文字列の中から特定の文字列を含むかチェックする場面はよくある場面かと思います。 前回(VBAにおける文字列検索はどれが一番速いのか_先頭編 -…

VBAにおける文字列検索はどれが一番速いのか_先頭編

はじめに テストする機能 テストした環境 比較内容 結果 一番速いのはlike演算子!! テストしたプログラム はじめに 文字列の中から特定の文字列を検索する場面はよくある場面かと思います。 どの検索方法が最速なのか、検証してみました。 今回は、先頭の…

挫折した人のためのVBAクラスモジュール入門_その2

この記事では おさらい シートの情報をオブジェクト化する 視点を変えてみる いったん立ち止まって考える オブジェクト化することでプログラマー楽になる・・・かもしれない この記事では VBAのクラスモジュールの使い方を解説しています。 クラスモジュール…