当前,我在.hta应用程序中有一些JavaScript,该应用程序打开.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();
}