アスパLab

関数リファレンス

F0000064_フォルダをミラーリング(ミラーフォルダを作成)する

ExcelVBA(マクロ)ではWindowsの新しいコマンドプロンプト(?)であるPowershellを実行することができます。会社のセキュリティ設定によっては実行できないものはあるかもしれません。この関数では「robocopy」コマンドを使用してフォルダを指定した場所にミラーリングします。このコマンドの優秀な点は、同じ場所に同じフォルダをミラーリングする場合、フォルダの差分のみをミラーリングできることです。そのため巨大なフォルダをまるごとミラーリングしても2回目以降の実行は更新されたファイルの容量分だけになります。私は簡易なバックアップ手段として採用していました。
アスパLab

F0000063_文字列に含まれる指定の文字列で囲まれた文字列を抽出する

文字列を特定の記号で囲んで特別な意味を持たせる試みはよくあります。有名なものはHTML文書です。HTMLはタグを「<」「>」で囲み、意味を持たせます。このような手法が用いられるのは、特定の記号を使用することで自然言語と特別な意味を持つ文字列を区別することができるためです。プログラミングへも応用が可能で、例えば差し込み印刷ツールで文書内のタグを連続して置き換えて印刷するというような使い道もできます。この関数ではそのような特別に意味を持たせた文字列に囲まれた文字列を文字列内から抽出します。ただし、HTMLなどの解析用に作ったわけではないので、性能へ過度な期待はしないこと。
関数リファレンス

F0000062_64ビットOSかどうか調べる

この関数はレガシーな関数です。現在の環境では使用することはないものかと思います。ユーザーのPCが64ビットOSかどうかを判定して返します。ユーザーのPCが64ビットOSかどうかの判定は条件付きコンパイル「#IF」ステートメントの条件に「Win64」定数を指定すれば判定できます。あえてこの関数を使用する目的はないものと考えます。
関数リファレンス

F0000061_ランダムなカスタム文字列を生成する

この関数は指定した条件に応じたランダムな文字列を生成します。ランダムな文字列と言えばパスワードです。パスワード生成ツールはネットでも公開されているものの、毎度条件入力などが面倒だっため作成しました。当初パスワードの生成を目的としていましたが、ランダムな文字列は関数のテストデータなどにも使用することができます。
関数リファレンス

F0000060_範囲内のランダムな整数を取得する

この関数についてランダムな要素の出力が必要な時、出力される可能性のある要素を配列にすべて格納し、その配列に対してランダムなインデックスを指定することで要素を取得・出力するという方法があります。このとき、ランダムなインデックスは0以上の整数値...
関数リファレンス

F0000059_配列をExcelの標準機能を使って並べ替える

配列(特に2次元)の並び替えをいかに早く実行するかはプログラマにとって共通の課題です。ExcelVBA(マクロ)においてもデータ数が数万・数十万と増えるにつれて、シートやセル上だけでデータを加工することに速度の限界を感じて配列を採用した人は多いかと思います。たしかに配列はセルと比較してデータの代入・取得の速度は段違いの早さです。しかし「並べ替え」についてはExcelの標準機能に速度の優位性があります。この関数では配列をいったん仮のシートに貼り付け、並べ替えを実施した後、配列に格納し直します。
関数リファレンス

F0000058_ファイルダイアログを開き、1つの画像ファイルを選択させる

ファイルダイアログを開き、ファイルを選択させる関数はいくつか紹介してきましたが、画像ファイルを選択させる必要のある案件があったため追加で作成しました。しかし、画像ファイルは拡張子も多くあり、自動化する業務に応じて選択可能な拡張子は変更して使用するべきかと考えています。カスタマイズ性を持たせる良い案が思いつかなかったため、いったん「png」形式の画像を選択させる内容で実装しました。他の開発案件で同様の需要があったときに改修をする予定です。
アスパLab

F0000057_yyyymmdd形式の数値を日付型に変換する

日付データの保存方法として「20250101」のような形式がよく使用されます。しかしExcelVBA(マクロ)では「20250101」を「2025/01/01」と読み替えて判定はしてくれません。専用の関数も用意されていない(誤っていたらすみません)ため作成をしました。
関数リファレンス

F0000056_ファイルダイアログを開き、選択させたcsv・Excelファイルに含まれる表を取得し配列に格納する

ファイルダイアログを立ち上げユーザーにファイルを選択させたあと、各ファイルを開き、各シートの表を取得、配列に格納するという処理が個人的に多かったのでこの関数を作成しました。基本的には当サイトで紹介している他の関数の組み合わせで実現できる内容であり、そのためにいざ使用する場面がきたとしてもこの関数の存在を忘れており、関数の組み合わせで実現してしまう・・そういう関数です。
関数リファレンス

F0000055_ファイルダイアログを開き、複数のcsvファイルもしくはExcelファイルを選択させる

当サイトでは、ExcelVBA(マクロ)で操作対象とするファイルをユーザーに選択させるための関数をいくつか掲載しています。操作対象となるのは、主にcsvファイルかExcelファイルかいずれかと考え、それぞれファイル形式のファイルを選択させる関数を用意していましたが、ユーザーにとってこの使い分けは意味がないことに気づきました。この関数では、ファイルダイアログを立ち上げてユーザーに複数のcsvファイルかExcelファイルかを選択させ、そのファイルの絶対パスを配列で返します。
スポンサーリンク