0

以下の vbscript で Type mismatch : 'instrev' のようなエラーが発生します。

M:\New フォルダーに保存されているすべての Excel ファイルの名前を変更しようとしています。拡張子の前に MMDDYYYY タイムスタンプが追加されています。

Test.xls を Test06152013.xls に変更

私は拡張子なしでファイル名を取得しようとしています & そのロジックでエラーが発生しているようです..また、vbscript 自体の名前を変更しないようにしています..あなたの入力に感謝します

set oFso = createobject("scripting.filesystemobject")
sDirectorypath = "M:\New folder"
rename_files(sDirectorypath)

sub rename_files(folder)
  set oFolder = oFso.getfolder(folder)
  for each oFile in oFolder.files
    pos = instrev(oFile, ".") -1
   if pos > 0 then oFile = Left(oFile, InStRev(1, oFile, ".") - 1)
    new_name = oFile & replace(FormatDateTime(now,2),"/","") & "." & oFso.GetExtensionName(oFile)
    wscript.echo "renaming " & oFile & " => " & new_name
    errResult = oFso.MoveFile(oFile, new_name)
  next
  for each oSubFolder in oFolder.subfolders
    rename_files(oSubFolder)
  next
end sub
4

1 に答える 1

2

関数の名前はInStrRevではなくInStRevです。

于 2013-06-10T08:48:45.687 に答える