人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VBSの質問です
VBSに詳しい方お願いします。こちらの質問の続きです http://q.hatena.ne.jp/1369925010

a.vbs
--------------------------------------------
dim wsh
set wsh = CreateObject( "WScript.Shell" )
wsh.CurrentDirectory = "C:\hoge1"
wsh.Run "C:\hoge1\hoge2\b.vbs"
--------------------------------------------
があります
a.vbsのフォルダの位置を変更するたびにa.vbs内のフォルダパスを変更するのは手間です。
そう思い

a.vbs
--------------------------------------------
dim wsh
set wsh = CreateObject( "WScript.Shell" )
wsh.CurrentDirectory = "."
wsh.Run ".\hoge2\b.vbs"
--------------------------------------------
に変更し実行しましたがエラーが出て実行出来ませんでした

あと、どのようにすればa.vbsの場所にかかわらず、処理できるようになるでしょうか?
よろしくお願いします

●質問者: takanii
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Silvanus
●300ポイント ベストアンサー

実行中のスクリプトのあるディレクトリは次の式で与えられますので
これをCurrentDirectoryとして設定すればOKだと思います。

CreateObject("Scripting.FileSystemObject").GetFile(WScript.ScriptFullName).ParentFolder

Silvanusさんのコメント
あ、済みません、書き忘れましたがorz、 CurrentDirectoryを設定したらRun文は次の様に記載して下さい。 wsh.Run "hoge2\b.vbs"

Silvanusさんのコメント
新しい質問をされたということは動かなかったということでしょうか? こちらでは普通に動いてるんですけどね…orz。

takaniiさんのコメント
dim wsh set wsh = CreateObject( "WScript.Shell" ) wsh.CurrentDirectory = CreateObject("Scripting.FileSystemObject").GetFile(WScript.ScriptFullName).ParentFolder wsh.Run "hoge2\b.vbs" としましたが動きませんでした

Silvanusさんのコメント
因みに「動かない」というのは、何らかのエラーメッセージが 表示されたと言うことですか? それとも表面上何事も起きなかったということでしょうか? 以下のコードを既存のVBSに追加、あるいは、このコードだけでVBSを作成して 実行した結果が、VBSファイルのあるディレクトリを正しく表示しているので あれば、恐らくwsh.Runの行がおかしいということになりますね。 msgbox CreateObject("Scripting.FileSystemObject").GetFile(WScript.ScriptFullName).ParentFolder

Silvanusさんのコメント
動かないのにBA賞とは誠に恐れ入ります…。有り難うございます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ