2016-05-06 66 views
0

新手在這裏詢問啞巴問題。試圖教我自己的氣體。 我從論壇上找到了這個公式。只是爲了讓它正常工作,這是故意的簡單。 該函數只適用於strToFind的第一個實例。我試圖解決這個問題只是把它弄得一團糟。我承認並不完全知道自己在做什麼。 希望有人可以提供幫助。Google Apps腳本在公式中更改字符串

function changeFormula() 
{ 
    var strToFind = "May 16"; 
    var strToReplace = "Jun 16"; 
    var range = SpreadsheetApp.getActiveSheet().getActiveRange(); 
    var formulae = range.getFormulas(); 
    var ui = SpreadsheetApp.getUi(); 
    ui.alert('Got here'); 
    for (var i = 0; i < formulae.length; i++) 
    { 
    for (var j = 0; j < formulae[0].length; j++) 
    { 
     if (formulae[i][j].indexOf(strToFind) > -1) 
     { 
     formulae[i][j] = formulae[i][j].replace(strToFind, strToReplace); 
     } 
    } 
    } 
    range.setFormulas(formulae); 
} 
+1

'替換( 「這個」, 「那個」)'只替換的 「本」 的首次亮相,由設計。替換(/ this/g,「那個」)全局替換。還有其他的方法,這已經討論了很多次。 –

+0

作爲評論,電子表格中的良好做法應該首先將「5月16日」這樣的code_ values設置爲公式。如果已經設置了這個值,那麼有更好的單個單元格引用,那麼就不需要腳本。 https://en.m.wikipedia.org/wiki/Magic_number_(programming) – Jonathon

回答

0

使用正則表達式替換所有:

formulae[i][j] = formulae[i][j].replace(new RegExp(strToFind,'g'),strToReplace); 
相關問題