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

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

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

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

Q&A

解決済

1回答

4613閲覧

スプレッドシートにテキストファイルを読み込みたい

JipvOvxMCyFrRX2

総合スコア18

Google Apps Script

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

0グッド

0クリップ

投稿2019/02/20 02:59

function test () {
var contents = DriveApp.getFolderById('テキストファイルがあるフォルダーID')
.getFilesByName('テキストファイル名.txt')
.next()
.getBlob()
.getDataAsString("sjis")
.split(/[\s]+/)
;

var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange('A1:A').setValue(contents);

Logger.log(contents);
}

テキストファイルを読み込んで
スプレッドシートのA列に貼付けたいのですがうまくいきません。
上記のスクリプトだとセルA1から最終行まで
テキストファイルの1行目しか貼付けができません。

テキストファイルの内容を1行ずつ貼付けするには、どこを直せばよろしいでしょうか。

初心者ですみません。
ご教示の程よろしくお願いします。

(こちらを参考にさせていただきました。)
https://qiita.com/golyat/items/b0c567c28e0e1ee80526

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

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

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

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

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

guest

回答1

0

ベストアンサー

  1. 「1行ずつ貼付けする」ため、今の場合setValue()ではなくsetValues()を使用してみます。
  2. setValues()のメソッドを使用しますので、contentsは2次元配列として作成します。

そこで、下記のような修正では如何でしょうか。

javascript

1function test () { 2 var contents = DriveApp.getFolderById('テキストファイルがあるフォルダーID') 3 .getFilesByName('テキストファイル名.txt') 4 .next() 5 .getBlob() 6 .getDataAsString("sjis") 7 .split(/[\s]+/) 8 .map(function(e) {return [e]}); // 追加 9 10 var sheet = SpreadsheetApp.getActiveSheet(); 11 sheet.getRange(1, 1, contents.length, contents[0].length).setValues(contents); // 修正 12 13 Logger.log(contents); 14}
  • 今の場合、DriveApp.getFolderById('テキストファイルがあるフォルダーID').getFilesByName('テキストファイル名.txt').next().getBlob().getDataAsString("sjis").split(/[\s]+/)で取得された結果が、必要な値が含まれた1次元配列であると想定しています。

参考:

投稿2019/02/20 04:45

編集2019/02/20 04:47
kisojin

総合スコア899

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

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

JipvOvxMCyFrRX2

2019/02/20 05:24

こちらを使用させていただいてテキストファイルを貼付けすることができました! 本当にありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問