簡體   English   中英

通過 Google Sheets 上的腳本從圖像中獲取 URL - 此代碼仍然有效嗎?

[英]Get URL from image via script on Google Sheets - does this code still work?

我正在使用 Google 表格。

單元格 A1:

=image("address.jpg")

這會將圖像放入一個單元格中。 從 Stack Overflow 獲取 url 產生了這個答案

我創建了腳本,谷歌在自動完成中識別了它。 我得到的錯誤是:

類型錯誤:無法調用 null 的方法“匹配”。 (第 10 行)。

我通過檢查器運行了正則表達式,它確實得到了我正在尋找的地址,即地址,但錯誤似乎表明它什么都沒回來。

這仍然有效嗎? 谷歌改變了什么?

我的解決方法是創建兩張工作表並在一張工作表中包含 §=image,而在第二張工作表中,我刪除 § 並使用標准的 Google 功能。

鏈接的解決方案要好得多,如果可以的話,我想實現它。 我無法在原始解決方案的頁面上發表評論,因為我沒有聲譽點。

在您的情況下,“null”作為參數給出。 因為公式不能通過=getImageUrl(A1)直接檢索。 由此, Cannot call method "match" of null.的錯誤Cannot call method "match" of null. 發生。 可以通過getFormula()檢索公式。 Eric Koleda 的回答中也提到了這一點。 例如,腳本可以修改如下。

修改后的腳本:

function getImageUrl(range) {
  var formula = SpreadsheetApp.getActiveSheet().getRange(range).getFormula(); // Added
  var regex = /=image\("(.*)"/i;
  var matches = formula.match(regex);
  return matches ? matches[1] : null;
}

筆記:

  • 如果=image("URL")放在 "A1" 中,當你像=getImageUrl("A1")這樣使用它時。 請用雙引號將 A1 括起來。 這樣,“A1”的字符串被賦予函數並用作范圍。

參考:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM