2013-08-19 1 views
0

Я пишу базовый сценарий для ввода данных в Excel с помощью Jscript, и я столкнулся с небольшим препятствием со странной ошибкой (возвращаемая ошибка не так уж странна, moreso, как идти об их фиксации).JavaScript через Cscript Runtime Error - Odd Expected ';'

В основном я ищу последнюю свободную строку на своем Рабочем листе, проверив ячейки. (I, 8). Знайте, есть ли две последовательные строки, которые пусты, сломайте цикл, чтобы сохранить этот индекс i, и выполнить ввод данных.

while(!data.AtEndOfStream)//Looping to find the data for the the five digit code found above. 
{ 
var ts = new String(data.ReadLine()); 
var t=ts.split(","); 
    if(search==t[0]) 
    { 
    var i; 
     for(i=0; i<wks.UsedRange.Rows.Count; i++) 
     { 
      if(wks.Cells(i,11).Value==null) 
      { 
      WScript.StdOut.Writeline("empty at "+i); 
      break; 
      } 
     } 
    //Data entry statements etc... 
    } 
} 

При компиляции с помощью cmd я получаю: Ошибка выполнения Microsoft JScript: Ожидаемый ';' Возвращенная линия находится на линии if (wks.Cells), char 4. Я не уверен, что это плохое программирование с моей стороны или что-то, что я полностью игнорирую ...

ответ

2

Я не полностью уверен в JScript, но я знаю, что Cells(0,11) не должен работать, потому что ячейки являются базовыми 1 (в Excel нет строки 0). Итак, если вы попробуйте изменить код:

for(i=1; i<wks.UsedRange.Rows.Count; i++)

Я считаю, что это будет работать. Я мог ошибаться, но это стоит того.

+0

Отлично, здесь я думал о Excel в терминах традиционного 2-мерного массива с этим циклом, и забыли, что он начинается с 1,1, а не 0,0, поэтому более плохой ход с моей стороны в Excel, а не в Jscript , Спасибо! – Cshell

+1

@Cshell рад видеть, что это было легко исправить! :) это всегда облегчение –