2019-10-01から1ヶ月間の記事一覧

あえて組み込みオブジェクトを低機能化させる

あえて組み込みオブジェクトを低機能化させる 組み込みオブジェクトは優秀である。 プロが作ったものなのだから、当り前である。 しかし、素人にとっては「優秀すぎて良さがわからない」こともしばしば。 そこで、初心者のうちは、 あえて低機能化させたクラ…

PropertyとSetter/Getter

PropertyとSetter/Getter 「Propertyプロシージャって、よく考えたら何なんやろ???」と思った。 現に、JavaなんかにはPropertyという仕組みはない。 比較 次のように、ParentHogeクラス、ChildHogeというクラスを作った。 ParentHogeクラスには、ChildHog…

削除しても復活するワークシートw

削除しても復活するシート 先に断っておきますが、アイディアは、ノンプロ研で出会った id:FukuCyndiP さんのものです。私はただパクっただけw ただ、某ウ〇ブカツのアホと違って、自己申告するところが人格者でしょ? 閑話休題。 このマクロの挙動 元々の…

インターフェースを実装したインターフェースを実装する

インターフェースを実装したインターフェースを実装する 何言ってんだか、わかんねえだろ? おれもよくわかっていねえんだ。 インターフェースを実装したインターフェース まず、一つインターフェースを作る。 リスト1 クラスモジュール IA Option Explicit…

名前定義とプロパティを組み合わせる

名前定義とプロパティを組み合わせる Sheet1オブジェクトのAhoプロパティ(Range型) セルの名前定義と、シートモジュールのプロパティを組み合わせて、次のようなものを作ってみた。 何をしているのかがわかりにくいので、Worksheet_Changeで、シートに変更…

Friendスコープの謎

Friendスコープの謎 クラスモジュールなどのオブジェクトモジュールでは、プロパティやメソッドのアクセス修飾子としてFriendを使うことができる。 ごく一部の人の間で有名な事実である。(ごく一部の人の間で有名であることを「有名」と言うのかどうかは知…

セル範囲への名前定義を使わなくなった理由

セル範囲への名前定義を使わなくなった理由 ズバリこれ こういうところ。 おわりに ただし、セル範囲への名前定義については、まだよく理解できていない点が多い。 行や列の挿入、削除に追従してくれるところは、確かに得がたい特性(VBAになくて、ワークシ…

ファイルの更新日時を変更する

ファイルの更新日時を変更する ちょっと調べてみた。すると、 www.tipsfound.com コチラがヒット。曰く、 ファイルに日時を設定 FileSystemObject や VBA の標準機能には日時を変更する機能はありません。代わりに Shell.Application を使って更新日時の変更…

Worksheetクラスを継承したクラスを作る(7)

Worksheetクラスを継承したクラスを作る(7) ここまでの経緯はコチラからどうぞ。 Moveメソッドのオーバーライドw いよいよMoveメソッドにまでたどり着いた。思えば遠くへ来たもんだ。 もともとSub、すなわち返り値なしのメソッドだが、Copyメソッド同様、移…

予約語を判定するFunction

予約語を判定するFunction 作った。 予約語リストを手に入れる 手っ取り早く kazusa-pg.com こちらの方がうpしているやつをいただいた。 ありがとうございます。 予約語を判定するメソッドのコード むつかしく考えずに……。 リスト1 標準モジュール Public …

Worksheetクラスを継承したクラスを作る(6)

Worksheetクラスを継承したクラスを作る(6) 地味~に作業を続けています。 これまでの栄光の軌跡は、コチラをどうぞ。 ExportAsFixedFormatメソッドの実装時に小ハマり ついにExportAsFixedFormatまでたどりついた。 オブジェクト ブラウザーに、 Sub Export…

行高・列幅だけをコピーする

行高・列幅だけをコピーする たぶんExcelのヴァージョン違いが原因だと思うのだけれど……。 ラベル用紙に印刷できるように設定してあったシートの寸法がめちゃくちゃになってしまった……。 とりあえず、原本から行高と列幅だけをコピーしたかったのだが、サク…

Worksheetクラスを継承したクラスを作る(5)

Worksheetクラスを継承したクラスを作る(5) 過去記事はコチラから。 おなじみ、PoweredSheetクラスに、Cellsプロパティとか、Columnsプロパティを実装するのがむつかしいなーと思っていたのだが、 akashi-keirin.hatenablog.com コチラへのことりちゅん (id:…

Worksheet.Columnsプロパティの引数?

Worksheet.Columnsプロパティの引数とは? [Worksheet].Columnsプロパティの引数なんて、てっきりIndex As Variantだと思っていたのだが、みんな大好き『Office デベロッパー センター』のWorksheet.Columns property (Excel)の項には引数に関する記載がない…

CircleInvalidメソッドというものがある

CircleInvalidというメソッドがある 知ってました? 私は知りませんでした。 大絶賛シリーズPoweredSheetプロジェクトに取り組んでいるときに発見。 WorksheetクラスのメソッドにCircleInvalidというメソッドがあったのだった。 名前だけ見ても何をするメソ…

Worksheetクラスを継承したクラスを作る(4)

Worksheetクラスを継承したクラスを作る(4) すでに「継承」というのは詐欺同然の題名である。 akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com 懲りずに続ける。 Cellsプロパティの実装 実は、数々の挫折にもめげ…

Worksheetクラスを継承したクラスを作る(3)

Worksheetクラスを継承したクラスを作る(3) akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com つづき。 実は、頓挫した理由はまだまだある。 Worksheet型変数(引数)にそのまま突っ込めない問題 考えてみたら当り前のことで、今回のPoweredSheet…

Worksheetクラスを継承したクラスを作る(2)

Worksheetクラスを継承したクラスを作る(2) 久しぶりに akashi-keirin.hatenablog.com の続き。決して忘れていたわけではありませぬ。 いきなり頓挫 実は、 いきなり頓挫 していたのである。 これでおわかりだろうか。 なんと、基本中の基本メソッドSelectが…