[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/09/23(Sat) 11:16
投稿者名:卞和
Eメール:
URL :
タイトル:
オブジェクト単位での全プロパティの一括コピー
お世話になります。

テキストボックスなど、オブジェクトのプロパティを一括で
他のテキストボックスのプロパティに設定する方法はありませんか?

検索は一通りかけたのですが、プロパティ+αというキーワードでは
Hit数が多すぎて目を通せませんでした。

ひとつひとつ、↓の用に記述しても良いのですが、
text1.Caption =  text2.Caption
(続けて、全プロパティを個別に設定)
コードも汚いですし、なにより記述漏れ等があったりすると後が大変なので、
一括でオブジェクトのプロパティをコピーする方法があったら教えて下さい。

環境は、XPでVB6.0です。

投稿時間:2006/09/23(Sat) 11:58
投稿者名:
Eメール:
URL :
タイトル:
Re: オブジェクト単位での全プロパティの一括コピー
> お世話になります。
>
> テキストボックスなど、オブジェクトのプロパティを一括で
> 他のテキストボックスのプロパティに設定する方法はありませんか?
>
> 検索は一通りかけたのですが、プロパティ+αというキーワードでは
> Hit数が多すぎて目を通せませんでした。
>
> ひとつひとつ、↓の用に記述しても良いのですが、
> text1.Caption =  text2.Caption
> (続けて、全プロパティを個別に設定)
> コードも汚いですし、なにより記述漏れ等があったりすると後が大変なので、
> 一括でオブジェクトのプロパティをコピーする方法があったら教えて下さい。
>
> 環境は、XPでVB6.0です。
無いと思います
なので自分でその「オブジェクトのプロパティー」とやらの必要な事項を洗い出して、
それらのコピーをする関数を作る必要があるかと

投稿時間:2006/09/23(Sat) 12:44
投稿者名:ヤマ@文系
Eメール:
URL :
タイトル:
Re^2: オブジェクト単位での全プロパティの一括コピー
も 様のおっしゃるとおりなさそうです。
どうせやるのなら
コントロール配列にして
text1(0),text1(1)
にすればプロパティに同じものを代入するのが楽になるかと思います。

投稿時間:2006/09/23(Sat) 12:44
投稿者名:卞和
Eメール:
URL :
タイトル:
やっぱり無いんですかね・・・。あると非常に助かるのですが・・・
も様。ご回答有難う御座います。
休日中にご回答頂き本当に感謝しております。

さて件の話ですが、周りの人に聞いてもないんじゃないかな〜っていう反応ではありました。。
オブジェクト単位でのコピーをうまく使ってできないかと色々試してはいるのですが…
やっぱり無理ですかねぇ…

定期的に閲覧してます。
もしあれば、非常に助かるのですが・・・
どなたかご存知の方いらしましたら是非是非、ご教授くださいませ。
これが、あると非常に助かりますので。

では、も様。重ねてになりますが、回答有難う御座いました。
素早い返信、大変嬉しかったです。

投稿時間:2006/09/23(Sat) 18:02
投稿者名:ダンボ
Eメール:
URL :
タイトル:
Re: やっぱり無いんですかね・・・。あると非常に助かるのですが・・・
動的なコントロール配列になるが、雛形のテキストボックスTEXTBOX(0)を設計しておいて、
Load命令で生成していけば、Visible,Index,TabIndex以外のプロパティは
同じものが作れます。TopやLeftまでも同じになるからプログラム上で再配置しないと
いけないですけれど。

投稿時間:2006/09/23(Sat) 21:32
投稿者名:卞和
Eメール:
URL :
タイトル:
皆様ありがとうございます。
成るほど、プロパティをコピーという明示的な方法は無いんですね。。残念至極!

とりあえず。オブジェクトの設定を一時退避すると言う目的で使用する為、
新規にオブジェクトを作成する方法では、退避できないかなと思っております。

A->Bでプロパティ退避
B->Aでプロパティを戻す

という感じなので・・・

とりあえず、も様の方法でやってみます。
も様
ヤマ@文系様
ダンボ様

本当に有難う御座いました。
ネットでもう少し調査した上で仕掛かってみます。

投稿時間:2006/09/23(Sat) 21:03
投稿者名:
Eメール:
URL :
タイトル:
Re: やっぱり無いんですかね・・・。あると非常に助かるのですが・・・
もし、もしもどこでも動く保証がなくてもよく尚且つやや泥臭くてもいいならば、
TypeLib Information(TLBINF32.DLL)について調べてみてください

…私なら先に申し上げたとおり、必要な事項をリストアップして次のような関数を作ってしまいますが;
public sub hoge(byval srcTxt as textbox, byval dstTxt as textbox)
  <ここで、コピーの必要なdstTxtのプロパティにsrcTxtのプロパティの値を代入していく>
end sub

ところで、「プロパティの値」という抽象的な表現ですが、
何も考えずに「TextSrcというテキストボックスとまったく同じ」にするようでしたら
「TextSrcという名前(Nameプロパティ)は一つしか存在できないので、全く同じのは出来ない」という結論に達したりしませんか?
何が必要で何が必要でないかを考えてみてください