■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
|
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った): |
■ ページの共有: |
[ サイト内検索 ]
![]()
カスタム検索
|
#717-0Withステートメントについてとほほ1999-08-11(水) 11:18
#719-0RE#717:WithステートメントについてZero1999-08-11(水) 12:21
#728-0RE#719:Withステートメントについて(お礼)とほほ1999-08-11(水) 17:43
#729-0RE#717:Withステートメントについて?とほほ1999-08-11(水) 17:51
#731-0RE#729:Withステートメントについて?ちゃっぴぃ1999-08-11(水) 18:19
#730-0RE#729:Withステートメントについて?Zero1999-08-11(水) 18:19
#733-0RE#730:Withステートメントについて?とほほ1999-08-11(水) 18:25
#735-0RE#730:Withステートメントについて?ちゃっぴぃ1999-08-11(水) 18:40
#736-0RE#730:Withステートメントについて2魔界の仮面弁士1999-08-11(水) 19:26
#719-0RE#717:WithステートメントについてZero1999-08-11(水) 12:21
#728-0RE#719:Withステートメントについて(お礼)とほほ1999-08-11(水) 17:43
#729-0RE#717:Withステートメントについて?とほほ1999-08-11(水) 17:51
#731-0RE#729:Withステートメントについて?ちゃっぴぃ1999-08-11(水) 18:19
#730-0RE#729:Withステートメントについて?Zero1999-08-11(水) 18:19
#733-0RE#730:Withステートメントについて?とほほ1999-08-11(水) 18:25
#735-0RE#730:Withステートメントについて?ちゃっぴぃ1999-08-11(水) 18:40
#736-0RE#730:Withステートメントについて2魔界の仮面弁士1999-08-11(水) 19:26
とほほ1999-08-11(水) 11:18
みなさん、こんにちわ。 Withステートメントを、「End With」の記述無しで抜けても良いのでしょうか? # With Label # .Caption="123" # if ×××=〇〇〇 Then # Exit Sub '極端な例ですが、この様に抜けてもOK(影響なし)? # End If # End With
Zero1999-08-11(水) 12:21
> Withステートメントを、「End With」の記述無しで抜けても良いのでしょうか? > > # With Label > # .Caption="123" > # if ×××=〇〇〇 Then > # Exit Sub '極端な例ですが、この様に抜けてもOK(影響なし)? > # End If > # End With だめです。 「こんな失敗しました」の方に、Kataさんの失敗談があります。
とほほ1999-08-11(水) 17:43
> > Withステートメントを、「End With」の記述無しで抜けても良いのでしょうか? > だめです。 > 「こんな失敗しました」の方に、Kataさんの失敗談があります。 なるほどありました。ありがとうございました。m(_ _)m
とほほ1999-08-11(水) 17:51
> Withステートメントを、「End With」の記述無しで抜けても良いのでしょうか? > > # With Label > # .Caption="123" > # if ×××=〇〇〇 Then > # Exit Sub '極端な例ですが、この様に抜けてもOK(影響なし)? > # End If > # End With 何度もすいません。「Exit Sub」の場合は抜けても良いのではないでしょうか? (「Exit Sub」の前に「End With」は、記述出来ないですよねぇ...???)
ちゃっぴぃ1999-08-11(水) 18:19
> > Withステートメントを、「End With」の記述無しで抜けても良いのでしょうか? > > > > # With Label > > # .Caption="123" > > # if ×××=〇〇〇 Then > > # Exit Sub '極端な例ですが、この様に抜けてもOK(影響なし)? > > # End If > > # End With > > 何度もすいません。「Exit Sub」の場合は抜けても良いのではないでしょうか? > (「Exit Sub」の前に「End With」は、記述出来ないですよねぇ...???) 良いと思います。 私は当たった事無いです。 −−−−−−−−−−−−−−−− Go!Go!V友! ○(⌒o ⌒)。 V友応援会 お茶くみ ちゃっぴぃ
Zero1999-08-11(水) 18:19
> 何度もすいません。「Exit Sub」の場合は抜けても良いのではないでしょうか? > (「Exit Sub」の前に「End With」は、記述出来ないですよねぇ...???) もちろん、 With Label .Caption="123" if ×××=〇〇〇 Then End With '<-- ここ Exit Sub End If End With こんな風にはかけませんが、オンラインヘルプにあるように、「End With ステートメントを呼び出 さずに With 制御構造外のステートメントを呼び出すことはできない」のですから、With制御構造 内で、Ifステートメントなどを使う事がそもそもいけないのでは? つまり、「Withステートメントを通ったら、End Withステートメントを*必ず*通らなければならな いし、その間に別の制御構造が入ってはならない」と言う事です。 ですから、あえて書き直すなら With Label .Caption="123" End With if ×××=〇〇〇 Then Exit Sub End If のように、Ifステートメントによる制御構造自体を、Withの外に出すしかないです。
とほほ1999-08-11(水) 18:25
Zeroさん、ちゃっぴぃさん、色々とご意見ありがとうございました。 そーですね。 「End With」を必ず通る様、心掛ける事が本来のルールですね。 有難うございました。
ちゃっぴぃ1999-08-11(水) 18:40
> > 何度もすいません。「Exit Sub」の場合は抜けても良いのではないでしょうか? > > (「Exit Sub」の前に「End With」は、記述出来ないですよねぇ...???) > > もちろん、 > > With Label > .Caption="123" > if ×××=〇〇〇 Then > End With '<-- ここ > Exit Sub > End If > End With > > こんな風にはかけませんが、オンラインヘルプにあるように、「End With ステートメントを呼び出 > さずに With 制御構造外のステートメントを呼び出すことはできない」のですから、With制御構造 > 内で、Ifステートメントなどを使う事がそもそもいけないのでは? > つまり、「Withステートメントを通ったら、End Withステートメントを*必ず*通らなければならな > いし、その間に別の制御構造が入ってはならない」と言う事です。 > > ですから、あえて書き直すなら > > With Label > .Caption="123" > End With > if ×××=〇〇〇 Then > Exit Sub > End If > > のように、Ifステートメントによる制御構造自体を、Withの外に出すしかないです。 マニュアルの読み方間違ってました。 Zeroさんの言われる事が正しいですね。 失礼しました。 私、結構このまずいコーディングしてる気配。(苦笑) まだ一度も、「こんな失敗」の様なエラーは出てませんけど。 それとちょっと疑問なのですが、必ずEnd Withを通らないといけないという事は On Error GoTo XXXX を使用しているSub等ではWithは使えないのでしょうか? With以下でランタイムエラーが発生してしまうとEnd Withは通りませんし。 うーん。私は結構安易にWithを使ってたんだなぁ。(→。←) −−−−−−−−−−−−−−−− Go!Go!V友! ○(⌒o ⌒)。 V友応援会 お茶くみ ちゃっぴぃ
魔界の仮面弁士1999-08-11(水) 19:26
> オンラインヘルプにあるように、「End With ステートメントを呼び出さずに > With 制御構造外のステートメントを呼び出すことはできない」のですから、 このあたりの表現がわかりにくいということからか、 最近のヘルプだと、言い回しを換えて来たようですね。(^^; 「制御構造内(外)」という表現を止めて、「Withブロックへの(からの)ジャンプ」という表現に 変化しているようです。 MSDN Library 1999年 07月リリース版 日本語マニュアルより引用:VBS Withステートメント ≫ With ブロックの中に別の With ブロックを配置すると、With ステートメントをネストできます。 ≫ ただし、外側の With ブロックのメンバは内側の With ブロックに対してはマスクされているので、 ≫ 内側の With ブロックのオブジェクト参照を外側の With ブロックに含まれている ≫ オブジェクトのメンバに渡すときは、完全に修飾しなければなりません。 ≫ ≫ 重要 With ブロックへのジャンプも With ブロックからのジャンプも行わないでください。 ≫ With ブロックのステートメントは実行されますが、With ステートメントまたは ≫ End With ステートメントが実行されません。その結果、エラーや予想外の動作が ≫ 発生することがあります。
このページと関連する記事:
#16726-0Withブロックについて2000-02-23(水) 23:12#33835-0RE#33831:EXEファイルでエラーが発生して悩んでいます。2000-11-21(火) 16:09
#22705-0Withステートメントに関して2001-08-27(月) 18:08
#24321-0コモンダイアグラムのキャンセル2000-06-27(火) 12:37
#7922-0実行について2000-05-04(木) 20:01
#615-0Withステートメントについて1999-08-05(木) 11:12
#37878-0for の抜け方2001-01-29(月) 11:38
#16908-0withステートメントについて2001-07-14(土) 20:00
#8292-0if文について2000-05-26(金) 16:37
#3430-0Withステートメントで処理速度を上げる方法1999-10-29(金) 10:22
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。