GoogleドライブからGoogleスプレッドシートに画像を挿入する


11

Googleドライブのフォルダにある画像をGoogleスプレッドシートに挿入/リンクするにはどうすればよいですか。

image()関数があり、次のように使用すると思います。

image("googledrive://somefodleringoogledrivewithmypics/pic_1.png")

どうやって?

更新:一部の人々は、Picasaに画像をアップロードすることにより、各画像のURLを取得してそれを使用できると述べました。できます。これの欠点は、すべての画像のすべてのURLをコピーする必要があることです。それを別のシートに入れ、VLOOKUPを使用してインデックスごとに各画像のURLを取得します。もちろん機能しますが、画像がたくさんある場合、URLのコピーは大変な作業です。より良いソリューションが必要です。

回答:


5

短い答え

現在のところ、Googleドライブに保存されているファイルをウェブサイトのリソースとして使用することは可能ですが、正式にはサポートされていないため、2016年8月31日を超える期間のウェブサイトやスプレッドシートには使用しないでください。

関連する質問への回答で AE Iが言及したように、の使用https://docs.google.com/uc?export=view&id=FILE_IDは文書化されておらず、事前の公式通知なしにいつでも機能を停止する可能性がありますが、現時点(2019年2月)でも機能します。

説明

Googleドライブファイルをウェブサイトコンテンツとして公開する手順は、「ウェブサイトコンテンツの公開-GoogleドライブREST API」にあります、Googleドライブでのウェブホスティングサポートの廃止-Google Appsデベロッパーブログによると

2015年8月31日以降、ユーザーおよびデベロッパー向けのGoogleドライブでのウェブホスティングは廃止されます。この機能は、googledrive.com / host / [doc id]を介したコンテンツの提供を中止する2016年8月31日まで、1年間使用できます。


4

Googleドライブの画像の共有リンクを使用する2行のスクリプトを作成しました。

  1. [ツール]> [スクリプトエディター]に移動します。
  2. 次のコードをコピーして貼り付けます
  3. 実行をクリックして許可を得る

    function DRIVE_IMAGE(link){
        prefix_url = "https://docs.google.com/uc?export=download&";
        link.replace("open?", "uc?export=download&");
    }
    

スクリプトの使用:

  1. 画像の共有リンクをGoogleドライブにコピーします。
  2. セルに移動
  3. 数式を入力してください

    =IMAGE(DRIVE_IMAGE("COPIED_LINK"))
    

このスクリプトは機能しません-エラーは "TypeError:未定義のメソッド" replace "を呼び出せません。(3行目、ファイル" Code ")"(申し訳ありませんが、スクリプトは私にとって魔法のようなものです。今回)
cduston

@cduston手順を実行しましたか?
ルベン

@cdustonと同じエラーが発生する
Vikram Garg

3
  1. スプレッドシートを作成する必要があります。
  2. 次に、ツール>スクリプトエディタに移動します。
  3. 以下のスクリプトをカット/ペーストして、デフォルトで挿入されたすべてのコンテンツを置き換えることができます。
  4. THIS_SHOULD_BE_YOUR_FOLDER_IDと表示されている場所にフォルダーIDを追加する必要があります(引用符は残してください)。
  5. それを保存。
  6. 再生/実行ボタンを押す
  7. 要求されたら、実行する許可を与える必要があります。

それでうまくいくはずです。ここでの出力の作業例。

/* modified from @hubgit and http://stackoverflow.com/questions/30328636/google-apps-script-count-files-in-folder 
for this stackexchange question http://webapps.stackexchange.com/questions/86081/insert-image-from-google-drive-into-google-sheets by @twoodwar
*/
function listFilesInFolder(folderName) {

   var sheet = SpreadsheetApp.getActiveSheet();
   sheet.appendRow(["Name", "Date", "Size", "URL", "Download", "Description", "Image"]);


//change the folder ID below to reflect your folder's ID (look in the URL when you're in your folder)
    var folder = DriveApp.getFolderById("THIS_SHOULD_BE_YOUR_FOLDER_ID");
    var contents = folder.getFiles();

    var cnt = 0;
    var file;

    while (contents.hasNext()) {
        var file = contents.next();
        cnt++;

           data = [
                file.getName(),
                file.getDateCreated(),
                file.getSize(),
                file.getUrl(),
                "https://docs.google.com/uc?export=download&confirm=no_antivirus&id=" + file.getId(),
                file.getDescription(),
                "=image(\"https://docs.google.com/uc?export=download&id=" + file.getId() +"\")",
            ];

            sheet.appendRow(data);



    };
};

3
:)-URLは次のようになりますhttps://docs.google.com/uc?export=download&id=FILE_ID
Tom Woodward

> - @AEIの答えを参照してくださいwebapps.stackexchange.com/a/89112/88163
ルベン・

2

これを処理する最善かつ簡単な方法は、代替式を使用することであり、ここに2つの列があることは、以下の説明です。

Column A5: just put google drive image shareable link e.g.
"https://drive.google.com/open?id=1CfUnvGGdt96irA419HnU0BvRafD4F_os"

Column B5: use the combination of two formula image and substitute like this:
=image(substitute(A5,"open?id","uc?export=download&id"))

これにより、Google画像の間接画像ファイルが直接リンクに変換され、必要に応じて画像の結果が得られます。

スクリーンショット:

ここに画像の説明を入力してください

ここに画像の説明を入力してください


1

これを行うには、以下の手順でGoogle図面のURLにリンクします。

  1. Googleドライブで新しい図面を作成します(Googleドライブの任意のフォルダで右クリック、[その他]、[図面])
  2. そこに画像を貼り付けます
  3. File -> Publish to web -> As Link、公開を開始
  4. 指定されたURLをコピーして、挿入するGoogleシートのセルに移動します
  5. =image("URL you copied")

データは複製されるため、実際の画像ではなく、画像のコピーを含むGoogle図面にリンクしています。誰でもそのリンクにアクセスして、サポートされている形式(JPEG、PNG、SVG、またはPDF)でダウンロードできます。


命の恩人、ありがとう!
post_ahead

0

(ジーシャン)から上記の回答を受け取り、1つのセルに結合しました。

これをセルに入力します。

=image(substitute("https://drive.google.com/open?id=1cmtBYSbobv3FYpKKBCPvS","open?id","uc?export=download&id"))

"https://drive.google.com/open?id=1cmtBYSbobv3FYpKKBCPvS"「共有可能なリンク」に置き換えます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.