小さなクラス

Excelのブックを複製するクラス

子ブックを生み出すクラス 元のブックを開いたままでコピーを作成する 元のブックのシートにデータを入力しては別名で保存して、同じ様式でデータの異なるたくさんのブックを作りたいというときがある。 Worksheetオブジェクトの場合なら、Copyメソッドがあ…

任意のワークシートを新規Excelブックとして出力するクラス

ワークシートを新規Excelブックとして出力するクラス ワークシートを新規Excekブックとして出力する 名簿なんかの一覧表をマクロで自動作成して、相手方にPDFで提供すると、しばしば 加工したいからExcelのままでくれ! と言われることがよくある。 大量(っ…

データ抽出用クラスを作る

データ抽出用のクラス AdvancedFilterメソッドを気軽に使う あんまり役に立たないと思うけど、ちょっと作ってみた。 準備として、 データ抽出元のシートを用意。 こんなふうに抽出条件設定用の表を作り、 セル範囲に名前を付けておく。 ちなみに、抽出条件は…

小さなクラスを作る(7)~セルの列符号が簡単に取得できるラッパークラス

列符号取得が可能なRangeオブジェクトのラッパークラス きっかけ 「列番号はColumプロパティで簡単に取得できるのに、列符号って取り出しにくいよなー」と思って、コチラを参考にXDF列までに対応した自作関数を作ったのがそもそもの始まり。 他のよく使う機…

小さなクラスを作る(6)~WordドキュメントをPDFに変換する

WordドキュメントをPDFに変換して保存する 仕様 Wordドキュメント そのWordドキュメントがあるフォルダパス ファイル名 以上3つをフィールドとして持つ。 メソッドは今のところ一つだけ。 WordドキュメントをPDFにして指定のフォルダに保存する 元のWordド…

小さなクラスを作る(5)~エラーキャッチをするクラス

エラーキャッチをするクラスを作る そんなことをする意味があるのかどうかはともかく、エラー時にメッセージを表示させるという処理もよく使うので、作ってみた。まあ、何でもかんでもクラスを作っていったら、そのうちコツがつかめるだろうということで勘弁…

小さなクラスを作る(4)~フォルダ作成クラス

きっかけ 写しハンコつきPDFを作るマクロのコードを見直していると、メインの「写しPDFを作るクラス」が結構複雑なクラスになっていることが分かった。ざっと挙げると、 元のWordドキュメントに画像があるかどうかチェック ハンコ用の画像ファイルが実在する…

Thunderbirdメール自動作成マクロを改良した

準備 セルに名前をつける。 こんな具合に「ThunderBirdPath」と名前をつけた。 標準モジュールのコード Sub getThunderbirdPath() Set flp = New FilePicker '……(1) With flp .showFilePicker ("Thunderbirdの実行ファイルを指定せよ(ショートカットでも良…

小さなクラスを作る(3)~ファイルを選択させる

ファイルを選択させるやつも作ってみた。 例によってクラスモジュールを挿入。オブジェクト名はFilePickerにした。 クラスモジュールのコードは下記の通り。 Option Explicit 'フィールド Private gotFileFullPath_ As String Private isCancelled_ As Boole…

小さなクラスを作る(2)~他のアプリケーションの起動チェック

LotusNotesのメールをExcelVBAで自動作成するときは、そもそも自分のアカウントでNotesに接続していないといけない。 「でも、他のアプリケーションが起動しているかどうかなんて、どうやって判定できるんだろ?」とggっていてわりかしあっさりとたどり着い…

小さなクラスを作る(1)~フォルダ選択機能

twitterのフォロワーさんからのアドヴァイス。 曰く、よく使う機能はクラスにしといた方がいいぜと。なるほど。今まで、よく使う処理をSubやFunctionにまとめて一つのモジュールに集めておいて、ライブラリ的に使っていたけど、結局、 どこに何を書いていた…