VBA自作クラス
カスタムDictionaryクラスを作ろう(13) akashi-keirin.hatenablog.com 重大な見落としがありました。 これがほんとの最後の仕上げです。 過去記事 第1回:クラス モジュールの作成 第2回:CompareModeプロパティの実装 第3回:Add()メソッドの実装 第4回:Ex…
カスタムDictionaryクラスを作ろう(12) akashi-keirin.hatenablog.com 最後の仕上げです。 過去記事 第1回:クラス モジュールの作成 第2回:CompareModeプロパティの実装 第3回:Add()メソッドの実装 第4回:Exists()メソッド、Countプロパティの実装 第5回…
カスタムDictionaryクラスを作ろう(11) akashi-keirin.hatenablog.com 前回の続きです。 過去記事 第1回:クラス モジュールの作成 第2回:CompareModeプロパティの実装 第3回:Add()メソッドの実装 第4回:Exists()メソッド、Countプロパティの実装 第5回:…
カスタムDictionaryクラスを作ろう(10) akashi-keirin.hatenablog.com 前回の続きです。 過去記事 第1回:クラス モジュールの作成 第2回:CompareModeプロパティの実装 第3回:Add()メソッドの実装 第4回:Exists()メソッド、Countプロパティの実装 第5回:…
カスタムDictionaryクラスを作ろう(9) akashi-keirin.hatenablog.com 前回の続きです。 過去記事 第1回:クラス モジュールの作成 第2回:CompareModeプロパティの実装 第3回:Add()メソッドの実装 第4回:Exists()メソッド、Countプロパティの実装 第5回:I…
カスタムDictionaryクラスを作ろう(8) akashi-keirin.hatenablog.com 前回の続きです。 過去記事 第1回:クラス モジュールの作成 第2回:CompareModeプロパティの実装 第3回:Add()メソッドの実装 第4回:Exists()メソッド、Countプロパティの実装 第5回:I…
カスタムDictionaryクラスを作ろう(7) akashi-keirin.hatenablog.com 前回の続きです。 過去記事 第1回:クラス モジュールの作成 第2回:CompareModeプロパティの実装 第3回:Add()メソッドの実装 第4回:Exists()メソッド、Countプロパティの実装 第5回:I…
カスタムDictionaryクラスを作ろう(6) akashi-keirin.hatenablog.com 前回の続きです。 過去記事 第1回:クラス モジュールの作成 第2回:CompareModeプロパティの実装 第3回:Add()メソッドの実装 第4回:Exists()メソッド、Countプロパティの実装 第5回:I…
カスタムDictionaryクラスを作ろう(5) akashi-keirin.hatenablog.com 前回の続きです。 過去記事 第1回:クラス モジュールの作成 第2回:CompareModeプロパティの実装 第3回:Add()メソッドの実装 第4回:Exists()メソッド、Countプロパティの実装 Itemプロ…
カスタムDictionaryクラスを作ろう(4) akashi-keirin.hatenablog.com 前回の続きです。 過去記事 第1回:クラス モジュールの作成 第2回:CompareModeプロパティの実装 第3回:Add()メソッドの実装 Exists()メソッドの実装 仕様を調べる 例によってオブジェ…
カスタムDictionaryクラスを作ろう(3) 過去記事 第1回:クラス モジュールの作成 第2回:CompareModeプロパティの実装 akashi-keirin.hatenablog.com 前回の続きです。 Add()メソッドの実装 仕様を調べる まずは、オブジェクト ブラウザーで仕様を調べます。…
カスタムDictionaryクラスを作ろう (2) akashi-keirin.hatenablog.com 前回の続き。 CompareModeプロパティの実装 では、手始めにCompareModeというプロパティを実装してみましょう。 CompareModeプロパティは 文字列を比較するメソッドを設定します。値の取…
カスタムDictionaryクラスを作ろう (1) Scripting.Dictionaryオブジェクトは、VBAの貧相なデータ構造の中でも抜群に高機能なデータ構造オブジェクトです。 ただ、VBAに標準で組み込まれているオブジェクトでないため、使おうとすると次のどちらかの制約に悩…
カスタムプロパティ・メソッドの説明をオブジェクトブラウザに表示させる 当方、10年以上のキャリアを誇るVBA上級者(ダニング・クルーガー効果)だというのに知りませんでした。 こんなことができるって、知ってました? ふつうの状態 これは、クラスモジュ…
EasyTextFileクラスは今…… クラスモジュールのコード ただ、クラスモジュールのコードを晒すだけ……。 たぶん、盛大にヌケやモレがあると思うし、そもそもTextStreamオブジェクトのこととかADOSteramオブジェクトのことをろくに理解もせずに、手探りで書いた…
簡易版TextFileクラスを作った テキストファイルの扱いとか、FileSystemObjectのTextStreamオブジェクトとか、ADODBオブジェクトあたりのことがよくわかっていないので、テキストファイルの中身を簡単に取得するためのクラスを作った。 クラスモジュールを触…
「ネオ写経」のすすめ 新型コロナウイルス対応で外出の自粛が求められる中、みなさまいかがお過ごしでしょうか。 ろくにテレワーク環境も整っていないのに、「とにかくテレワークだ!」的に導入されてしまった事業所も、それなりにあると思います。 個人的に…
ハイライト部分を切り替えるマクロ コードだけ掲載しておく。 クラスモジュールと標準モジュールを使った。 ハイライト部分を保持するクラス ハイライト部分を保持し、ハイライト部分の再取得、ハイライトのオンオフ切り替えができるようなオブジェクト。 ク…
ズンドコ節で遊ぶ ノンプロ研のSlackのチャンネルに「今週のお題」というやつがある。毎週一つ、ちょっとした「お題」(〈数字をローマ数字に変換する関数を作れ〉とかそういうやつ)がランダムに出される。 今回、 「ズン」と「ドコ」をランダムで出力し、…
配列もCollectionも使わないデータ構造(Queue) 前回、前々回 akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com のStackに続いて、Queueも作った。 コードを簡単にするために、今回もString型データ専門。 値なら何でもオッケーにしたければ、Va…
配列もCollectionも使わないデータ構造 久しぶりに 『VBA Developer's Handbook』を読んだ。 「Chapter 6」の「Creating Dynamic Data Structures Using Class Modules」のところに、実に面白いことが書いてあったので、やってみた。 Stackを二つのクラスモ…
UTF-8のテキストファイルを操作するクラス 作った。 何のために? foobar2000のプレイリストファイルのドライブレター部分を一括して書き換えるために。 決して仕事のためではない。 だから、全然「働き方改革」とは関係ない。許せ。 UTF8TextFileクラスのコ…
Worksheetクラスを継承したクラスを作る(7) ここまでの経緯はコチラからどうぞ。 Moveメソッドのオーバーライドw いよいよMoveメソッドにまでたどり着いた。思えば遠くへ来たもんだ。 もともとSub、すなわち返り値なしのメソッドだが、Copyメソッド同様、移…
Worksheetクラスを継承したクラスを作る(6) 地味~に作業を続けています。 これまでの栄光の軌跡は、コチラをどうぞ。 ExportAsFixedFormatメソッドの実装時に小ハマり ついにExportAsFixedFormatまでたどりついた。 オブジェクト ブラウザーに、 Sub Export…
Worksheetクラスを継承したクラスを作る(5) 過去記事はコチラから。 おなじみ、PoweredSheetクラスに、Cellsプロパティとか、Columnsプロパティを実装するのがむつかしいなーと思っていたのだが、 akashi-keirin.hatenablog.com コチラへのことりちゅん (id:…
Worksheetクラスを継承したクラスを作る(4) すでに「継承」というのは詐欺同然の題名である。 akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com 懲りずに続ける。 Cellsプロパティの実装 実は、数々の挫折にもめげ…
Worksheetクラスを継承したクラスを作る(3) akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com つづき。 実は、頓挫した理由はまだまだある。 Worksheet型変数(引数)にそのまま突っ込めない問題 考えてみたら当り前のことで、今回のPoweredSheet…
Worksheetクラスを継承したクラスを作る(2) 久しぶりに akashi-keirin.hatenablog.com の続き。決して忘れていたわけではありませぬ。 いきなり頓挫 実は、 いきなり頓挫 していたのである。 これでおわかりだろうか。 なんと、基本中の基本メソッドSelectが…
VBAでwavを鳴らしたらち~んw珍現象が起きた 解決方法を知っている人がいたら、教えろ教えてください。 KitchenTimerクラス 前に、 akashi-keirin.hatenablog.com こういうものを作ったら、職場で割とウケたので、「残り時間を表示するカウントダウンタイマ…
Worksheetクラスを継承したクラスを作る 超絶アホ企画。 少しオブジェクト指向をかじったVBAerなら、VBAのクラスモジュールに「継承」がないことは当然知っているだろう。 だから、あくまでも「擬似継承」である。 っていうか、ほとんど嘘である。 擬似継承…