5つのテキスト入力とJavaScript関数を呼び出すボタンを備えたHTMLWebフォームがあります。この関数は、既存のExcelファイルを開き、最後に入力された行を見つけ、その下に新しい行を挿入して、フォームの値を各セルに1つずつ入力します。次に、保存して終了します。
ただし、スプレッドシートには5つを超える列があるため、関数はデータを列A〜Eにのみ配置します。
function createData(){
var first = document.getElementById('A').value;
var second = document.getElementById('B').value;
var third = document.getElementById('C').value;
var fourth = document.getElementById('D').value;
var fifth = document.getElementById('E').value;
var xlDown = -4121
var w =new ActiveXObject("Excel.Application");
w.Visible=true;
w.Workbooks.Open("file:\\Form.xls");
objWorksheet = w.Worksheets(1);
objRange = w.Range("A1");
objRange.End(xlDown).Activate;
intNewRow = w.ActiveCell.Row + 1;
for (i=1; i<10000; i++){
objWorksheet.Cells(intNewRow, 1) = first;
objWorksheet.Cells(intNewRow, 2) = second;
objWorksheet.Cells(intNewRow, 3) = third;
objWorksheet.Cells(intNewRow, 4) = fourth;
objWorksheet.Cells(intNewRow, 5) = fifth;
}
w.ActiveWorkbook.SaveAs("file:\\Form.xls");
w.Quit();
alert("The data has been added to the spreadsheet");
}
私が実際にやりたいことはこれです:
スプレッドシートには、各行の列A〜Gにデータが含まれている場合と含まれていない場合があります。既存のシートの列Bで「最初の」のテキスト値(上記で定義)を検索する関数が必要です。見つかった場合は、HK列の対応するセルに他の4つの値を挿入します。見つからない場合は、5つの値すべてを列Bの「最初」の新しい行に挿入し、残りを列HKに挿入します。
私は長い間これをいじっていて、それができることは知っていますが、それをクラックすることはできないようです。
どんな助けでも大歓迎です!