When I try to set a longish worksheet name using ruby and win32ole with the following code:
require \"win32ole\" excel = WIN32OLE.new(\'Excel.Application\')
Renaming a worksheet manually in Excel, you hit a limit of 31 chars, so I'd suggest that that's a hard limit.