Невозможно использовать замену для переименования ячеек - PullRequest
0 голосов
/ 30 ноября 2018

В настоящее время у меня есть некоторый JavaScript в приложении .hta, который открывает книгу .xlsx, сохраняет каждый лист в виде файла CSV, а затем удаляет пустые столбцы / строки.

Я пытаюсь ввести новый шаг, которыйпереименовывает любые ячейки, которые содержат один вопросительный знак "?" в электронной таблице, на пустое "".

Идея состоит в том, что этот шаг переименования выполняется перед удалением пустых строк / столбцов.

КогдаЯ выполняю код ниже, вопросительные знаки все еще присутствуют в CSV-файлах?Почему переименование работает не так, как задумано?

          // Open the workbook.
          var wb = xlApp.Workbooks.Open(aFile.Path);
          log('Successfully opened the file.');

          // Save each worksheet as a CSV file.
          var sheetNum = 0;
          for(var sheetIndex = 1, sheetCount = wb.Sheets.Count; sheetIndex <= sheetCount; sheetIndex++) {

        var ws = wb.Sheets.Item(sheetIndex);
        var wsName = ws.Name;
        var usedRng = ws.UsedRange;

        //Replace "?" with ""

    var num_col = ws.UsedRange.columnCount
var num_row = ws.UsedRange.rowCount

for (i = 0; i < num_row; i++) { 
for (j = 0; j < num_col; i++) { 
    ws.UsedRange.getCell(i,j).values = ws.UsedRange.getCell(i,j).values.replace("?","");
}
}

        //Remove all blank rows

        for(var i = usedRng.Rows.Count; i > 0; i--){
            if( xlApp.CountA(usedRng.Rows(i)) == 0 ) usedRng.Rows(i).Delete();
        }

        //Remove all blank columns

    for(var i = usedRng.Columns.Count; i > 0; i--){
        if( xlApp.CountA(usedRng.Columns(i)) == 0 ) usedRng.Columns(i).Delete();
    }
...