VBA共通

InternetExplorer(IE)操作

HTMLのオブジェクトの位置を取得してカーソルを合わせるExcelVBAコード

ログイン画面にIDとパスワードを入力して個別ページに移動する際、テキストボックスに入力したIDとパスワードをうまく読み込んでいない現象がありました。 今回はウェブサイト側に認識される形でテキストボックスにIDとパスワードを入力する方法について私が調べて作ったExcelコードを紹介します。
配列

文字列を切り離して配列に格納する方法

以前にこちらの記事で配列を区切り文字で区切った文字列に変換するJoin関数をご紹介しましたが、逆に文字列を区切って配列に格納する関数の存在を最近知りました。 どちらも使えるとより便利になることに気づいたのでご紹介します。
ファイル・フォルダ操作

AccessでApplication.GetOpenFileNameのようなダイアログを表示してファイルを選択する方法

以前からExcelVBAでファイルをダイアログで選択して開く方法として「Application.GetOpenFileName」メソッドを使用していましたが、このメソッドはExcelしか使えなくて、AccessなどでExcelファイルを開くときに使うには非常に面倒で不便なことに気づきました。
スポンサーリンク
ファイル・フォルダ操作

ファイルの作成日と更新日を取得するVBAコード

バックアップを定期的に取るためのツールを作成しはじめたのですが、バックアップ先にファイルを保存していくときに既に同じ名前の古いファイルが存在していた場合、ファイルの更新日を比較する必要があることに気づきました。 FSO(FileSystemObject)を使って意外と簡単に作成日・更新日を取得できるのでご紹介します。
関数

時間を比較するときに使うVBAの関数について

以前に乗り換え検索を自動で行うツールをご紹介しましたが、追加で所要時間を比較する必要があり、コードを考えました。 文字列で書かれている時間を比較するには関数を用いて変換をしたり、少しコツが必要になりますので、ここで紹介します。
WindowsAPI

VBScriptでWindowsAPIを使用する方法

WindowsAPIはExcelVBAやAccessVBAで実行しても良かったのですが、すぐに実行できる方法が良かったので、VBScriptでコードを書いてみました。 今回はアプリのWindowsAPIを用いてウインドウを閉じるVBScriptで操作する方法をVBAでの記載方法と比較しながら紹介します。
Outlook操作

ExcelVBAでOutlookを操作する際の参照設定

OutlookのメールをExcelVBAを用いて作成するツールはかなり便利で、私も事務仕事をする際によく使っています。 これまでにいくつかご紹介してきましたが、大事な参照設定について伝え忘れてしまっていたので今回手順をご紹介します。
ウインドウの取得

WindowsAPIを用いてウインドウの一覧表を作成するVBAコード

ウインドウ取得のベースとなるウインドウハンドルは開くたびに新しい値となるため、毎回確認が必要です。 そのためウインドウを常に取得できるようにするにはクラス名・キャプション名を把握しておかなければ不便です。 今回はウインドウ取得に役立てられるクラス名・キャプション名一覧表を取得するVBAコードをご紹介します。
ウインドウの取得

VBAでWindowsAPIを用いてウインドウを取得する手順について

前回はウインドウの取得によく使われるWindowsAPIの関数とウインドウのプロパティを紹介しました。 これらのWindowsAPIの関数は機能が重複しているようで、ウインドウの取得に関してたくさんのアプローチがあります。 今回はこのWindowsAPIを使用して効率よくウインドウを取得する手順をいくつか紹介します。
ウインドウの取得

VBAでウインドウを取得するのによく使うWindowsAPIとその使い方

AppActivateメソッドはコードが簡単で記述しやすいのですが、キャプション名というウインドウに表示されている名称を正確に記載しなければエラーになる難点があり、キャプション名が不明な場合操作できない問題点があります。 今回はウインドウを取得するのによく使われるプロパティとWindowsAPIをいくつか紹介します。
ウインドウの取得

ウインドウを取得するVBAコード

色々なアプリをマクロやVBAで操作する場合、対象となるウインドウ(=画面)をアクティブ取得して最前面に持ってくることが第一歩となります。 今回はデスクトップ上に開いている画面を取得するVBAコードを紹介します。
InternetExplorer(IE)操作

Webページ内の同じ属性の複数の要素を一度に配列に格納するVBAコード

VBAを用いてIEを操作するにはウェブページから要素(タグ)を指定し、変数に格納する必要があります。同じ属性を持つ複数のタグ中から特定のものを指定しなければならず、IEを操作するハードルの1つになっています。 今回は同じ属性の要素を1度に配列に格納し、その要素数を取得するVBAコードを考えましたのでご紹介します。
マウスイベント

画面上の任意の位置をクリックするVBAコード

システム上で直接操作できないアプリ・システムを操作したい場合、簡易的な方法としてキーボードやマウス操作の手順を実行するキーボードイベントやマウスイベントがあります。 今回はマウスの操作手順を実行させるマウスイベントについてご紹介します。
関数

翌月の日付や前月の日付を算出するユーザー定義関数

日付の足し算・引き算などはExcelの中でかなり頻繁に使われる機能だと思いますが、日数が月によってバラバラなために計算が複雑になることが多いと思います。 特にスケジュール帳の作成や共有のシフト表など間違えてはいけない書類・データを作る際、時間をかけて手作業で行っている方も多いと思います。 今回はExcelなどでスケジュール表や共有シフト表を作成する際に役立つ「翌月の初日を」ユーザー定義関数を紹介します。
配列

Array関数を用いて配列に一括でデータ格納

私は特にVBAのコードをわかりやすくするために配列をよく使います。 配列を用いることで、長く続く処理をFor~Nextなどの繰り返し処理に変更し、短くわかりやすいコードが作成できます。 今回はArray関数を用いて配列にデータを一括で格納する方法とサンプルコードをご紹介します。
配列

配列の要素を取り出す関数について

以前から配列の値を取り出すのに良い方法が思いつかなかったので、結構力技で実施していたのですが、配列を取り出すのに便利な関数があることを知ってショックを受けました。 今回は配列の要素を取り出す際に役立つJoin関数とUBound関数をご紹介します。
外部アプリケーションの操作

テキストファイルを作成して保存するVBAコード

VBAコードの中でテキストファイルを作成するのはコードさえ知っていれば比較的簡単です。 用途はあまり多くありませんが、例えばExcelやAccessのファイルを開いたときや閉じたときにログを残す機能を付けるのに役立ちます。 今回はテキストファイルを作成するコードを紹介します。
マクロの処理時間の短縮

ExcelVBAでセルを配列に入れて高速化

対象となるセルが少なければ問題は起こらないのですが、たくさんのセルに対して条件分岐を加えながらセルの値を変更しようとするとかなり時間がかかってしまい、他の操作と合わせた一連のマクロの中で律速になってしまうことがあります。 今回はそんなときに大活躍のセルを配列に入れるVBAコードを紹介します。
DOSコマンドの実行

VBAでファイルを一括でzipフォルダに圧縮

私はよく電子書籍をjpg形式で保管しているのですが、フォルダで管理しているとスマホ、タブレットに入れるとギャラリーの中に電子書籍のデータが入ったり、アプリによってページがばらばらになったりしていました。 今回は私が持っている電子書籍のデータを一括でZipフォルダに変更するために作成したVBAコードを紹介します。
OutlookVBA

Outlookで開発タブを表示する

Outlookに限らずOfficeはどれでもそのままではすぐにVBE(Visual Basic Editor)を開くための開発タブが非表示になっています。 今までOutlookのVBAを書いてきているので今更ですが、開発タブの表示方法を今回紹介します。
スポンサーリンク