No.1ベストアンサー
- 回答日時:
>なぜか処理Bが先に
VBに限らずですが、コードは上から順番に解釈されていきます。ここで意図しない動きになっているというのは関数云々以前のバグかと思うのですが。
デバックでステップインさせながら1行ずつおっていったらどうなってるんでしょう。
go文か分岐かループかその辺で思いもよらないところに処理が飛んでるだけかと思います。
この回答への補足
デバックでステップインさせながら1行ずつおっていったらどうなってるんでしょう。>
それをするとなぜか(タイマー処理が原因?)アプリケーションの画面を開いても、白くなり 応答なしになってしまいます。
go文か分岐かループ・・・・>
は確かに使用していますが、その部分では使用していません。
このような感じです。
if hen=1 then
処理 A
処理 B
処理 C
endif
またこの部分もタイマーに含まれていますが、自分自身で無効にしています。
time.Enabled = False
No.4
- 回答日時:
画面の表示などイベント処理に関係するのものは
処理を行っても直ちに画面などに反映されません。
(反映のイベントが処理された時に初めて変わる)
結果、見た目に最後の物しか有効にならないように見えることがあります。
sleep()だけでは、単純に待つだけなのでその間の
イベントを処理してくれないはずです。
DoEventsやRefreshなどが必要な感じがします。
また、確認として、ブレークポイントやStop文(vb6)など
を設定して見ては?
No.3
- 回答日時:
>アプリケーションの画面を開いても、白くなり
ステップインしている最中にアプリの画面を開くのは無理です。
あと応答なしになるのならその瞬間の行に問題があるのが分かるんじゃないかなと。
他にタイマー処理が問題かと思われるのならその部分をコメントアウトしてみるとか色々試せるかとも思いますが。
No.2
- 回答日時:
プログラムの基本的な動きは命令を記述した順番です。
その流れを変えるのは無条件あるいは条件付きのジャンプ命令等です。処理フローチャートはちゃんと書いていますか?。デバッグはちゃんとされていますか?。思い通りの処理ステップが踏めないのはやはりどこかに問題があると思います。行数が多い少ないは問題ではないと思います。また、命令の使い方を間違えている場合もあるかも知れません。命令等をもう一度見直し、まずは机上で、そしてマシン上で1行ずつ実行をして処理の動きを調べてみる必要があります。
私も昔はプログラムを組んでいました(アセンブラやC等)が、自分では正しいと思いこんでいても、実際思いがけないところでバグをよく見つけました。
変数の使い方やデータの格納の仕方にも問題はありませんか?。以外と単純なミスが多いものです。地道にファイト!。
この回答への補足
処理フローチャートはちゃんと書いていますか>
簡単ですが書いています。
デバッグはちゃんとされていますか?。
>なぜか 応答なしになってしまいます。
変数の使い方やデータの格納の仕方にも問題はありませんか?。>
多分それは関係ないと思います。
内容は
フォームにあるラベル(25コ)の色を 赤にします。
それだけです。
なおその下に
フォームにあるラベル(25コ)の色を 白にします。
というのもありますが、
Sleep(1000)が数個入っているので、見た目分かると思います。
ご回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- C言語・C++・C# 変数のスコープ 5 2023/05/27 17:50
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Excel(エクセル) エクセルVBA マクロ処理中のポップアップメッセージについて 1 2023/08/04 21:34
- CPU・メモリ・マザーボード PコアとEコアの使い分け 3 2023/07/30 22:09
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
DoEventsがやはり分からない
Visual Basic(VBA)
-
マクロで、次のコードへ行く前に時間をおくにはどうしたらいいのでしょうか?
その他(Microsoft Office)
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
-
4
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
5
VB.NET getとsetの概念がわかりません。
Visual Basic(VBA)
-
6
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
7
エクセルVBA 「Application.Run」について
Excel(エクセル)
-
8
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
9
Excelのマクロ名の並び順の法則は?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF文に時間(何時から何時ま...
-
マクロで、次のコードへ行く前...
-
ExcelのVBAで、選択したファイ...
-
VBAでBook読み込み時の非表示方...
-
【C#/Java?】try-catchでcatch...
-
private subモジュールを他のモ...
-
VB.NET SPRED(チェックボック...
-
Word VBA。各マクロの間に待ち...
-
どう増強すべきか
-
途中で処理を中断させたい (ア...
-
Excel VBA セルの名前があるか...
-
ListViewから選択中の文字列を取得
-
どうやってもFor文を抜けてしま...
-
ドリブン??
-
【Vb.net】プリンタジョブの取得
-
RaiseEventのメリット
-
VBA ユーザーフォーム上にテロ...
-
タイマーの使い方
-
シグナル 6(SIGABRT)とは?
-
aspx の同時処理数について教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
IF文に時間(何時から何時ま...
-
private subモジュールを他のモ...
-
特定の名前のオートシェイプの...
-
vbaのエラー対応(実行時エラー...
-
iPhoneのニューラルエンジンっ...
-
マクロで、次のコードへ行く前...
-
ExcelのVBAで、選択したファイ...
-
どうやってもFor文を抜けてしま...
-
Excel VBA セルの名前があるか...
-
Functionで戻り値を複数返す方法
-
特定のファイルを他のプロセス...
-
シグナル 6(SIGABRT)とは?
-
【VBA】エラー処理で別プロシー...
-
エクセル VBAで複数セル選択時...
-
どう増強すべきか
-
Word VBA。各マクロの間に待ち...
-
シェルスクリプトでファイル内...
-
VBA 複数の行を高速で削除する...
-
【Vb.net】プリンタジョブの取得
おすすめ情報