特定のプログラムを起動させるプログラムで再度教えて頂きたいです。

このQ&Aのポイント
  • 特定のプログラムを起動させるプログラムがありますが、どのアプリケーションで保存すれば動作するかわかりません。
  • 私はプログラミング初心者で、VBとVBAの違いやプログラムの書き方も分からない状況です。
  • プログラム上の当たり前の約束事が抜けているのか、どなたか教えていただけませんか?
回答を見る
  • ベストアンサー

特定のプログラムを起動させるプログラムで再度教えて頂きたいです。

このサイトの方に表題の件でお返事頂いた際に提示頂いたのが下記のプログラムです。これをどのアプリケーションで保存したら動くのでしょうか?メモ帳に指示頂いたファイル名で保存してもなにも動かないので困っております。恥ずかしい話ですが、私はVBとVBAの違いも、頂いたプログラムが何で書かれているのかも分からない初心者にさえなれていない者です。 何かプログラム上の当たり前の約束事が抜けているのでしょうか?どなたか宜しくお願いいたします。 Set WshShell = WScript.CreateObject("WScript.Shell") do WshShell.Run "calc.exe",1,true WScript.Sleep 5*1000 loop

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

>VBScriptとVBは全然違うものですか? VBScript, VB6.0, ExcelVBA の構文は、非常に似ていて、 (VBScriptは、型がない言語なので var As Integer など型指定などはできません、全てがバリアント、とか細部の違いはあります) VB6 や VBA などでは、ほぼそのまま動くと期待できます。 ただ、細部の関数などで使えるものが微妙に違ったりするので注意が必要です。 >VBScriptの入門書なんてあるのでしょうか? O’REILLYオライリー・ジャパンからでている WSHクイックリファレンスなんかは、良いと思います。 ただ、足りない部分がありますので、マイクロソフトからのダウンロードしてヘルプを入れておくのが良いです。 http://www.microsoft.com/japan/msdn/scripting/default.asp の Windows Script 5.6 ドキュメント ダウンロード

qazwsx_007
質問者

お礼

なるほどです。参考にさせて頂き、とりあえず、VBScriptを勉強してみます。 本当に色々と有難うございます。

その他の回答 (3)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

>このプログラムはVBで書かれているのでしょうか? このプログラムは、VBScriptです 単なるテキストですが、スクリプトエンジンWScript または、CScript によって実行されます(単にダブルクリックした場合にはWScriptが起動する) >何か書かれた言語によって動かすのに必要なソフトなどが不足しているのでしょうか? エラーメッセージから推察するには、不足しているソフトはありません。 >"WScript.Shell"というオブジェクトを作成できませんでした。 というのは、"WScript.Shell" が見つからないというのではなく、作成できないということなのでやはり、権限がないのだと思います・・

qazwsx_007
質問者

お礼

有難うございます。別のPCで同じようにやったら今度はちゃんと電卓が表示されました。 なぜネットに繋いでいるこのPCではダメなのかは分かりませんが、これで実際に動かしたいプログラム名を入れてやってみます。 ちなみにVBScriptとVBは全然違うものですか?VBScriptの入門書なんてあるのでしょうか?VBAやVBv6,0のはよく見かけるのですが・・・なにから勉強したら良いのか何か指針でも頂ければ幸いです。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>下記のエラー スクリプト自体は、ウチで試しに動かしてみましたちゃんと機能しました。 >"WScript.Shell"というオブジェクトを作成できませんでした。 というのは、インストールがされていないか権限がないのだと思います。 WScript自体は起動しているので、インストールされていないというのは考えにくいので、多分、権限がないのでしょう 例えば 自分のフォルダで実行してみるとか 管理者(administrator)で実行してみるとかしてみてはどうでしょう?

qazwsx_007
質問者

お礼

有難うございます。なるほどと思って、再度頂いたプログラムをメモ帳にコピーして保存先をC:\Documents and Setting\(私の名前)\デスクットップ\test3.vbsにして、自分がアカウント上でコンピュータの管理者であるのを確認した上でやってみたのですが、やっぱりエラー表示はエラーの内容も含めて同じでした。 このプログラムはVBで書かれているのでしょうか? 何か書かれた言語によって動かすのに必要なソフトなどが不足しているのでしょうか? すみませんが、今一度教えてください。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

拡張子がvbsになるように保存してください。 ファイル名.vbs.txtとかになっていませんか

qazwsx_007
質問者

お礼

ご回答頂きまして有難うございます。 ファイル名はtest3.vbsで保存するのですが、下記のエラー表示をされるばかりです。 何がいけないのでしょうか? スクリプト:C:\Documents and Setting\デスクトップ 行:1 文字:1 エラー:"WScript.Shell"というオブジェクトを作成できませんでした。 コード:8007007E ソース:WScript.CreateObject 申し訳ございませんが今一度教えてください。お願いします。

関連するQ&A

  • Windows 7 でのWSH の挙動

    お世話になります。 msdnにある「電卓をアクティブにするサンプルを Vistaで実行すると、電卓がアクティブになり、 計算結果を吐き出しますが、 Windows7(Pro,SP1)で実行すると 最前面に電卓が出るものの アクティブになっていない上に、 複数の電卓がどんどん立ち上がってきます。 Vistaと7で、プロセス(?)の管理が 変わっているのだと思います。 7でも電卓をアクティブにするには、 どうすればいいのでしょうか? 以下コードです。 ================================================ set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run "calc" WScript.Sleep 100 WshShell.AppActivate "Calculator" WScript.Sleep 100 WshShell.SendKeys "1{+}" WScript.Sleep 500 WshShell.SendKeys "2" WScript.Sleep 500 WshShell.SendKeys "~" WScript.Sleep 500 WshShell.SendKeys "*3" WScript.Sleep 500 WshShell.SendKeys "~" WScript.Sleep 2500 ================================================

  • マシンの再起動とWindowsの再起動の違いは?

    マシンの再起動とWindowsの再起動では、どういう違いがあるんでしょうか? お願いします http://tclock2ch.hp.infoseek.co.jp/storeroom.htm マシンの再起動-Reboot.vbs Set WSHShell = CreateObject("WScript.Shell") WSHShell.Run "C:\WINDOWS\RUNDLL32.EXE Shell32.dll,SHExitWindowsEx 2" -------------------------------------------------------------------------------- Windowsの再起動-Restart.vbs Set WSHShell = CreateObject("WScript.Shell") WSHShell.Run "C:\WINDOWS\RUNDLL.EXE USER.EXE,ExitWindowsExec"

  • VBAでネットワーク上のバッチジョブを実行したい

    クライアントPCのVBAからサーバなどのネットワーク上のバッチジョブを実行するにはどのようにすればよいでしょうか?   Dim WshShell Set WshShell = CreateObject("WScript.Shell") WshShell.Run "\\サーバ名\AAAAA\BAT\TEST.bat", , True MsgBox "終了!" Set WshShell = Nothing 上記を参考にしたのですが、どうもうまくいかないのです。 何かが足りないのですか?

  • VBS(WSH)で開いたIEのウィンドウがアクティブにならない

    VBSでタイトルバーのみのIEウィンドウを開き、 SendKeyでtestと入力するスクリプトを作成しています。 ですが、開いたIEのウィンドウがアクティブにならず、 SendKeyがIEに送信されません。 VBSについては全くの初心者でして、ウィンドウがアクティブにならないのが 環境の問題なのか、プログラムの問題なのか判断できません。 どなたかご教授をお願いします。 IEのバージョンは8、OSはWinXPです。 以下、ソースです。 -------------------------------------------------- 'タイトルバーのみのIEを起動する Set WshShell = WScript.CreateObject("WScript.Shell") Set objIE = WScript.CreateObject("InternetExplorer.Application") objIE.Navigate("http://www.google.co.jp/") objIE.MenuBar = False objIE.StatusBar = False objIE.ToolBar = False objIE.AddressBar = False objIE.Visible = True '表示待ちループ Do While objIE.Busy WScript.Sleep 100 Loop '[test]で検索 WshShell.SendKeys("test") WScript.Sleep(100) WshShell.SendKeys("{TAB}") WScript.Sleep(100) WshShell.SendKeys("{ENTER}") --------------------------------------------------

  • URLが開いた後に処理したい

    VBSでIEを起動しURLが開いた後に処理をするにはどうすればいいですか? たとえば、 set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run """C:\Program Files\Internet Explorer\IEXPLORE.EXE"""&" www.google.co.jp/" 'グーグルが開いた後に処理 WshShell.SendKeys "検索ワード~" これで開いたタイトルは「Google - Microsoft Internet Explorer」になります。 今まではSleep関数を使っていましたが、 IEの起動時間はバラバラなので早すぎたり遅すぎたりしてしまいます。 よろしくお願いします。

  • VBScript

    下記、プログラムを実行すると、コマンドプロンプトの画面が 消えずに、そのまま残ってしまいます。 どうしたら、画面を消すことができるでしょうか。 お力添えをお願いいたします。 Set WshShell = Wscript.CreateObject("WScript.Shell") Set WshEnv = WshShell.Environment("user") WshEnv("C:\NET\aaa.txt") = "administrator" Wshshell.Run("cmd.exe") WScript.Sleep(500) WshShell.SendKeys("runas /user:administrator " + chr(34) + "xcopy D:\NET\aaa.txt C:\NET\aaa.txt" + chr(34)) WshShell.SendKeys("{Enter}") WScript.Sleep(500) WshShell.AppActivate "C:\WINDOWS\system32\runas.exe" WshShell.SendKeys("XXXXX") WshShell.SendKeys("{Enter}") WScript.Sleep(500)

  • WSHスクリプトでブラウザ更新

    教えてください。 WSHスクリプトでブラウザの更新をF5ではなくてControl + Rしたいのです。 Set WshShell = WScript.CreateObject("WScript.Shell") WScript.Sleep 2000 WshShell.AppActivate "テスト" WScript.Sleep 2000 WshShell.SendKeys "^R" WScript.Sleep 2000 WScript.Echo "終了" 最初の一回目の実行時はできるのですが、それ以降更新してくれません。 よろしくお願いいたします。

  • VBSでブラウザ上のテキストボックスに文字列を打ち込み、ボタンを押す方法

    VBSでブラウザ上のテキストボックスに文字列を打ち込み、ボタンを押す方法を教えてください。 現在、下のような方法で行っているのですが応用が利かないので改善したいと思っています。 Set IE = CreateObject("InternetExplorer.Application") Set WshShell = CreateObject("WScript.Shell") IE.Visible = True IE.Navigate("https://サイトのURL") Do Until IE.Busy = False WScript.Sleep 1000 WshShell.SendKeys "y" Loop '(セキュリティの警告が出るため) WScript.Sleep 100 WshShell.SendKeys "{TAB}" WScript.Sleep 100 WshShell.SendKeys "loginid" WScript.Sleep 100 WshShell.SendKeys "{TAB}" WScript.Sleep 100 WshShell.SendKeys "password" WScript.Sleep 100 WshShell.SendKeys "{TAB}" WshShell.SendKeys "{ENTER}" 操作したいページのソースの一部を抜粋すると下記のようになっています。 テキストボックス <INPUT type="text" name="loginId" class="Necessary" size="20" maxlength="5" value="" tabindex="20"> ボタン <INPUT class="button10" type="button" name="sentaku" value="認証" onClick="javascript:execute・・・・略 うまく操作できる方法を教えてください。 よろしくお願いします。

  • VB6のWScript.Shellについて

    VB6のWScript.Shellで、他のVB6プログラムを起動する時の戻り値について教えてください。 AというVBプログラムからBというVBプログラムを起動するシステムがあります。 Bというプログラムで取得した値をAに返す方法はありますでしょうか? Aのソースは以下の通りです。 --------------------------------------------- sub test() dim objWshShell set objWshShell = Wscript.CreateObject("WScript.Shell") objWshShell.Run "C:\B.exe" & " " & hikisu1 & " " & hikisu2 , 1, wait End Function ---------------------------------------------- objWshShell.Runの戻り値はtrueまたはfalseのみのようです。 B.exeからtrue、false以外の値を取得する方法はありますか? また、やり方はobjWshShell.Runでなくてもよいです。 よろしくお願いします。

  • ApacheをVBAのWshellで起動したい

    WindowsXPに入れたApacheをコマンドプロンプトで次のようにして必要な時だけ起動しています。 CD C:\Program Files\Apache2412\Apache24\bin httpd -k start これをVBAのWshellでやりたいのですが、エラーになってできません 下記どちらでも「Runメソッドは失敗しました」になります Sub Sample_WShell01() Dim ShellObj Set ShellObj = CreateObject("WScript.Shell") ShellObj.Run "CD C:\Program Files\Apache2412\Apache24\bin", 0, true ShellObj.Run "httpd -k start", 0, true End Sub Sub Sample_WShell01() Dim ShellObj Set ShellObj = CreateObject("WScript.Shell") ShellObj.Run "C:\Program Files\Apache2412\Apache24\bin\httpd -k start", 0, true End Sub パスを通しておけば下記でできるのはわかってますが… Sub Sample_WShell01() Dim ShellObj Set ShellObj = CreateObject("WScript.Shell") ShellObj.Run "httpd -k start", 0, true End Sub パスの通ってない状態ではできないのでしょうか、教えてください 書き方だけのような気はしますが…