0
VBAクラスでプロジェクトを終了しようとしていますが、止まっています。私は単語検索のほとんどのためのプログラムを作成しましたが、私はtimerInterval関数を働かせることができません。チャレンジとコードは次のとおりです。VBAのテキスト入力の自動クリア
- ユーザーが所定の時間(たとえば5〜10秒)文字列を表示できるようにする単語検索ゲームを作成します。タイマーを作成してこれを達成します。時間が経過した後、文字列を非表示にして、文字列に表示された1つ以上の単語を入力するようにユーザーに促します。たとえば、文字列keoixakaccessqcinmsboxeamlzには、accessおよびboxという単語が含まれています。 InStr関数を使用して、ユーザーの推測が単語検索文字列に含まれているかどうかを判断します。私はより良い、この方法が好き - あなたはAPI呼び出しを使用することができると仮定すると、
Option Compare Database
Option Explicit
Private Sub cmdShow_Click()
txtOutput.Value = "hello world"
End Sub
Private Sub Form_Load()
txtOutput.Caption = Text
If txtOutput.DefaultValue = Text Then
Me.TimerInterval = 5000
If txtOutput = 0 Then
txtOutput = False
End Sub
Private Sub cmdCheck_click()
Dim guess As Integer
guess = InStr(txtOutput.Value, txtInput.Value)
If guess = 0 Then
txtResult.Value = "You're terrible at this game"
Else
txtResult.Value = "Good find!"
End If
End Sub
どこコードの 'サブForm_Timer()'セクションのですか?それで、テキスト消去マジックが起こります。 [これをチェックしてください](https://msdn.microsoft.com/en-us/library/office/ff836371.aspx) –
ジミースミスが言ったこと。 私はあなたのコードにコメントするつもりです。だから、txtoutputは文字列、int、ブール値のどれですか?それはただのトラブルを求めているだけです。 変数の宣言が必要です。 (VBAウィンドウ、ツール>オプション)。変数の宣言がなければ、ミスタイプはvar1やva1のような2つの異なる変数を扱うことになり、追跡が困難なエラーが発生します。 1行分の分割でもEnd Ifを使用する必要があります_ アンダースコアを紛失してコードが乱雑になり(何千もの行でエラーが見つからない)まで、私はどちらもしませんでした。 End Ifを使用すると、読みやすくなります。 – CyberClaw
@CyberClaw - あなたの提案は適用されません。彼はすでにコードの上にOption Explicitを持っています。 txtoutputは、任意の形式のテキストを取るコントロールです。もし/ Endifが素晴らしい提案だが、Timerの質問とは何も関係がない。 – dbmitch