これで楽に!?VBA活用こんにちは、Ryoです。VBAでも指定したドライブの総容量や空き容量を取得することが可能なので、使用容量を算出することも出来ます。用途としてはドライブ管理を目的として適宜情報を取得し一定容量以下であればアラートを出すなどが可能ではないかと思いますので、今回はその方法について書いていきます。1.サンプル概要サンプルとして以下画像に示すワークシートに「Cドライブ」とフラッシュメモリ「Eドライブ」の総容量、空き容量、使用容量を簡潔に書いた表があるとします。この表にサンプルコードを実行することで次のように容量を取得し表示することが出来ます。私が普段使うノートPCなので容量は少ないのですが、このように取得し表示することが可能なので、状況をモニタリングすることも出来るかと思います。Sub先ず指定したドライブの総容量を取得するにはTotalSizeプロパティを使用します。オブジェクト.TotalSizeこのような形になりますが、オブジェクトにはFileSystemObjectのDrivesオブジェクトを指定しますので、DrivesオブジェクトはGetDriveメソッドを使って取得します。CreateObject(“Scripting.FileSystemObject”)ここでFileSystemObjectを作成、変数に代入しています。FSO.GetDrive(“C”)次にCドライブをDriveオブジェクトとして取得し、その後の処理を実行します。“#,###”)ここでは.TotalSizeで総容量を取得しますが、バイト単位となっている為1024で除算を繰り返すことによりGB単位に換算しています。“#,###”)オブジェクト.FreeSpace空き容量についても.FreeSpaceで取得した以降は処理として同様になります。後は総容量から空き容量を減算することで使用容量を求め、指定セルに書き込んでいます。FSO.GetDrive(“E”)とEドライブを指定し、他はCドライブ処理と同様になります。2ドライブの容量取得が終われば、後はセル表示の体裁として範囲指定の文字位置右詰めを行っていますが、ここは無くても特に問題はありません。3.まとめVBAで処理する際に日々データ集計して複数ファイル保存を行っていくような場合は、容量の監視を求められることもあるかもしれませんので、そんな時に使えるかと思います。それほど使用頻度が高くないとは思いますが、このように容量を取得することも出来るということを知っておくと幅が広がりますので、何か機会があればご検討してみてくださいませ。以上、ドライブの容量を取得する(総容量/空き容量)方法についてでした!今回の記事が何かの参考になれば幸いです。【VBA】エラー発生時に警告音を鳴らすVBAで処理する際にエラー発生などでメッセージボックスを表示することはありますが、状況によっては音(警告音)を鳴らすことで視覚以外にも伝えることが出来ますから有効です。今回はそんな時に使えるBeepステートメントについて書いていこうと思います。記事を読む【VBA】テーブルのデータをリストボックスで編集するテーブル上のデータメンテナンスを目的としてユーザーフォームのリストボックスにデータを取込み、その中でデータ入れ替えをテーブルと連動させて実行したり、番号の振り直しやセルへの書込み、リストボックスをマウスホイールでスクロールさせる方法などを活用例の1つとして書いてみましたので、内容を紹介したいと思います。記事を読む【VBA】ブックを保護する/保護を解除するExcelで扱うブックの中にはユーザーに構成などを操作されないように保護したいケースもあると思いますが、VBAでブックの保護/保護解除をパスワードを指定して処理することが可能です。ブックを開いた時点で保護された状態とすることも可能ですので、今回はその方法について書いてみたいと思います。記事を読む【VBA】コンボボックスに既定値を設定するユーザーフォームのコンボボックスはリストを設定しておけば入力の手間が省けるので利用する機会も多いと思います。そのコンボボックスで表示させる値や文字など、選択することが多いものがあれば初期値(既定値)として予め指定することも可能なので、今回はその方法について書いていきます。記事を読む【VBA】シート連続コピーのエラー回避/末尾へコピーする用途によってはExcelのSheetを複数、又は大量にコピーすることがあると思いますが、この時にブックに定義名が付いていると「1004」エラーが発生することがあります。今回はそのエラー発生の確認と対処、参考としてワークシート末尾へのコピーについて書いていきます。記事を読む【VBA】Excelのステータスバーに文字を表示する!VBAで処理する際に時間がかかる場合がありますが、進行状況などを表示しないとユーザー側で「あれ?フリーズか?」と誤解を招くことがあります。そんな時に手軽に処理中であることを表示できる方法としてExcelのステータスバーに文字列を簡単に表示する方法がありますので、紹介したいと思います。記事を読む【VBA】ユーザーフォームでパスワード入力画面をつくるVBAで作成したものを実行する際にユーザーを不特定多数ではなく、限定したいケースもあるかと思います。そんな時に使い道がありそうなPassword(パスワード)入力画面をUserForm(ユーザーフォーム)でつくる方法について書いてみたいと思います。VBAで処理結果をアウトプットするだけでは使い難いことこの上ないものになりますから、視覚的にわかりやすくする配慮も必要と考えます。視覚的に訴える上で欠かせないのは図形(オートシェイプ)の活用ですから、今回は図形を作成、及びテキスト(文字)を表示する方法について書いてみようと思います。記事を読む【VBA】ワークシート表示/非表示を切り替えるVBAで処理する都合上、設定用のワークシートを作ることもあるかと思いますが、このシートはユーザーに触れてほしくない部分ですから保護したいですよね。そんな時に使えそうなのがワークシート表示/非表示の切替えですが、指定によってはExcel上の操作から再表示させないことも出来ますので、今回はその方法について書いてみます。記事を読む【VBA】ワークシート右クリックのショートカットメニューを作成するVBAで処理を行うWorksheetでは、場合によってユーザー操作をコントロールしたいこともあると思います。その際の一つとしてシート上の右クリックで表示されるショートカットメニューの表示と作成、実行について書いていきたいと思います。※当サイトはロリポップ!のハイスピードプランです。はじめまして!Ryoと申します。中小企業製造メーカー勤務で主に生産技術業務に勤しむ一方、社内PC管理やVBAで業務効率化を図る日々を送っていますので、これまでの経験や実践してきた内容をここで発信していきたいと考えています。困った時の一助になれるようなブログ作りを目指します。「自恃ろぐ」はAmazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。