頁:
[1]
如何使用GAS抽出獨立文本
希望可以透過GAS(google apps script),使用ID指定活頁簿,並於活頁簿內各分頁進行相同操作(抽出所有獨立文本[與excel的unique函數一樣,重複的情況只抽出一個],並於存在文本的最終列後新插入一行,輸出所有獨立文本)。本人對IT沒有基礎認識,只能透過網上教學詢問,目前只能做到抽出非重複文本,但重複的文本直接被去掉了。這次主要是因為平常需要翻譯文本,希望可以把unique的函數透過GAS增加效率,希望大大們能解答一下。
附上目前的code
function main () {
const TARGET_SHEET_ID = "1QFk5Ce7llVvHYgxK8lStWkj2dqfGMx_jms2FLBhFvpc";
const SSLink = SpreadsheetApp.openById(TARGET_SHEET_ID);
const sheets = SSLink.getSheets();
const uniqueDataObject = {};
sheets.forEach(function(sheetObject){
const rengeList = getSheetValues(sheetObject);
margeUniqueObjectData(uniqueDataObject , findUniqueDataObject(rengeList));
});
Logger.log(uniqueDataObject);
const convertedKeyArray = objectKeyToArray(uniqueDataObject);
Logger.log(convertedKeyArray);
}
function getSheetValues(sheet , targetColumn , targetLow) {
if(!targetColumn)targetColumn = 1;
if(!targetLow)targetLow =sheet.getLastRow();
const columnRange = sheet.getRange(1,targetColumn,targetLow,2);
const rangeValueDataMultipleList =[].concat.apply([], columnRange.getValues());
return rangeValueDataMultipleList;
}
function findUniqueDataObject(rangeValueDataMultipleList) {
const tempUniqueDataObject = {};
const uniqueDataObject = {};
const FIND =true;
rangeValueDataMultipleList.forEach(function(str){
if(tempUniqueDataObject === FIND){
delete uniqueDataObject;
}else{
tempUniqueDataObject = FIND;
uniqueDataObject = FIND;
}
});
return uniqueDataObject ;
}
function margeUniqueObjectData(lastUniqueDataObject , uniqueDataObject){
const FIND =true;
if(uniqueDataObject)
for(var key in uniqueDataObject){
if(lastUniqueDataObject){
delete lastUniqueDataObject
}else{
lastUniqueDataObject = FIND;
}
}
}
function objectKeyToArray(convertObject){
var convertedKeyArray = [];
if(convertObject){
convertedKeyArray =Object.keys(convertObject);
}
return convertedKeyArray;
}
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>
頁:
[1]