- ベストアンサー
ラベルのCaptionについて
ラベルのCaptionなのですが、Power Pointの全置換の様に 一気に換えれる方法はないのでしょうか。 それも,一つのFormではなく一つのプロジェクト毎にです。 例:[年月] → [年月日] デザイン時に置換できる方法があれば教えて もらえますか? コードで書くのであれば、プロジェクトの指定したFormのラベルのCaptionを 取得し、実行時に変換できる関数など作成できるのでしょうか? よろしくお願いします。 開発環境:visual Basic 6.0 SP5です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1の発言についての補足です。 >Labelコントロールが配列でなく、Label1,Label2となっていることを想定して書きます。 とありますが、コントロール配列でも大丈夫です。 As Object とありますが、VB5以降を使用してるのであれば、As Controlの方がメモリを消費しません。 If objTemp.Name Like "Label*" Then で文字列を比較してますが、コントロールのタイプを比較したほうが正確です。 Private Sub Command1_Click() Dim ctlObj As Control For Each ctlObj In Me.Controls If TypeOf ctlObj Is Label Then ctlObj.Caption = Format(ctlObj.Caption, "ggge年mm月dd日") End If Next ctlObj End Sub
その他の回答 (2)
- haporun
- ベストアンサー率40% (230/562)
frmファイルを秀丸とかのテキストエディタで開いて、全置換しちゃいましょう。 さすがに、プロジェクトごとには行きませんが、フォームの中に同じ言葉がたくさん入っているときは、助かると思います。 もちろん、プログラムコード内にその言葉が入っている場合は、ちょっと注意ですね。 置換してはならない部分がないか確認してからにしましょう。
お礼
やはりプロジェクトで一気に置換というのは 無理なのでしょうか? ありがとうございました。
- tetu_japan
- ベストアンサー率0% (0/2)
Labelは配列化されてますか?デザイン時のやり方はわからないですが、コードでは簡単なことだと思います。 Labelコントロールが配列でなく、Label1,Label2となっていることを想定して書きます。 Dim objTemp As Object On Error Resume Next For Each objTemp in Me.Controls If objTemp.Name Like "Label*" Then objTemp.Caption=Format(objTemp.Caption,"ggge年mm月dd日") End If Next objTemp
お礼
早速の回答ありがとうございます。 やってみます。
お礼
早速の回答ありがとございます。 さっそくやってみます。