function NDLxml() {
//スプレッドシートを開く
var Spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
//フォームのシート
var Form = Spreadsheet.getSheetByName("シート1");
//一覧のシート
var Sheet = Spreadsheet.getSheetByName("シート2");
//最終行数を取得する
var LastRowForm = Form.getLastRow();
var LastRow = Sheet.getLastRow();
//フォームのデータをコピペする
var CopyISBN = Form.getRange(LastRowForm, 2).getValue();
Sheet.getRange(LastRow+1, 1).setValue(CopyISBN);
//ISBN取得
var ISBN = Sheet.getRange(LastRow+1, 1).getValue()
//NDLしばく
var BookURL = 'http://iss.ndl.go.jp/api/opensearch?isbn=' + ISBN;
//れすぽんす
var Response = UrlFetchApp.fetch(BookURL);
//XMLをぱーす
var xml = XmlService.parse(Response.getContentText());
//要素を取得
var Item = xml.getRootElement().getChildren("channel")[0].getChildren("item");
//なまえくうかん
var Dc = XmlService.getNamespace("dc", 'http://purl.org/dc/elements/1.1/');
var DcNDL = XmlService.getNamespace("dcndl", 'http://ndl.go.jp/dcndl/terms/');
//書籍名
var Title = Item[0].getchildText("title", Dc);
//しりーず
var Series = Item[0].getChildText("seriesTitle", DcNDL);
//おーさー
var Author = Item[0].getChildText("creator", Dc);
//出版社
var Publisher = Item[0].getChildText("publisher", Dc);
//出版年月日
var PubDate = Item[0].getChildText("pubDate");
//本のサイズ・ページ数
var Size = Item[0].getChildText("extent", Dc);
//巻数
var Volume = Item[0].getChildText("volume", DcNDL);
//版数
var Edition = Item[0].getChildText("edition", DcNDL);
//ここはすきにしてください
var Else = Form.getRange(LastRowForm, 3).getValues();
Sheet.getRange(LastRow+1, 10).setValue([[Else]]);
//書き込む
var GetSet = Sheet.getRange(LastRow+1, 2, 1, 8).setValues( [[Title, Series, Author, Publisher, PubDate, Size, Volume, Edition]]);
}
これを試してみたところ
TypeError: undefined のメソッド「get」を呼び出せません。(行 30、ファイル「コード」)
というメッセージが出ます。
A列にISBNを打ち込んだらB列に本の名前が出るようにしたいのですが、どの様にすればよいですか?
まだ何もわからない初心者なのでどうかアドバイスお願いします。
https://qiita.com/mnmtmym/items/a47e4552aeaea9ecb629
ここから引っ張ってきたものです。
正直なところ、スクリプトのスの字もわからない状況で丸投げされている状況で自分なりに理解しようとしているのですが、ちんぷんかんぷんになってしまいます。
非常に情けなく、申し訳ないお願いですが、素人でもわかりやすく教えて頂けませんでしょうか。
お願いします。
回答2件
あなたの回答
tips
プレビュー