You probably translated the error, the exact error when I test this is:
SysExcelWorksheet object not initialized.
This is probably because on the following line you are trying to retrieve the 4th worksheet of the excel, but your excel file has less:
worksheet = worksheets.itemFromNum(4);
If your data is on the first worksheet, use '1' instead of '4':
worksheet = worksheets.itemFromNum(1);