質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

321閲覧

Gdriveに格納したファイルのURLをスプレットシートに正しく入力したい

vendilion31

総合スコア6

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2020/11/20 04:57

#質問内容
Googleフォームに添付したファイルのGdrive格納先URLをスプレットシートに記入するスクリプトを作成したのですが、
URLではなく「[Ljava.lang.Object;@6b18c869」のようにエラーが表記されてしまいます。
こちらの解決策について、どなたか情報をご存知でしたらご教示いただけませんでしょうか。

#該当のソースコード

 var spread_sheet = SpreadsheetApp.openById(スプレットシートID)

~~省略~~

var q5 = [] //添付ファイルの配列を設定

if (form_items[5] == null) { q5 = "-" //添付ファイルがなければ「-」を取得
} else {
var dc = form_items[5].getResponse()
for (let i = 0; i < dc.length; i++) { // 添付ファイルの数だけURLをを取得
var file = DriveApp.getFileById(dc[i])
q5.push(String(file.getUrl()) + "\n") } //添付ファイルを格納
}

var no = spread_sheet.getSheetByName(シート名).getLastRow() //スプレッドシートの最終行取得

spread_sheet.getSheetByName(シート名).appendRow( //スプレッドシート最終行へ記入
[no,q5]
)

#備考
・ Logger.log()でq5の値を確認すると、正しいURLが記載されています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

q5が配列になっているからだと思います。

DIFF

1 var spread_sheet = SpreadsheetApp.openById(スプレットシートID); 2 3 // ~~省略~~ 4 5 var q5 = []; //添付ファイルの配列を設定 6 if (form_items[5] == null) { 7- q5 = "-"; //添付ファイルがなければ「-」を取得 8+ q5 = ["-"]; //添付ファイルがなければ「-」を取得 9 } else { 10 var dc = form_items[5].getResponse(); 11 for (let i = 0; i < dc.length; i++) { 12 // 添付ファイルの数だけURLをを取得 13 var file = DriveApp.getFileById(dc[i]); 14 q5.push(String(file.getUrl()) + "\n"); 15 } //添付ファイルを格納 16 } 17 18 var no = spread_sheet.getSheetByName(シート名).getLastRow(); //スプレッドシートの最終行取得 19 spread_sheet.getSheetByName(シート名).appendRow( 20 //スプレッドシート最終行へ記入 21- [no, q5] 22+ [no, ...q5] 23 );

投稿2020/11/20 08:50

draq

総合スコア2577

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

vendilion31

2020/11/20 09:00

ありがとうございます。無事解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問