• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA オブジェクト追加)

VBAオブジェクト追加

DexMachinaの回答

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

> ちなみに、aaaオブジェクトの詳細はブラックボックスです。 これが「ユーザーにとってブラックボックス」というだけならよいのですが、 もしも「プログラマ(tmk2zさん)にとってもブラックボックス」ということだと、 aaaオブジェクトに予め「ユーザー定義のプロパティ追加するメソッド」が 用意されていない限り、無理ではないかと思います。 【AccessVBAでの例】 A)DAO.Databaseへの、独自定義のプロパティの追加  予め「CreateProperty」メソッドが用意されている  →これを使用することで、そのデータベースの内部構造がわからなくても、    独自に定義したプロパティを追加できる。    (展開中のmdbファイル以外のmdbファイル(=詳細が不明のブラック    ボックス)でも、OpenDatabaseで接続を確立できさえすれば、独自    プロパティの追加が可能) B)Formオブジェクトへの、独自定義のプロパティの追加  プロパティを追加するメソッドは用意されていない  →当該フォームのクラスモジュールに、プロパティの定義を直接記述する    必要があるため、ブラックボックス(=クラスモジュールが開けない)では    対応不可 とりあえず、プログラマにとってはaaaオブジェクトもブラックボックスではない、 ということでしたら、クラスモジュールを使用することで、「aaa.BBB.CCC」と いった形の参照は可能にできます(→プロパティなどをPublicで宣言すれば Ok)。 また、Publicで宣言されたプロパティなどは、コーディング時の参照リストに 自動的に追加されます。 (「aaa.BBB.CCC」の形の記述は可能だがリストには追加しない、或いは  その逆というのは(→つまりそれぞれを個別に設定)、多分無理) おおまかには、以下のような流れになるかと思います。 1)「BBB」を定義するクラスモジュールを作成 2)上記モジュール「CCC」「QQQ」といったプロパティやメソッドの定義・動作を   記述し、保存 3)「aaa」オブジェクトを定義したクラスモジュールに「BBB」プロパティを追加し、   そのデータ型を「1)」で定義したクラスとして宣言 ・・・具体例な話でないため、わかりにくいかとは思いますが(汗)、参考まで。

tmk2z
質問者

お礼

DexMachinaさん、 ご回答ありがとうございます。大分クリアになってきました。 残念ながら、こちらでもaaaはブラックボックスなんです。 追加で質問ですが、今回は仕方がなく、aaaの代わりに DexMachinaさんのアドバイスの下、aaabというクラスモジュールを 作ってこれに、BBBやCCCを追加していこうと思っていますが、 この場合同一プロジェクト内でもこう言った細工が出来ますでしょうか? aaab.BBB.CCCを作成してみた所、BBBの下にBBB自身が見えてしまって… こう言った場合、どういった作り方をすれば良いでしょうか? よろしくお願い致します。

関連するQ&A

  • 全てのプロパティが空白のオブジェクトは・・。

    例えば、 「aaa」、「bbb」、「ccc」とプロパティを持つオブジェクト「$obj_test」で、 $obj_test->aaa = "" ; $obj_test->bbb = "" ; $obj_test->ccc = "" ; とした場合、「empty($obj_test)」では真とはなりません。 全てのプロパティが空白のオブジェクトを、emptyと瞬時に判断する関数または方法はあるでしょうか?

    • ベストアンサー
    • PHP
  • ピポッド 集計の追加

    ご存知の方、お知恵をお貸し下さい。 現在、下記のようなピポッドを組んでいます。 グループ1  AAA (AAAの合計、以下aaa+bbb+cccの合計) aaa bbb ccc        BBB (BBBの合計、以下ddd+eee+fffの合計) ddd eee fff CCC (CCCの合計、以下ggg+hhh+iiiの合計) ggg hhh iii グループ2・・・以下続く 上記に、BBBとCCCだけの合計を、(グループ1の中に)追加したいのです。 このように、合計したい項目だけを指定して 集計する事は可能でしょうか? 数式の集計アイテムの追加を行いましたが 上手くできませんでした。 ご存知の方、ご教授いただければ幸いです。 宜しくお願い致します。

  • powershellのelect-Object

    powershellですが、Get-xxxxの結果に対してSelect-Objectで取り出しています。 出力結果に文字列、$LISTの値をを追加、結合したいのですができません。 $LISTS='aaa','bbb','ccc' foreach($LIST in $LISTS) { Get-xxxxx $LIST -Properties hogeプロパティ | Select-Object -Expand hogeプロパティ } aaa,内容1 aaa,内容2 bbb,内容1 bbb,内容2  :  : ccc,内容3 というようにしないのですができなのでしょうか。 dir *.txt | select-object -expadn fullname とすると コマンドを実行したカレントディレクトのファイル名がフルパスで表示されます その結果の前でも後でもいいのですが、任意にの文字列を追加したいのですが、 できるのでしょうか。 1,c:\tmp\a.txt 2,c:\tmp\b.txt : 10,c:tmp\c.txt という具合です。 お願いします。

  • VBA の Application.Run でエラー発生

    独学で勉強したVBAなのですが、とても困っています。 AAA.xls BBB.xls CCC.xls というファイルがあるとします。 AAAを起動すると、BBBを起動して、 Application.Run "'BBB.xls'!TEST" で、BBBのTESTを実行するようにしています。 TESTを実行すると、 Workbooks.Open filename:=ActiveWorkbook.Path & "\CCC.xls", Password:="XXX", WriteResPassword:="XXX", ReadOnly:=True でCCCを起動して、CCCのシートの値をBBBにコピーしてくるようにしています。この一連の処理において、 「実行時エラー'2147352567(80020009)' 'Run'メソッドは失敗しました:'_Application'オブジェクト」 が発生します。 これらは共有サーバー上で動作させているのですが、 困ったことに、エラーが発生する人と、そうでない人がいます。 理由が全くわからず、非常に困っています。 教えていただけたらとても助かります。 何卒よろしくお願いいたします。

  • フリー配布CGIのファイル名変更

    お世話になります。 メールで受信するフォームでを作っていますが、CGIを自分で組めないため配布CGIを利用させていただいてます。フリー配布CGIなのでカスタマイズ可能なのですが、ファイル名を変更しても機能するのか教えてください。 例えば <AAA>フォルダ  │--bbb.cgi  │--fff.pl  │--ccc.html があります。ccc.htmlを動かすためのbbb.cgiです。 もうひとつCGIを入れたいフォームeee.htmlが有る場合、上記のフォルダとファイルをコピーしてファイル名を変更して利用することはできますか? │ │--<AAA>フォルダ │   │--bbb.cgi │   │--fff.pl │   │--ccc.html | │--<DDD>フォルダ     │--bbb2.cgi     │--fff2.pl     │--eee.html ccc.htmlとeee.htmlのフォームの内容は異なるのですが、ファイル名を気軽に変更したcgiファイルでも大丈夫でしょうか? または、<AAA>にeee.htmlを入れてbbb.cgiを共有させることはできるのでしょうか?(<DDD>フォルダ以下はなしで) プログラムファイルを壊してしまうのが怖くてなかなか実行できないでいるのです。 抽象的な質問ですみませんが、よろしくお願いします。

    • ベストアンサー
    • CGI
  • 動的IP(ADSL)+ダイナミックDNS+webサーバー

    動的IPでダイナミックDNSを利用して、 webサーバを公開したく思っているのですが… 取得したサブドメインが aaa.bbb.ccc とした場合、 www1.aaa.bbb.ccc www2.aaa.bbb.ccc という風にして公開することは可能でしょうか? 可能な場合、DNSサーバを立ち上げる必要があるのでしょうか? それともバーチャルホスト機能で出来るでしょうか? 今考えてるのは、一台のサーバマシンで 異なったコンテンツをそれぞれ www1.aaa.bbb.ccc www2.aaa.bbb.ccc として表示させたいのですが、 ゆくゆくは2台に分けてと思ってます。 良きアドバイス宜しくお願いします。

  • 配列のソート

    教えていただけますか? 一つの配列にサイズの異なるオブジェクトがいくつか入っています。 もう一方にもサイズの異なるオブジェクトがいくつか入っています。 双方の配列内のオブジェクトは同一ではありません。 しかしサイズが同一の異なるオブジェクトが対として入っています。 双方配列内のオブジェクトを同じサイズの順番で並ぶように、片方の配列の順番を並べ替えるにはどのようなアルゴリズムがよいのでしょうか? よろしくお願いします。 例 配列A (aaa:size5) (bbb:size3) (ccc:size2) (ddd:size9) 配列B (ppp:size9) (qqq:size3) (rrr:size2) (sss:size5) を 配列A (aaa:size5) (bbb:size3) (ccc:size2) (ddd:size9) 配列B (sss:size5) (qqq:size3) (rrr:size2) (ppp:size9)

  • 別シートの値を検索して一致したものを合計する

    excelvba初心者です。 お手数おかけします。 難問なのかどうかもよく分からず。。困っています。 シート1       シート2   シート3 AAA 100     AAA 50      BBB 20 BBB 200   CCC 150   CCC 30 DDD 300   QQQ 250   DDD 10 EEE 400     WWW 350  RRR 40 上記の値を決められた順番に別シートに集計したい(その時に、値を1/10にしたい) シート4 AAA 150 BBB 220 CCC 180 DDD 310 EEE 400 FFF 0 GGG 0 www 350 findでAAAを検索し見つかった値を ifにて条件分岐させるものをつくったものの プロシャーシーが大きすぎと言われてできません。 どなたか教えていただけないでしょうか。

  • SQL Server:UNIONで結合した結果にIDを追加するには?

    いつも参考にさせて頂いています。 下記のような、テーブル、tabAとtabBを UNIONした結果にcol1の昇順でIDカラムをを追加して 表示するにはどのようなSQL文を書けばよろしいでしょうか? ご存知の方、宜しくお願い致します。 【tabA】 col1 col2 --------- 100 AAA 110 BBB 120 CCC 【tabB】 col1 col2 --------- 200 XXX 210 YYY 220 ZZZ 【結果】 ID col1 col2 ------------ 1 100 AAA 2 110 BBB 3 120 CCC 4 200 XXX 5 210 YYY 6 220 ZZZ

  • エクセル 日程表

    作業時間を別フォームに転記するため、日にち指定で項目&時間を抜き出す方法がありましたら教えて下さい。 項目1...項目2...1.....2.....3..←日にち AAA.....QQQ......8..........←時間 BBB.....WWW.............6 CCC.....EEE..............2 上記のフォームを読み込み、 "別シート"に日にちを指定すると項目と時間が表示される。 例えば「2」日と指定すると BBB.....WWW...........6 CCC.....EEE.............2