過去ログ

                                Page     586
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼InputBoxについて  一二三 03/1/20(月) 13:28
   ┗Application.InputBox  JuJu 03/1/20(月) 13:58
      ┗Re:Application.InputBox  Jaka 03/1/20(月) 14:16
         ┗Valiant型  JuJu 03/1/20(月) 17:33
            ┗Re:Valiant型  Jaka 03/1/21(火) 10:15
               ┣ありがとうございました。  一二三 03/1/21(火) 12:48
               ┗またごみ  JuJu 03/1/22(水) 12:51

 ───────────────────────────────────────
 ■題名 : InputBoxについて
 ■名前 : 一二三
 ■日付 : 03/1/20(月) 13:28
 -------------------------------------------------------------------------
   InputBoxで、テキストボックスの内容がNULLとした場合、OKまたは、キャンセル
を押すと、NULL(長さ0)が返ってきますが、このとき、テキストボックスがNULL
でOKボタン(もしくは、enterキー)を押された返却か、キャンセルボタンによる
返却か判断したいのですが、できるのでしょうか。
できる方法を教えて下さい。
 ───────────────────────────────────────  ■題名 : Application.InputBox  ■名前 : JuJu <juju-bbs@su-u.com>  ■日付 : 03/1/20(月) 13:58  -------------------------------------------------------------------------
   一二三さん、こんにちはぁ

>InputBoxで、テキストボックスの内容がNULLとした場合、OKまたは、キャンセル
>を押すと、NULL(長さ0)が返ってきますが、このとき、テキストボックスがNULL
>でOKボタン(もしくは、enterキー)を押された返却か、キャンセルボタンによる
>返却か判断したいのですが、できるのでしょうか。
>できる方法を教えて下さい。

Application.InputBoxを使ってみてはどうでしょうか?

Sub Macro1()
  Dim varInput As Variant

  varInput = Application.InputBox("値を入力してね", "")
  If VarType(varInput) <> vbBoolean Then
    ' 入力されたよ
  Else
    ' キャンセルされたよ
  End If
End Sub

こんな感じです。

ではではぁ
 ───────────────────────────────────────  ■題名 : Re:Application.InputBox  ■名前 : Jaka  ■日付 : 03/1/20(月) 14:16  -------------------------------------------------------------------------
   一二三さん、JuJu さん こんにちはぁ

私の受け取り方は、JuJuさんとちょっと違いますが。

Dim hi As Variant
hi = Application.InputBox("入力して下さい。", "タイトル", , , 2)
If hi = False Then
  MsgBox "キャンセル又は閉じるボタン"
ElseIf hi = "" Then
  MsgBox "OKで、入力無し"
Else
  MsgBox "okで、入力あり"
End If
 ───────────────────────────────────────  ■題名 : Valiant型  ■名前 : JuJu <juju-bbs@su-u.com>  ■日付 : 03/1/20(月) 17:33  -------------------------------------------------------------------------
   Jakaさん、こんにちはぁ

Valiant型は結構癖があって、型変換しないて評価すると動きがあやしいですよ。

例えば、Valiant型とBoolean型を比較するときは、Valiant型側の変数が、
「数字か数字に変換可能な文字列で値が0」の時と、
「大文字小文字を区別せずに"FALSE"」の時は、Falseと判断されます。
それ以外は、Trueですね。

なので、そのまま Valiant型変数 を False で評価した場合、
False(Boolean)の他に 0(Numeric) と "0"(String) と "FALSE"(String) も一致することがあります。

VBSで何度はまったことか(;_;)
(変数全部Valiantなんていやぁぁぁぁ)

詳細もMSのサイトに載ってないし、将来仕様がまた変わりそうで怖い^^;
(探したのが結構昔なので、今はあるのかな)

Valiant型については、V3の初期の方に書いた記憶があるのですが、ログ飛んじゃった(;_;)

ではではぁ

PS. 約束通り、今年から元気になれたかな(*^_^*)
 ───────────────────────────────────────  ■題名 : Re:Valiant型  ■名前 : Jaka  ■日付 : 03/1/21(火) 10:15  -------------------------------------------------------------------------
   JuJuさん おはようございます。

言われてみれば、JuJuさんのおっしゃる通りなんで、抵抗が出来ません。
Valiant型は、Falseも0または、0000等も同じように扱っちゃいますが、そう言うのは無しって事で.....、最後のあがき。
と、言う事で一二三さん色々模索してください。

>PS. 約束通り、今年から元気になれたかな(*^_^*)
約束で元気に成っちゃう所がすごいですねぇ!
私はどうも煙草の吸いすぎで、気管支炎?なのか咳が年末に風邪ひいてから止まらないですぅ。
胃潰瘍は、何とか直りましたが薬はまだ飲んでますぅ。
今年もよろしくですぅ。(*^_^*)v
 ───────────────────────────────────────  ■題名 : ありがとうございました。  ■名前 : 一二三  ■日付 : 03/1/21(火) 12:48  -------------------------------------------------------------------------
   JuJuさん、Jakaさん ありがとうございました。
おかげでなんとかできました。

以下のようにしてみました。

dim val As Variant
do
  val = Application.InputBox("入力して下さい。", "タイトル",Type:= 2)
  If val = False Then Exit Sub  ' キャンセル→処理中止
  If Len(val) > 0 Then Exit Do  ' 未入力→メッセージ表示・再入力
    MsgBox "入力されていません。", vbCritical
Loop
MsgBox val & " が入力されました"
 ───────────────────────────────────────  ■題名 : またごみ  ■名前 : JuJu <juju-bbs@su-u.com>  ■日付 : 03/1/22(水) 12:51  -------------------------------------------------------------------------
   Jakaさん、こんにちはぁ

月曜はJakaさんが帰っちゃう前に急いで回答しようと思ってたのですが、遅れてしまいました^^;

私は未だにValiant型ではまってしまうので、まだまだ使いこなせてないのでしょう^^;
個人的には、じゃじゃ馬っぷりが好きなんですけどね^^;;

>言われてみれば、JuJuさんのおっしゃる通りなんで、抵抗が出来ません。

あげあし取りでごめんなさい(^^*)

>約束で元気に成っちゃう所がすごいですねぇ!

いや、カラ元気です^^;
どちらかというと、何もやりたくない状態かも(ぉぃ

>私はどうも煙草の吸いすぎで、気管支炎?なのか咳が年末に風邪ひいてから止まらないですぅ。

体調崩すほど吸っちゃだめ〜

>胃潰瘍は、何とか直りましたが薬はまだ飲んでますぅ。

しかも、胃潰瘍だったのですか(>_<)
私は、不健康な生活をしてるので、いつかつけが回ってきそうで怖い(笑)

うじゃうじゃ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 586