タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

VBAに関するshey_nassyのブックマーク (4)

  • [VBA]ExcelVBAでオブジェクト指向の継承: zebratchの気まぐれ日記

    [VBAのオブジェクト指向] VBAのオブジェクト指向は、完全オブジェクト指向言語(JavaやC#等)のそれと比べると、 『子クラスのメソッドを経由して親クラスの変数やメソッドにアクセスできない』、 『子クラス内から親クラスの変数やメソッドにアクセスできない』等の制限事項がある。 [多態性(ポリモフィズム)] 『多態性(ポリモフィズム)』の説明で、 『動物』に『鳴く』メッセージを通知する例がよく挙げられる。 以下に、『多態性(ポリモフィズム)』を利用したサンプルコードを示す。 [クラス図] [クラスの説明] ・Mammalクラス 哺乳類を表すクラス。 メソッドとして、Cry()を実装。 ・Dogクラス、Catクラス、Crowクラス イヌ、ネコ、カラスを表すクラス。各々のクラスはMammal(哺乳類)クラスを継承。 メソッドとして、Mammal_Cry()を実装。 ([親クラス名]_[親クラ

    [VBA]ExcelVBAでオブジェクト指向の継承: zebratchの気まぐれ日記
  • オブジェクト指向プログラミングに関して、VBAで出来ないこと - だるまのエクセルVBA

    ここでは、オブジェクト指向プログラミングに関して、VBAで出来ないことについて説明します(※1)。 VBAでオブジェクト指向プログラミングをするときは、設計段階でVBAで何が出来ないのかを把握しておく必要があります。 出来ないことを他の方法で回避しようとすると、ソース行数が増えたり、デバッグが面倒なことになるということを覚えて欲しいです。 (実装や単体テストに工数がかかるようになるということを覚えて欲しいです。) ※1:出来ることを説明するのではなく、出来ないことを説明する理由は、GoogleVBAのヘルプにて、出来ることを調べるのは意外と簡単なのですが、出来ないことを調べるのはとても難しいからです。 (出来ないことはヘルプに載っていないことが多く、検索条件が悪かったのかの判断が難しいためです。) 1.継承がサポートされていない VBAでは継承がサポートされていません。 ※1

  • VBAで継承に代わるもの | Code++

    Office 2003 のVBAでXMLからC/C++のヘッダファイルを生成するツールを作っているのですが、Office 2003 のVBAではいまだに VB .NET のようにクラスの継承が使えません(涙) しかし、継承が使えないVBAでも Decorator Pattern を使えばクラスに機能を追加することができます♪ VBAでDecorator Patternを使って実装するとき、こんな感じになるでしょうか… (ハンガリアン記法を使っていないと怒られそうですが 汗) ' SomeObjectクラスの実装 Sub DoSomething() ... ' 何かの処理 End Sub ... ' SomeObjectDecoratorクラスの実装 Implements SomeObject Public Delegate As New SomeObject ' 継承の代わりなので最初に作

    VBAで継承に代わるもの | Code++
  • 会社でRuby使用禁止になったのなら、VBAでテンプレートエンジンを使えばいいじゃない - ランバダ

    顛末 Rubyで有名なテンプレートエンジンにERBがあります。これとExcelいじるコードを組み合わせていろいろハッピーなスクリプトを書いていたのですが、保守環境では(オトナの事情で)Rubyを使えないので困る、という話もあり、Excelの話はVBAで片付けようという気持ちにもなってきました。 VBAで使えるテンプレートエンジンはあるのかな? そういう訳でVBAでも使えるテンプレートエンジンはないかな?とググってみたところ、どうやらMini Templetorというエンジンがあることが分かりました。HTML用とか書いてありますが、別にそんなの関係ねえはずです。 GIGAZINEでは世界のPHPテンプレートエンジンとか言って紹介されていますが、JavaPHPVBAで使えます。超優秀です。 そんな訳でMini Templatorを使って簡単なサンプルを作ってみた 上図のようなレイアウトで、

    会社でRuby使用禁止になったのなら、VBAでテンプレートエンジンを使えばいいじゃない - ランバダ
  • 1