2017-07-20 26 views
1

Gドライブに保存された署名付きのpngファイルを作成し、メニュー項目を含むセルに貼り付けることができます。画像をパブリックに設定して共有URLを使用しようとしましたが、これは= IMAGEを追加したり、プログラムでこれを行うことはできません。私はインターウェブからさまざまなコードを試してきたが、これまで成功していない。コードの最後の試行。ドライブからシートに画像を追加する

function mysig() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getActiveSheet(); 
    var rng = sheet.getRange(34,6); 
    var url = "https://drive.google.com/file/d/id/view?usp=sharing" 
    var fetch_img = UrlFetchApp.fetch(url); 
    var blob = fetch_img.getBlob(); 
    Logger.log(fetch_img.getBlob()) 
    sheet.insertImage(blob, 6, 34); 

} 
+2

は、この[前のSOの質問](https://stackoverflow.com/questions/26801041/what-is-the-right-way-to-put-a-drive-image-を見てみましょうセルにプログラムで)、それはあなたを助けるかもしれません。 –

+0

私もそれを通っていたし、それもうまくいきませんでした。スプレッドシートの= IMAGE機能をドライブの画像のURLとともに使用するだけでは機能しません。 –

答えて

2

ドライブアプリを使用して、Googleドライブイメージのブロブを生成します。以下のコードを参照してください。

function insertImage() { 
    var openSpreadSheet = SpreadsheetApp.openById("spreadSheetID").getSheetByName("Sheet1"); 
    var getImageBlob = DriveApp.getFileById("GooglDriveImageID").getBlob();//0B5JsAY8jN1CoNjlZR2tUUHpISFE 
    openSpreadSheet.insertImage(getImageBlob,2,2,100,200); //insertImage(blob, column, row, offsetX, offsetY) 
} 

編集2:画像の式を用いて - セルサイズに一致するように

function insertImage() { 
    var openSpreadSheet = SpreadsheetApp.openById("spreadSheetID").getSheetByName("Sheet1"); 
    var url = "https://docs.google.com/uc?export=download&id=0B5JsAY8jN1CoNjlZR2tUUHpISFE"; 
    openSpreadSheet.getRange(5, 3).setFormula('=image("'+url+'",2)') 
} 
  • =画像( "URL")を - セルサイズを減少/増加させながら画像はアスペクト比を保持

  • =画像( "URL"、2) - 画像がセルの全辺に合わせて伸びる

  • =画像( "URL"、3) - 画像は

  • =画像( "URL」、4,50,50)元のサイズを保持 - 所望で50,50を置換することによって画像のサイズを設定します寸法

+0

謝罪! = IMAGE関数で可能なように、画像のサイズをセルサイズで制限する方法はありますか?私はoffsetXとoffsetYを参照してください –

+0

ようこそスタックオーバーフロー。この回答または他の誰かがあなたの問題を解決した場合は、受け入れたものとしてマークしてください – Ritz

+0

それはちょうど元のセル参照からそれを100×200オフセット、セルサイズに一致するように画像のサイズを変更しません。これまでの情報をありがとう。 –

関連する問題