アプリ版:「スタンプのみでお礼する」機能のリリースについて

Googleフォームで作ったスプレッドシートの最後の行のデータを読み込んで、ドキュメントの文字列を置換させようとしています。getRange(rowSheet,2)で、メソッド getRange(number,number) が見つかりません。のエラーになります。試しに、getRange("B3")と書くと動作します。
この"B3"を変数"rowSheet"を使って表記する方法を教えてください。

------------ 以下が実際のスクリプトです。---------------

function insertName(){

var toAite_title = 'HKPへお申込みありがとうございます';

/* スプレッドシートのシートを取得と準備 */
// var mySheet=SpreadsheetApp.getActiveSheet(); //シートを取得
var mySheet = SpreadsheetApp.openById("xxxxxxx"); //シートを取得
var rowSheet = mySheet.getDataRange().getLastRow(); //シートの使用範囲のうち最終行を取得

/* ドキュメント「メール本文テスト」を取得する */
var docTest = DocumentApp.openById("xxxxx"); //ドキュメントをIDで取得
var strDoc = docTest.getBody().getText(); //ドキュメントの内容を取得

var Onamae=mySheet.getRange(rowSheet,2).getValue(); //名前
var Nickname = mySheet.getRange(rowSheet,3).getValue(); //ニックネーム
var MailAdd = mySheet.getRange(rowSheet,4).getValue(); //アドレス

var toAite_content=strDoc.replace(/{お名前}/,Onamae).replace(/{N名前}/,Nickname).replace(/{メールアドレス}/,MailAdd); //社名、姓名を置換

GmailApp.sendEmail(MailAdd, toAite_title, toAite_content);

}

A 回答 (2件)

#1です



>Spreadsheetクラスから、どうやってSheetクラスに変更するのか判りません。
#1にも書きましたが、全く利用したことがないのでドキュメントの情報しかわかりませんが…

#1の提示したドキュメントの下方に各メソッドの例がたくさん載っています。
SpreadsheetクラスのオブジェクトからSheetクラスのオブジェクトを取得するには、getSheetByNameメソッドでシート名を指定するか、getSheets()[n]でシート番号で指定するなどの方法でできそうな雰囲気ですけれど?

※ #1のリンクページの下方の説明(と例)をご覧になってみてください。
    • good
    • 0

こんにちは



Google Apps Scriptは知りませんので、ドキュメントを見てみただけですが…


>メソッド getRange(number,number) が見つかりません。のエラーになります。
>試しに、getRange("B3")と書くと動作します。
SpreadsheetクラスのgetRangeメソッドの引数は、
"the range to return, as specified in A1 notation or R1C1 notation"
となっているようですので、「行、列」形式の引数は認めていないようです。
それなので、エラーになるのでは?
https://developers.google.com/apps-script/refere …

一方で、SheetクラスのgetRangeメソッドは、「行、列」形式の指定のみとなっているようなので、こちらを利用なさればよろしいのではないでしょうか?
https://developers.google.com/apps-script/refere …
    • good
    • 0
この回答へのお礼

アドバイスいただきありがとうございます。
Spreadsheetクラスから、どうやってSheetクラスに変更するのか判りません。
まったく初心者ですので具体的な設定をいただけると幸いです。
どうぞよろしくお願いします。

お礼日時:2017/12/26 21:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!