2017-01-11 16 views
0

Google Apps Scriptを使用してGoogleスプレッドシートに埋め込まれた画像や塊を取得するにはどうすればよいですか?グラフの場合、Sheet.getCharts()を使用して、埋め込みチャートタイプの配列を返します。Googleシートの画像または塊のリストを取得

Sheet.insertImageを使用して最初の場所に画像を埋め込むのは簡単ですが、もう一度アクセスできません。

+0

てみが使用して、[のgetImage()](https://developers.google.com/apps-script/reference/forms/image- item#getimage)を[ImageItemクラス](https://developers.google.com/apps-script/reference/forms/image-item)から削除してください。私は[Spreadsheet](https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet)の具体的な方法を見ていませんでした。 – noogui

答えて

0

これは回避策ですが、うまくいく可能性があります。数式でイメージを設定し、数式を変更して古いイメージを置き換えます。画像以外の式がある場合は、画像のみの数式を返すことができます

function getImages() { 
    var ss=SpreadsheetApp.getActiveSpreadsheet(); 
    var s=ss.getSheets()[0]; 
    var str="https://upload.wikimedia.org/wikipedia/commons/b/b4/JPEG_example_JPG_RIP_100.jpg" 
    var D1=s.getRange("D1").setFormula('=image("'+str+'", 4, 50, 100)') 
    var str1="https://www.google.com/images/srpr/logo3w.png" 
    var E1=s.getRange("E1").setFormula('=image("'+str1+'", 4, 50, 100)') 
    var list = s.getDataRange().getFormulas() //get any cells with formulas 
    var array=[] 
//get array of image formulas only 
for(var i=0;i<list.length;i++){ 
    for(var j=0;j<list[0].length;j++){ 
     var ts=list[i][j] 
     var sbs=ts.substring(0,6)// get first 6 characters of formula 
      if(sbs=="=image"){ // if = '=image' 
     array.push(list[i][j]) 
    }} 
    // do what you want to with the list of image formulas to change images. 
}} 
関連する問題