• 締切済み

VBScriptでREPLACEは・・・?

どこから質問していいのかわからなかったのでここから失礼します。 VBscriptでFormatNumberを使ってある数値を編集した後、画面に出力しています。 その時、負の値のものは「-12,345」と出るのですが、 この「-」を「▲」にかえて表示したいのです。 こういうときは、REPLACEを使うのでしょうか? どうか教えてくださいませ。

  • batu1
  • お礼率97% (41/42)

みんなの回答

  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.1

例えばChkValに編集したい数値が設定されていると仮定する。 Wk = ChkVal If Wk < 0 Then Wk = Wk * -1 Ans = "▲" & FormatNumber(wk) Else Ans = FormatNumber(wk) End If msgbox Ans だとか

batu1
質問者

お礼

なる程・なる程。 ありがとうございました。

関連するQ&A

  • VBScript 数値の少数化

    VBScript (ASP)での開発です。 3→3.0 10→10.0 1.005→1.0 以上のように、数値を小数第一位で固定して 表示したいと思っています。 で、FormatNumber(数値,1)というようにしてみたのですが、 小数値が数値に入る時は良いのですが、整数がきた時は 整数のままで困っています。 小数で表示する方法を教えていただけないでしょうか。

  • VBScriptでクリップボードにコピーする方法

    VBScriptでクリップボードにMsgboxの出力データをコピーする方法がわかりません。 ちなみにMsgboxの出力データは変数で、処理の流れとしてMsgboxのすぐ後に クリップボード上に変数をコピーをするようにしたいと考えています。 ネットで検索した結果、下記内容がありましたが、1年前くらいにまったく同じ目的のVBScriptを作成したことがあり、その時は特に制限なく目的のVBScriptが作成できたので、どうも納得できません。 その時のを残しておけばよかったと今になって後悔。。。しかもどうやったか忘れた。。。。 ===ネット検索結果=== WSH と VBScript のいずれにもクリップボードを操作する機能はありません。どちらを使用しても、クリップボードにデータをコピーしたりクリップボードからデータを貼り付けたりすることはできません。一方、Internet Explorer ではクリップボードを操作することができます。 他にもネット上で、とりあえずInputBoxに出力してコピーするような流れの内容がありましたが、今回の目的(見栄えとして)として、どうしてもMsgboxのすぐ後で処理させたいのでわかる方おりましたら宜しくお願いします。

  • location.replaceについて

    親ページから子ページを表示います。 ※JavaScriptのwindow.openで子ページを開いています。 子ページにはテキストボックス等を配置していて項目を入力したら[閉じる]ボタンを押下して子ページを閉じて子ページで入力された値で親ページを再表示して反映させていますがここで1つ問題が発生してしまいました。 ※子ページの[閉じる]ボタンにはonClickでJavaScriptを設定しています。 JavaScriptの内容は下記の通りです。 function closeScript(){   window.opener.location.reload();   window.close(); } 押下すると「再試行」のダイアログが表示されてしまって・・・ ネットで検索して調べてみたら「再試行」のダイアログの制御はできないとの事でした。 再度、ネットで調べていたら下記のような記述がありました。   location.replace(location.href); 上記のJavaScriptを下記のように変更して子ページの[閉じる]ボタンを押下してみたら「再試行」のダイアログが表示されず、子ページを閉じる事が出来ました。 しかし、親ページは何も反応がないような・・・ そこで皆さんに質問があります。 「location.replace(location.href);」が何をやっているのかをネットで調べてみましたが・・・ 「location.replace」・・・「指定したページへ移動する」との事でした。 「location.href」・・・現在表示しているページのアドレス(URL)を示す文字列です。 上記のスクリプトは何を行っているのでしょうか。実際に動かしてもうんともすんとも言わないので・・・ くだらない質問で申し訳ありませんがわかりやすく教えていただけませんでしょうか。 宜しくお願いします。

  • 量子化誤差が負になるときは

    出力信号電圧から入力信号電圧を引いて、量子化誤差を出しましたが、負になりました。 その場合、出力電圧が、入力電圧より(-をとった数値分)だけ小さいということですか?

  • ASP VBscript でメッセージボックスの文字の大きさを変えるには?

    例えば vbscript で あるボタンのクリック時に Msgbox "あいうえお" として、表示されるメッセージボックスの中の あいうえお という文字のフォントサイズを変えることは可能でしょうか? 画面領域 1280 × 1024 とかでディスプレイを表示させている時、 メッセージボックスの文字サイズが小さくて困っています。 どなたか手がかりだけでも至急お願いします!

  • Vbscript Unicode文字の判定

    今、テキストファイルがあり、その中には「Unicode文字」が含まれています。 タックシール(ダイレクトメール用)に出力するのに、マンション名やビル名は改行しなければなりません。 1行に印字できる文字数は全角で20文字(40バイト)です。 したがって、「住所1」と「住所2(マンションやビル名)」の正確なバイト数を調べるのですが、今、「Unicode」のテキストファイルを作って、確かめたところ、半角文字は、そのまま「Asc()」で正の整数で返ってきます。 また、通常の2バイト文字(全角スペースから外字の最終文字)までは、負の整数で返ってきました。 しかし、「Unicode」文字は、常に「63」で返ってきます。 Character Code「63」は、半角の「?」です。 どうやら、「VBScript」は「Unicode」文字をすべて「?」として認識してしまうようです。 通常は、住所に「?」はないはずなのですが、最近、お客様のデータを見ていると、半角の「-」が、よく、半角の「?」に化けているので、「?」はちゃんと1バイトとして、Unicodeの文字は2バイトとして調べなければなりません。 VBAのように「Len()」と「LenB()」があれば、問題ないのですが、「VBScript」では、正しく動作しません(すべて「2」と返してきます)。 正確に文字数(バイト数)を調べるには、どうすればよいのでしょうか?

  • VBScriptで、(もう・・・初歩も初歩)

    HTMLでVBScriptをはじめて書いています。 説明書(ちょっと古いのですが)では、 Timerイベントというのがあるのですが、 <object>タグでTimerを置いても、 何もおきません。 <onject name="Timer" classid="clsid:~"> <param name="interval" value=1000> </object> で、スクリプトは Sub Timer_Timer ~~たとえばMsgBox "8時だよ!全員集合!"~~ End Sub なんですが・・・。 ちなみに、オブジェクトの width と height に値を与えても、 画像領域にバッテンが表示されるだけですので、 オブジェクト自体がないのでしょうか? Timer.oxc とか何かが必要なんでしょうか? 間抜けな質問だったらごめんなさい。

  • エクセル マイナス数値を0にしたい

    質問があります。 計算をしたときに、マイナス数値が出てきた場合、 マイナスの表示を0の表示にしたいのです。 例えば 1-4=-3 と表示されるのを 1-4=0 としたいのです。 正の値はそのまま計算され、負の値になるものはすべて 0になるようにしたいのです。 書式からユーザー設定かなにかでできるのでしょうか? お願いします。

  • エクセルのグラフ画面のみ表示はできる?

    度々、エクセルの質問ですみません。 第三者にはエクセルのグラフ画面のみをプロジェクターを介して見てもらい、私が操作するパソコンにはそのグラフにする元になる値を入力する表が表示させるようにしたいのですがそのようなことは可能ですか? 上の分ではわかりにくいかもしれませんが、数値を入力する画面は出力したくないということです。 あるのでしょうか。。。

  • 小数点以下を含む計算でバグが生じてしまいます。

     プログラム中(VBscript)で、データベースから、商品データ(数値)を取り出して、過去のデータから現在のデータまでをどんどん値を引いていって、その経過を表示する、という引き算を繰り返す作業を行っているのですが、途中でバグが出てしまいます。  実際に取り出される数値としては、整数もしくは小数点以下第一位までの数値です。  どのようなバグが発生するかといいますと、たとえば、数値「5.6」から数値「2.4」を引いたら、表示が、「3.1999999999」などと表示されてしまうのです。  どのようにすれば解決されるのでしょうか。 初心者なので的外れな質問かもしれませんが、ご回答よろしくお願いします。

専門家に質問してみよう