• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBスクリプトで他条件分岐を作成したいです。)

VBスクリプトで他条件分岐を作成する方法

Wendy02の回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

>親オブジェクトとはこの場合、どれを指すのでしょうか? 根本的な部分のオブジェクト(プログラムの集合体でひとつの体系を為すもの)が理解していないからです。本来、直接、Value というプロパティに入れるような、VB系の言語に、そのような仕様を持つものはありません。 >ソフトはすごく簡単です。 ?使い方の説明は必要はないのですが……。 掲示板で、ソフトの名前を言えないようなものの質問は控えたほうがよいと思います。 >資料の無断転載はいけないと思い、自分で理解した内容で質問しています。 引用と転載とは違います。どういうソフトのどこのヘルプやマニュアルのどこに書かれている内容か、必要な分を掲示するというのは、著作権法で認められた行為です。 もし、補足で書かれた内容で動くなら、以下のようにすればよいです。でも、これは、VBScript なんかじゃありません。前回の内容を少し替えただけです。今回の細かい仕様は分かりませんから、標準的な関数も使えるのかも不明では、なんとも言いようがありません。 '(基本的に全角空白は絶対にいれないでください。ハングする可能性があります。) n = Value Select Case True Case Left(n, 2) = "3A" And Len(n) = 14 And InStr(1,n, "-",1) = 0 Value = Left(n, 3) & "-" & Mid(n, 4) Case Left(n, 1) = "3" And Len(n) = 14 And InStr(1, n, "-", 1) = 9 n = Replace(n, "-", "",1, -1 ,1) Value = Left(n, 3) & "-" & Mid(n, 4, 5) & "-" & Mid(n, 9, 5) Case Len(n) = 14 And InStr(1,n, "-",1) = 9 n = Replace(n, "-", "",1 , -1, 1) Value = Left(n, 3) & "-" & Mid(n, 4, 5) & "-" & Mid(n, 9, 5) Case Len(n) = 14 And InStr(1,n, "-",1) = 0 Value = Left(n, 3) & "-" & Mid(n, 4, 5) & "-" & Mid(n, 9, 2) & "-" & Mid(n, 11, 2) & "-" & Mid(n, 13, 2) Case Else Value = n End Select Next 最後に、私個人も、いくつかのソフトの独特の、マクロ・スクリプト言語を持っているものがありますが、それは、言語として完全に成り立っているものではないから、必ずしも使いこなせるものではありません。 そういうものは、自分で勉強していくしかないと思います。まして、VBScript に似ているというだけでは、どうにも解決するとは思えないのです。同じソフトを使っている同好の人たちのサイトさえあれば、情報交換から、ある程度の目処が立ちますが、こういうグローバルな掲示板で、ソフト名さえ公開しないというなら、そもそも無理な質問だと思っていただいたほうが良いと思いますね。

gx9wx
質問者

お礼

他の事もいろいろ教えていただきまして、すいません。 教えていただいた記述を入れてみました。 :Nextが不正です。 とアラーとが出ました。 でこのNextを削除したら、 思ったとうりに動作をしました。 5種類全部調べましたが完璧に編集されて表示されます。 本当にありがとうございました。

gx9wx
質問者

補足

すいません。早合点でした。 no.1のパターンは編集されましたが no.4とno.5がno.1のパターンで編集 されてしまいました。 せっかく記述していただいので ところどころ修正しながら、試します。 ありがとうございました。

関連するQ&A

  • VBスクリプトの作成方法について教えてください。

    VBスクリプトの作成方法について教えてください。 あるアプリケーションにて、VBスクリプト編集の機能が有りそれを有効にします。 でイベント用スクリプト入力欄には 【サンプル: Value = Value + "123", サブ文字列の値に123を加えます。】 となっています。 これをサンプルとうりに入力欄に Value = Value + "123" と入力したら元データが、 AAAAAAAだったのが AAAAAAA123と表示されました。 元データを以下の条件によってVBスクリプトにて変化させたい場合 VBスクリプトはどのように作成すればいいでしょうか? データは半角で英数字のみでそれが混在です。 (元データは夜間バッチで自動上書更新されるので元データファイルに  式を入れておく事は出来ません。) 1.○○○○○○○○○○○○○○(先頭が3以外で14文字)     ↓   ○○○-○○○○○-○○-○○-○○ 2.○○○○○-○○○○○(5ケタ-5ケタ)      ↓   ○○○○○-○○○○○(変換しない)   3○○○○-○○○○○(5ケタ-5ケタ)     ↓   3○○○○-○○○○○(変換しない)   3A○○○-○○○○○(5ケタ-5ケタ)     ↓   3A○○○-○○○○○(変換しない) 3.○○○○○○○○-○○○○○(8桁ハイフン5桁)     ↓   ○○○-○○○○○-○○○○○   3○○○○○○○-○○○○○(先頭が3で8桁ハイフン5桁)     ↓   3○○-○○○○○-○○○○○   3A○○○○○○-○○○○○(先頭が3Aで8桁ハイフン5桁)     ↓   3A○-○○○○○-○○○○○ 4.3○○○○○○○○○○○○○(先頭が3で14桁)     ↓   3○○○○-○○○○○-○○-○○ 5.3A○○○○○○○○○○○○(先頭が3Aで14桁)    ↓   3A○-○○○○○○○○○○○ よろしくお願いします。

  • VBスクリプトの配列数字をJAVAスクリプトで使うには

    表題があまり良くないですが VBSでページを作っています その中で ページ閲覧者がテキストボックスに値を記入したときに JAVAスクリプトのonchangeでJAVAスクリプトへ飛んで VBスクリプトで定義した配列の値を代入したいのですが うまくいきません 飛んでいった先のコードが <script type="text/javascript"> <!-- //値の代入 function hoge(FRM){ FRM.hoge1.value=ここにVBスクリプトの配列 } // --> </script> これだけのことなのですが 配列を直接数字で書くと FRM.hoge1.value=<%=atai(1)%> hoge1にはきちんと値が入力されます しかし この1と言う数字の所に FRM.hoge2.value の値をいれてやろうとすると イメージとしては FRM.hoge1.value=<%=atai(FRM.hoge2.value )%> なんですが、これではエラーがでます(当然ですよね) 色々"" でくくったり & や + ()などの 組み合わせでやってもうまくいきません どなたか正しい構文か方法を教えてください よろしくお願いします  

  • vbスクリプトについて

    Excelファイル(D:\test.xls)を再起動するvbスクリプトを作成し、 4時間おきに実行するタスクスケジュールを設定したいと思います。 ※6:00、10:00、14:00、18:00、22:00、2:00のタスクスケジュールを作成し、  vbスクリプトを実行。 次のタスクスケジュールが実行されるまでの4時間は、Excelファイル(D:\test.xls)は 開いたままの状態です。 なので、vbスクリプトで、まずExcelファイル(D:\test.xls)が開いている場合は、 「D:\test.xls」を一旦(上書き保存なしで)閉じて、再度、「D:\test.xls」を開きたいと思っています。 ※他のExcelファイルが開いている場合は、「D:\test.xls」のみ閉じる。 「D:\test.xls」を開くスクリプトはできたのですが、「D:\test.xls」を閉じるところがわかりません。 どなたか教えていただけないでしょうか。 【vbスクリプト】----------------------------------------- '「D:\test.xls」が開いている場合は閉じる  ??? '「D:\test.xls」を起動する Dim xlApp Dim xlWbk Set xlApp=CreateObject("Excel.Application") xlApp.Visible=True Set xlWbk=xlApp.Workbooks.open("D:\test.xls",True) ---------------------------------------------------------

  • VB スクリプトで

    VB スクリプトで Error : Path not found Code : 800A004C Source : Microsoft VBScript runtime error というエラーが出ます。解決方法をご存知の方、教えてください。 よろしくお願いいたします。

  • VBスクリプトでエクセルを表示

    わかる方、教えて下さい。 サーバーサイトにあるエクセルファイル(例 C:\TEMP\PAPA.XLS)をASPのVBスクリプトで表示する方法を教えて下さい。 画面で何かをクリック(リンク)したらでは無く、VBスクリプトでポップアップ画面の様に表示したいのです。 お願いします。

  • 条件式のついて

    name="before" に7桁もしくは、8桁の半角数字の value があります。 もし7桁だったら、先頭から5桁目に「0」を挿入して、8桁にして name="after" に入力します。 "before" の value が8桁ならそのまま "after" に入力します。 上記の条件式の if else 文を考えておりまして、条件式の部分で煮詰まって しまっております。 ご教示お願い致します。

  • VBスクリプトでテキストファイルの行数カウント

    VBスクリプトでテキストファイルの行数をカウントする サンプルソースを探しています。 どなたかご存知の方、教えて下さい。

  • VBスクリプトでエクセルのセルに色をつける

    VBスクリプトを使って、あるエクセルファイルを開き、一行目に色をつけたいと思っています。なかなか良いサンプルコードが見つかりません。 どなたか参考になるサイトやコードを教えて頂けないでしょうか?

  • エクセル セルの先頭の0 VBAで

    テキストファイル.txtにおける数値 たとえば01234567の8桁を エクセルファイルの(A,1)セルに移動すると 1234567と表示されてしまいます あるコードがあるとしまして 途中省略しますが ・・・・・ .Cells(A, 1).Value = Str(Mid(buf, Pos9 + Len9, Pos10 - (Pos9 + Len9))) これは あるプログラムの流れということですが これで 1234567 となってしまうので このコードのあとに Range (Cells(A, 1)) .NumberFormatLocal = "@" .Value = Format(.Value, "00000000") (この場合は 8桁とすでにわかっている場合ですが もし先頭に0がいくつ付くかわからない場合のケースも 教えていただけますか) とつけましたが エラーとなります 御教示くださいませ win10 office356

  • ジャバスクリプトについて質問です。

    ジャバスクリプトでテキストエリアに入力した文字数を表示したいのですが半角数でカウントは出来ませんか? <html> <head> <title>チェック</title> <script type="text/javascript"><!-- function tyek( str ) { document.getElementById("inputlength"). innerHTML = str.length + "文字"; } // --></script> </head> <body> <textarea cols="40" rows="9" onkeyup="tyek(value);"></textarea> <p id="inputlength">0文字</p> <br> </body> </html> 上記の設定では全角も一文字、半角も一文字でカウントされます。 例 aあ ⇒2文字 これを半角一文字、全角二文字という風に設定したいのですがどうすればいいのでしょうか?まだスクリプトを勉強しだしたばかりでよく分かりません… 回答の方宜しくお願い致します。