test.xlsxにyymmddというシートを作り、yymmdd.csvの内容をコピーするvbsを教えていただきました。
ですが、vbsを実行するとyymmdd.csvが見つからないとエラーが出ます。
yymmddは当日の日付です。
同じフォルダ内にxlsx、csv、vbsすべてあります。
対策はありますでしょうか?
また下記コードの
Set qt = sh.QueryTables.Add("TEXT;" & f & n & ".csv", sh.Range("A1"))
を
Set qt = sh.QueryTables.Add("TEXT;" & f & "yymmdd.csv", sh.Range("A1"))
にするとうまくいきました。なぜか作成したシート名に曜日も入りますが、、
以下コードです。
Option Explicit
Dim bk, ex, f, n, qt, sh, so
Set so = CreateObject("Scripting.FileSystemObject")
f = so.GetParentFolderName(WScript.ScriptFullName) & ""
Set ex = CreateObject("Excel.Application")
ex.Application.DisplayAlerts = False
ex.Visible = False
Set bk = ex.Workbooks.Open(f & "test.xlsx")
Set sh = bk.Worksheets.Add(, bk.Worksheets(bk.Worksheets.Count))
n = Replace(Date, "/", "")
sh.Name = n
Set qt = sh.QueryTables.Add("TEXT;" & f & n & ".csv", sh.Range("A1"))
With qt
.TextFilePlatform = 65001
.TextFileParseType = 1
.TextFileCommaDelimiter = True
.RefreshStyle = 0
.Refresh
.Delete
End With
bk.Save
bk.Close
ex.Quit
Set qt = Nothing
Set sh = Nothing
Set bk = Nothing
Set ex = Nothing
Set so = Nothing