From: Tim Kalinowski Date: 2012-03-26T19:31:57+09:00 Subject: Re: Path problem on Windows: backslash vs forward slash Is it maybe to do with ''\\\\server100\\Folder1\\Folder2' should be '\\\\server100\\Folder1\\Folder2' without the double '' at the start On 26/03/2012 9:18 PM, Serguei Cambour wrote: > I can't figure out why the below code works fine: > > #encoding: utf-8 > require 'spreadsheet' > > file_path ='\\\\server100\\Folder1\\Folder2\\ol辿ol辿-file.xls' > Spreadsheet.client_encoding = 'UTF-8' > Spreadsheet.open(file_path) do |book| > puts "sheets: #{book.worksheets.size}" > sheet = book.worksheet(0) > puts "First sheet name: #{sheet.name}" > end > > > But when I tried to do almost the same, just searching the most recent > file and pass it to the Spreadsheet like that, it doesn't work. Ruby > replaces back slashes by forward ones what causes a problem on Windows > box: > > > #encoding: utf-8 > require 'spreadsheet' > > folder = ''\\\\server100\\Folder1\\Folder2' > pattern = 'ol辿ol辿-*.xls' > Dir.chdir(folder) > source_files = Dir.glob(pattern) > puts "source files: #{source_files.inspect}" > recent_file = source_files.max_by { |f1| File.mtime(f1) } > Spreadsheet.client_encoding = 'UTF-8' > Spreadsheet.open(file_path) do |book| > puts "sheets: #{book.worksheets.size}" > sheet = book.worksheet(0) > puts "First sheet name: #{sheet.name}" > end > > The error I get is: > > spreadsheet-0.6.8/lib/spreadsheet/excel/reader.rb:1172:in `setup': > undefined method `read' for false:FalseClass (NoMethodError) > > I'm on Windows XP SP3, Ruby 1.9.3. > Thank you >