dポイントプレゼントキャンペーン実施中!

毎日、システムのバックアップデータが、その日の日付をファイル名として作成されます。
このファイルを日々圧縮しているのですが、自動で出来たらと思います。
『教えて!goo』等で調べて何とか書いたのが下のソースです。

StrLzhName = "test.txt.lzh"
StrFileName = "test.txt"

Set shell = WScript.CreateObject("WScript.Shell")
shell.CurrentDirectory = "c:\"

Set wShell = CreateObject("WScript.Shell")
Set oExec = wShell.Exec("lha32 a -d StrLzhName StrFileName")

c:\直下に、lha32.exeと、test.txtを置いてあります。
wShell.Exec()で、変数StrLzhNameと、StrFileNameを直接、
test.txt.lzh、test.txtと指定すると、圧縮できます。

このような変数の使い方は間違っているのでしょうか??
毎日ファイル名が変わるので、どうしても変数が使いたいのです。
アドバイスよろしくお願いいたします。

A 回答 (1件)

★文字列変数の使い方が間違っています。


・文字列と文字列の連結は『&』文字で行います。
 文字列定数と文字列変数の連結も『&』文字で行います。
・以上。おわり。

間違い⇒『Set oExec = wShell.Exec("lha32 a -d StrLzhName StrFileName")』
正しい⇒『Set oExec = wShell.Exec("lha32 a -d " & StrLzhName & " " & StrFileName)』
    • good
    • 0
この回答へのお礼

さっそく直して、思い通りできました。

こんなに早く回答していただけるとは…
思い切って質問して正解でした。

ありがとうございました。

お礼日時:2007/02/23 14:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!