ラベルのCaptionなのですが、Power Pointの全置換の様に
一気に換えれる方法はないのでしょうか。
それも,一つのFormではなく一つのプロジェクト毎にです。
例:[年月] → [年月日] 
デザイン時に置換できる方法があれば教えて
もらえますか?
コードで書くのであれば、プロジェクトの指定したFormのラベルのCaptionを
取得し、実行時に変換できる関数など作成できるのでしょうか?

よろしくお願いします。

開発環境:visual Basic 6.0 SP5です。

A 回答 (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
    • good
    • 0
この回答へのお礼

早速の回答ありがとございます。
さっそくやってみます。

お礼日時:2001/10/29 19:31

frmファイルを秀丸とかのテキストエディタで開いて、全置換しちゃいましょう。


さすがに、プロジェクトごとには行きませんが、フォームの中に同じ言葉がたくさん入っているときは、助かると思います。

もちろん、プログラムコード内にその言葉が入っている場合は、ちょっと注意ですね。
置換してはならない部分がないか確認してからにしましょう。
    • good
    • 0
この回答へのお礼

やはりプロジェクトで一気に置換というのは
無理なのでしょうか?
ありがとうございました。

お礼日時:2001/10/29 19:33

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
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
やってみます。

お礼日時:2001/10/29 19:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報