アスパLab

関数リファレンス

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

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

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

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

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

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

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

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

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

当サイトでは、ExcelVBA(マクロ)で操作対象とするファイルをユーザーに選択させるための関数をいくつか掲載しています。操作対象となるのは、主にcsvファイルかExcelファイルかいずれかです。しかしあなたのユーザーが勤めている企業の基幹システムでは、出力するデータのフォーマットが「csv」形式か「Excel」形式かを選択可能だったりすることがあるかもしれません。そしてユーザーの中にはcsvファイルがExcelでも開けるために、両者の区別がついていない人たちが一定数存在します。この場合、どちらを選択されたとして正しく動作するように設計するのが正解と言えるかと思います。この関数では、ファイルダイアログを立ち上げてユーザーにcsvファイルかExcelファイルかを選択させ、そのファイルの絶対パスを取得します。
関数リファレンス

F0000053_ユーザーフォームのテキストボックスの入力可否を切り替える

ExcelVBA(マクロ)のユーザーフォームにはテキストボックスというオブジェクトがあり、ユーザーからの入力を受け付けたり、結果を出力したりできます。このテキストボックスには「Enabled」というプロパティがあり、入力可否の切り替えをすることができます。ただ、このプロパティを書き換えるだけでは見た目に変更がないため、ユーザーは入力可否状態を目視で認識することができません。この関数は入力可否状態を切り替えた上でテキストボックスの背景をグレーアウトします。
関数リファレンス

F0000052_配列を結合する

ExcelVBA(マクロ)で同じフォーマットのブックが複数ある。それぞれのブックには同じシート名のシートがあり、シートに配置された表を結合して、別のブックに出力する・・ということを少なからず求められることがあります。各シートの表を配列へ格納し、結合、出力シートに貼り付けみたいな動きをよくするため作りました。この関数は配列を結合して返します。
アスパLab

F0000051_データが入力されている最終の行番号を取得する

ExcelVBA(マクロ)による業務の自動化では、シートに入力されているデータを加工することが多いです。台帳や管理表に付属するマクロを考えるとき、ユーザーが行方向にデータを伸ばしていくことが想定されます。そんな時、何行目までデータが埋まっているか最終行を取得するため、セルのEndプロパティを使用して最終行を確認しましょうという記事が多いです。この関数は表に空白のレコードがある場合を想定してExcelの一番下の行からデータが入力されている行に向かってEndプロパティを実施した結果の行番号を返します。
関数リファレンス

F0000050_指定したフォルダが存在しない場合、フォルダを新規作成する

この関数についてExcelVBA(マクロ)でフォルダを作成する場合、「MkDir」もしくは「FileSystemObject」を使用するのが一般的です。しかしすでに同名のフォルダ存在していたり、存在しない階層に新たなフォルダを作成しようとす...
関数リファレンス

F0000049_指定した文字列をブック内で重複しないワークシート名称へ変換する

ExcelVBA(マクロ)でシート名を変更することは簡単です。シートオブジェクトを作成し、Nameプロパティを書き換えます。しかし、手動で実施するシート名の変更と同じく、すでに存在しているシート名を指定するとVBAはエラーを吐きます。この関数は文字列をブック内で重複しないシート名へ変換します。
スポンサーリンク