각 행의 두 번째 및 세 번째 열에 이미지가있는 Google 스프레드 시트가 있는데 지금 모든 스프레드 시트 데이터를 콘솔에 기록하려고합니다. getValue()
함수가 이미지의 소스 URL을 반환하지 않기 때문에 각 셀 내에서 이미지에 액세스하는 데 문제가 있습니다. 모든 이미지는 =image("http://imagesource.com",3)
을 사용하여 스프레드 시트에 삽입되었습니다.Google 스프레드 시트 셀의 이미지 URL 얻기
function readRows() {
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
var numCols = rows.getNumColumns();
for (var i = 2; i <= numRows - 1; i++) {
for (var j = 1; j <= numCols; j++) {
// columns 2 and 3 always contain images
if (j == 2 || j == 3) {
// gets the google spreadsheet url, not the original source url
// of the image contained in the cell like I want it to
var imgUrl = rows.getCell(i, j).getDataSourceUrl();
Logger.log("[img]" + imgUrl + "[/img]");
} else {
var cellData = rows.getCell(i, j).getValue();
Logger.log(cellData);
}
}
}
}
편집 : 저는 여기에 구글이 제공하는 기본 readRows 기능에서 편집, 지금까지 무엇을 가지고 내가 =image("http://imagesource.com",3)
처럼 보이는 문자열을 반환 getFormula()
을 사용할 수있는 것 같아하지만 여전히 문제로 날 나뭇잎 URL을 포함하도록 문자열을 조작해야합니다. 문자열이 Google 스크립트의 기본 데이터 유형 인 것처럼 보이기 때문에 가능한지 확실하지 않습니다.
완벽하게 작동합니다. 감사합니다. 이전에 정규 표현식으로 작업 한 적이 없으므로 이후에 유사한 문제를 해결할 수 있도록 사용법을 살펴 보겠습니다. – Shwheelz