• ベストアンサー

VBS Msgbox実行時 タスクにWSHの表示

VBS Msgbox実行時にタスクにWSHが表示されて、Msgboxの内容が表示されません。 そのタスクをクリックするとMsgboxの内容が表示されます。 また、WSHがオレンジで点滅した状態の時もあります。 これもWSHタスクをクリックするとMsgboxの内容が表示されます。 この状態はどのような現象なのでしょうか? またWSHを非表示にしてMsgboxを表示するにはどうしたらよいでしょうか? Pcスペック: 64bit Core2 XP pro Sp3 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4846/10257)
回答No.1

とりあえず、スクリプトを書いてください。

sabu_san
質問者

お礼

ご返答ありがとうございます。 これはAcadRemoconというAutoCadで有名なカスタマイズできるメソットを開発された方のdllを利用して作成したプロシージャの一部です。 VBSのメソットやステートメントにないものはAcadRemocon仕様になりますが、AutoCadを起動した状態で全て問題なく実行しています。 ただmsgboxだけが悪さをしているみたいです。 この中の Acad.acShowMessage "円・円弧、線分以外対応してません。"は vbsのmsgboxと同じ機能を持っていますので、 VbMsgBoxSetForegroundを追加することで最前面にメッセージを表示することが出来ましたが、やはりタスクにWSHの表示が出ます。 32bit XP pro ではタスクには表示されません。 また、 sub test() msgbox "テスト" End Sub はAutoCadを起動しないでwindows上で実行しても同じ結果で、タスクに時間をおいてWSHの表示が出ます。 なぜなんでしょうね? 64bitと32bitの違いでしょうか? 表示させない方法はあるのでしょうか? よろしくお願いします。

sabu_san
質問者

補足

Do '3 Escx = 0 Acad.acPostCommand "_modemacro^M図形への垂線1点目を指示/「ESC」→終了^M" gX = "" Acad.acGetPoint "", "", gX, gY '最初の指定点の座標 If gX = "" Then Escx = 1: Exit Do If Acad.apiGetAsyncKeyState(27) < 0 Then Escx = 1: Exit Do 'Escキーを押したら処理を抜ける If Not Acad.acDxfOut("", "@^M^M", False) Then Er: Exit Sub If Not Acad.DxfExtract(Cnt, EA, "ENTITIES", "", "*", "10|20|11|21") Then Er: Exit Sub OBNAME = EA(0, 1) 'オブジェクトの名前 LINE,CIRCLE OB1X = EA(1, 1): OB1Y = EA(2, 1) 'オブジェクトのX1,Y1 線分の始点 円、円弧の中心座標 OB2X = EA(3, 1): OB2Y = EA(4, 1) 'オブジェクトのX2,Y2 線分の終点 If Acad.apiGetAsyncKeyState(27) < 0 Then Exit Do 'Escキーを押したら処理を抜ける If OBNAME <> "LINE" And OBNAME <> "CIRCLE" And OBNAME <> "ARC" Then Acad.acShowMessage "円・円弧、線分以外対応してません。", VbMsgBoxSetForeground ' Acad.acActivate Acad.acPostCommand "^m" Escx = 1 End If If Escx <> 1 Then If OBNAME = "LINE" Then '2 線分に垂線 Acad.acGetDist "", OB1X & "," & OB1Y & "^m" & OB2X & "," & OB2Y & "^m", retLength, OBJA End If If OBNAME = "CIRCLE" Or OBNAME = "ARC" Then '3 円、円弧に垂線 '円の中心から基線始点までの方向角+90 objz = Acad.CalcAngle(OB1X, OB1Y, gX, gY, True) OBJA = objz + 90 If OBJA >= 360 Then OBJA = OBJA - 360 End If '最初の指定点からほぼ垂線方向2点目までの距離と方向角 If Not Acad.acGetDist("ほぼ垂線方向2点目を指示", "@^M", L, AGL) Then Er: Exit Do AGLP = AGL - OBJA: If AGLP < 0 Then AGLP = AGLP + 360 If AGLP < 180 Then HK3 = OBJA + 90: If HK3 >= 360 Then HK3 = HK3 - 360 If AGLP > 180 Then HK3 = OBJA - 90: If HK3 < 0 Then HK3 = HK3 + 360 '垂線を引く If KYRA <> 0 Then L = KYRA Acad.acPostCommand "^C^C_Line^m" & gX & "," & gY & "^m@" & L & "<" & HK3 & "^m^m" Else '何もしない End If Loop While True '3

関連するQ&A

  • VB6でWSH(vbs)を起動できる方法を教えてください。

    visual Basic 6でアプリケーションを開発していますが、 このアプリケーション(exe)から、test.vbsを起動したいと考えています。 ====vbのコード===== 'ボタンクリックしたら、test.vbsが実行される Private Sub Command1_Click() shell("test.vbs") End Sub ==== test.vbs ==== MsgBox("test.vbs起動しました。") です。 上記のようにコードを書きましたが、Shell関数で 「実行時エラー'5' プロシージャの呼び出し、または引数が不正です。」 のメッセージが出力されて、vbsが起動できません。 VB6でWSH(vbs)を起動できる方法を教えてください。 環境は以下の通りです。 OS:WIN2000 アプリ:VB6 ブラウザ:IE5.0

  • 実行中のVBSをタスクバーに非表示にしたい

    こんにちは。 OSはWIN2K,WSHのバージョンは5.6です。 実行時にタスクバーにファイル名が表示され てしまうと、それを興味本位で編集されたり されるのでファイル名を隠す意味でもタスクバーに 非表示にしたいのですが、VBSでそのような指定 は可能でしょうか? よろしくお願いいたします。

  • schtasksによりリモートでタスク登録したVBSの動作

    schtasksで以下のようにしてVBSをタスクスケジューラに登録しました。 schtasks /create /tn テスト /tr テスト.vbs /sc daily /st 00:00:00 /ru SYSTEM /s \\COMPUTER VBSは実行されているようですが、MsgBoxで表示しているポップアップが表示されません。 試しに同じVBSを手動でタスク登録してみたのですが、その場合は正常に表示されます。 ATコマンドで/interactiveにすれば可能ですが、今後の管理のことも考えると、できればATは使いたくありません。 schtasksでは同様のことはできないのでしょうか? どなたかよろしくお願いします。

  • タスクの実行について

    いつもお世話になっております。 Windows2000Serverでタスクを実行させたいのですが実行されません。 [環境] ・Windows2000ServerはWindows NTドメインに参加しています。メンバ サーバです。 ・実行しようとしているタスクはサーバを再起動させるタスク。 ・毎週月曜日朝6時にタスクを実行させる設定になっていますが、  朝6時に実行されたとタスクには残りますが、実際は再起動されてい ません。状態もエラーは出ていません。(実行できていない場合は開 始できませんでした等出力されるはず) ・UPSに接続されていますが、UPSの機能を使い再起動できないため  このタスクを組んでいます。UPSで再起動の設定は解除済み。 ・タスク実行時のユーザ名はドメイン\administrator パスワードはドメインadminのパスワードを入力。 ・手動でタスクを実行すると正常に実行されます。 [タスクの詳細] ・reboot.batを実行させる設定。 バッチの記述[cscript c:\backupbat\restart.vbs /S サーバ名 /R] ・restart.vbs はマイクロソフトよりダウンロードしたもの。 これは何が原因でしょうか? restart.vbs もバッチの記述通りbackupbatフォルダにあります。 宜しくお願いします。

  • アプリケーションをVBS(WSH?)で操作したい

    現在は以下のように楽天のマーケットスピードを起動させて マウスマクロソフトでログインしていますが WSHが動いている最中に別のアプリケーションが自動起動するようなことがあると ログインに失敗します。 ですのでマウスマクロソフトを使用するのではなくて 該当アプリケーションのウインドウがアクティブ状態でなくても コマンドを実行させる方法をおしえていただきたいです。 マーケットスピードだけではなくIEやその他メーラー等も操作したいので イベント(ログ?コマンド?)を監視するなどして WSHのコマンドを見つけ出す方法などを教えていただきたいです。 よろしくお願いいたします。 ●●●現在のVBSの内容●●●● 'マケスピを立ち上げる。 WSHShell.Run """D:\Program Files\MarketSpeed\MarketSpeed\MarketSpeed.exe""" WScript.Sleep 5000 '5秒ウェイトを入れ起動を待つ。 'この後マウスマクロソフトの起動 'マウスマクロソフトでログイン動作 ●●●●●ここまで●●●●●

  • MsgBoxの最前面表示

    MsgBox関数を使用してエラーメッセージを表示させているのですが メッセージボックスが表示された後、フォームをクリックすると メッセージボックスがフォームの裏に隠れてしまいます。 リファレンスを見て MsgBoxSetForegroundを指定すれば表示時は最前面に表示されますが フォームをクリックするとやはり裏に隠れてしまいます。 MsgBox関数を使用してメッセージを表示する場合 常にメッセージボックスを最前面に表示させる方法はあるのでしょうか? 環境は Windows2000 + VS.NET2003(VB.NET) です。

  • タスクマネージャが表示されなくなりました。

    ctrl+Alt+Delete を押し「タスクマネージャ」をクリックして次にタスクの一覧が表示 されるはずなのに、表示されなくなりました。代わって「タスクマネージャ」をクリックすると、右下に緑の砂時計の ような絵柄が表示されるだけで、状態はまったくかわりません。動作しないアプリケーションを選択したいのですが、 どうしたら、この状況を改善できるのでしょうか。

  • タスクマネージャの表示がおかしい

     Winfdows2000 SP4 です。  タスクマネージャの表示がおかしくなってしまいました。タイトルバー、メニューーバーが無い状態で、アプリケーション/プロセス/パフォーマンス各タブも表示されていない状態で、一番内側の枠内?のみ画面上に表示されている状態です。当然タブで切り替えられなくなっています。現状では通常ならプロセスタブをクリックした時の表示になっています。表示内容そのものは正常なようです。  ちなみに他のアカウントでログインしてみたらそちらでは大丈夫でした。現在メインで使用しているアカウントのみの症状のようです(Admin権限です)。

  • IPアドレスのみをMsgBoxで表示させるには?

    現在使用しているPCは接続しているネットワークの仕様で 接続するたび自分のIPアドレスが変わってしまいます。 そのことから起動時に毎回ポップアップでIPアドレスを表示させることが出来たらと考えました。 起動時にプログラムを走らせるのはタスクで設定しようと考えているので、 IPアドレスのみをMsgBox等で表示させる方法をご教示頂けますと幸いです。

  • タスクバーでマウスダウン時に別のタスクが前面に出る

    タスクバーにタスクが複数あるときに、アクティブでないタスクに対してマウスダウンを行うと、全く関係のないタスクが全面に表示されてしまうことがあります。そのままマウスアップするとそのタスクの上に目的とするタスクが表示されます。これは単なるクリックでも起きます(一瞬でわかりづらいけれど)。 この動作は特に問題が無いといえば問題が無いのですが、例えば2つの窓を並べ、タスクバーをクリックしてアクティブな窓を切り替えるようなときに、全く関係がない全画面表示のタスクが表に出てしまうと、並べていた窓の片方が裏に廻ってしまうことになります。 WindowsXPを使用しています。 WindowsUpdateは行っています。 少なくとも3台のPCでこの現象を見たことがあります。 この現象の原因と回避方法を教えてください。