[[20180524101110]] 『[VBA]テキストボックスの文字表示を一定時間で変香x(3DLaBrock) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『[VBA]テキストボックスの文字表示を一定時間で変更したい』(3DLaBrock)

お世話になります。

ワークシート上にテキストボックスを置き、表示する文字列を一定時間で
変更しようとしているのですが、うまくいきません。

具体的には、下記の様にテキストボックスに最初の文字列を表示後、
Application.Waitで処理を一時停止し、そのあと次の文字列を表示しようと
しているのですが、

With Worksheets(1).Shapes("txtBox1")

    .TextFrame.Characters.Text = "文字列1"
    Application.Wait [NOW()+"0:00:03"]
    .TextFrame.Characters.Text = "文字列2"
End With

実行してみると最初は何も表示されず、
Application.Waitで指定した時間の経過後に最初の文字列と次の文字列が
連続して表示される様な動作になってしまいます。

文字列をテキストボックスではなくセルに表示した場合は、上記の目的通り
Application.Wait終了後に次の文字列を表示する動作をしてくれるのですが、
テキストボックスで同様の機能を実現するには、どうすれば良いでしょうか。
(DoEventsを挟んでみましたが、変化はありませんでした。)

< 使用 アプリ:、使用 OS:Windows10 >


 >.TextFrame.Characters.Text = "文字列1"
 の次にDoEventsを二つ入れてみてくれ。
 私の環境(Windiws10+Excel2010)ではそれでうまくいった。
(ねむねむ) 2018/05/24(木) 10:43

ねむねむ様

回答ありがとうございます。
DoEvents2回でうまくいきました。
(3DLaBrock) 2018/05/24(木) 10:50


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.