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

VBSの質問です
以下のa.vbsとb.vbsをそれぞれ単体で動かすと動くのですが
各中身を一つにしてab.vbsにしたら動きません
どうすれば動くでしょうか?よろしくお願いします
a.vbs
************************
Dim str_path
Set objFS = CreateObject("Scripting.FileSystemObject")
objFS.CopyFolder ".\hoge\1", ".\hoge\2"
************************

b.vbs
************************
Option Explicit
Dim objWShell
Set objWShell = CreateObject("WScript.Shell")
objWShell.Run "cmd /c start .\NextFTP\NEXTFTP.EXE $Host14 -quit"
Set objWShell = Nothing
************************

ab.vbs
************************
Dim str_path
Set objFS = CreateObject("Scripting.FileSystemObject")
objFS.CopyFolder ".\hoge\1", ".\hoge\2"
Option Explicit
Dim objWShell
Set objWShell = CreateObject("WScript.Shell")
objWShell.Run "cmd /c start .\NextFTP\NEXTFTP.EXE $Host14 -quit"
Set objWShell = Nothing
************************

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

▽最新の回答へ

1 ● kensaito
●250ポイント

http://msdn.microsoft.com/ja-jp/library/y9341s4f.aspx より引用:

Option Explicit ステートメントを使用する場合は、ファイル内の他のどのソース コード ステートメントよりも前に記述する必要があります。

したがって、

Option Explicit
Dim str_path
Set objFS = CreateObject("Scripting.FileSystemObject")
...

とすれば、とりあえずエラーは出なくなるでしょう。


takaniiさんのコメント
試してみましたが 動きませんでした

kensaitoさんのコメント
・エラーメッセージなどが表示される場合はそれを具体的に書いて下さい。 ・希望する動作を明確に書いて下さい。 コードを追っかけると、 ・フォルダー「.\hoge\1」を「.\hoge\2」としてコピー ・NextFTPを使用して、コピーしたフォルダー(かな?)を自動的に転送 を実行したいと読めたのですが合ってますでしょうか?

takaniiさんのコメント
エラーメッセージは表示されません ab.vbsを実行したところa.vbsの内容は実行されるのですが b.vbsの内容が実行されません それであっております。

kensaitoさんのコメント
申し訳ありません。コードの修正が一部抜けてました。 ※Option Explicitを指定したのに変数"objFS"の使用を宣言していなかったので、objFS.CopyFolderでエラーになる 次のコードで試してみて下さい。 >> Option Explicit Dim objFS Set objFS = CreateObject("Scripting.FileSystemObject") objFS.CopyFolder ".\hoge\1", ".\hoge\2" Dim objWShell Set objWShell = CreateObject("WScript.Shell") objWShell.Run "cmd /c start .\NextFTP\NEXTFTP.EXE $Host14 -quit" Set objWShell = Nothing Set objFS = Nothing <<

kensaitoさんのコメント
> objFS.CopyFolderでエラーになる じゃなくて、「Set objFS = CreateObject("Scripting.FileSystemObject") でエラーになる」でした。

2 ● きゃづみぃ
●250ポイント

objWShell.Run "cmd /c start .\NextFTP\NEXTFTP.EXE $Host14 -quit"

ここで 相対パス指定していますが、フルパスで指定してみたらいかがでしょうか?

.\NextFTP\NEXTFTP.EXEの部分です。

関連質問

●質問をもっと探す●



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