
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);
}
No.2ベストアンサー
- 回答日時:
#1です
>Spreadsheetクラスから、どうやってSheetクラスに変更するのか判りません。
#1にも書きましたが、全く利用したことがないのでドキュメントの情報しかわかりませんが…
#1の提示したドキュメントの下方に各メソッドの例がたくさん載っています。
SpreadsheetクラスのオブジェクトからSheetクラスのオブジェクトを取得するには、getSheetByNameメソッドでシート名を指定するか、getSheets()[n]でシート番号で指定するなどの方法でできそうな雰囲気ですけれど?
※ #1のリンクページの下方の説明(と例)をご覧になってみてください。
No.1
- 回答日時:
こんにちは
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 …
アドバイスいただきありがとうございます。
Spreadsheetクラスから、どうやってSheetクラスに変更するのか判りません。
まったく初心者ですので具体的な設定をいただけると幸いです。
どうぞよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レコード件数の表示
-
String.containsの反対機能はあ...
-
別クラスのmainメソッドの実行
-
Java初級 引数に適用できません
-
StringBufferからStringへキャ...
-
テキストファイルの日付表示
-
コマンドライン引数のチェック
-
シェルスクリプトからのJavaメ...
-
CSVから読み込んだデータの保持...
-
return new使用時
-
親の親のメソッドを呼ぶには?
-
YYYYMMDD書式の日付に対する適...
-
staticのメリット、デメリット
-
abstract と static を一緒に付...
-
実行画面で表示されるエラーの...
-
戻り値の異なるメソッドの多重...
-
C# でメソッドに送られてきたOb...
-
「タイプ初期化子が例外をスロ...
-
変数名の付け方
-
「インスタンス」の意味をわか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコード件数の表示
-
Java初級 引数に適用できません
-
String.containsの反対機能はあ...
-
別クラスのmainメソッドの実行
-
abstract と static を一緒に付...
-
StringBufferからStringへキャ...
-
説明文書でのメソッド・変数の...
-
Java初心者です、エラーの意味...
-
YYYYMMDD書式の日付に対する適...
-
コマンドライン引数のチェック
-
Google Apps Script で getRang...
-
staticのメリット、デメリット
-
メソッドの引数に指定されてい...
-
スーパークラスからサブクラス...
-
return new使用時
-
メソッド宣言の戻り値の型にク...
-
インターフェースについて
-
CSVから読み込んだデータの保持...
-
問題の意味が分かりません
-
JavaからCへ
おすすめ情報