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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Q&A

2回答

6178閲覧

スプレッドシートエラー:構文エラー: SyntaxError: Unexpected identifier 行: 15 ファイル: コード.gsというエラーです

WHITEme

総合スコア0

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

0グッド

0クリップ

投稿2021/05/21 06:23

編集2021/05/21 06:25

前提・実現したいこと

SUBSTITUTEのマルチ処理

ここに質問の内容を詳しく書いてください。

スプレッドシートでSUBSTITUTEのマルチ処理gsを作成

発生している問題・エラーメッセージ

構文エラー: SyntaxError: Unexpected identifier 行: 15 ファイル: コード.gs

該当のソースコード

function multiSubstitute() { var dictSheetName = "dict"; var inputSheetName = "input"; var outputSheetName = "output"; //シート取得 var dictSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(dictSheetName); var inputSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(inputSheetName); var outputSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(outputSheetName); //dict(辞書)シートから連想配列を作成 var dictRange = dictSheet.getRange(2,1,7,2);// 2行目, 1列目(A), 7行目, 2列目(B) =A2:B7 var dictValues = dictRange.getValues(); var imDict = {}; for each(var val in dictValues){ imDict[val[0]] = val[1]; } //inputシートの入力を取得 var inputRange = inputSheet.getRange(1,2,2);// 1行目, 2列目(B), 2行目, 省略(列に変化がない) =B1:B2 var inputValues = inputRange.getValues(); var name = String(inputValues[0]);//名前 var keysString = String(inputValues[1]);//キーが入った文字列 とりあえずStringにキャスト if(name == "" || keysString == ""){ return; } //cookie用にurlencodeされた文字列をそのまま貼り付けてもいいようにデコード var keysString = keysString.match(/^%5B.*/) ? urldecode(keysString) : keysString; //辞書にあわせてkeysをvaluesに置換 var valuesString = keys2values(keysString, imDict); //outputシートに書き出し outputSheet.appendRow([name,valuesString]); //inputシートの入力をクリア inputRange.clear(); function urldecode(str){ var decoded = decodeURI(str); //decodeURIだとカンマが置換されなかったので仕方なく置換 //replaceが最初の要素しか置換しないのでカンマがなくなるまで繰り返す var result = decoded; do{ decoded = result; result = decoded.replace("%2C", ","); }while(decoded !== result); return result; } //辞書の要素数だけ回してしらみつぶしに置換 function keys2values(str, imDict){ Object.keys(imDict).forEach(function(key){ str = str.replace(String(key), String(this[key])); }, imDict); return str; } }

試したこと

問題行目:
for each(var val in dictValues){

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答2

0

実行できません。Fnaf と表示されても何のエラーなのかわかりません。

投稿2024/01/29 06:31

oilumiun12

総合スコア2

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

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

0

for each(var val in dictValues){

for文の形式になってません。
解釈不能、というエラーですね

投稿2021/05/21 07:16

y_waiwai

総合スコア88042

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

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

WHITEme

2021/05/21 07:22

ご回答ありがとうございます。 for文は以下となりますが、 for each(var val in dictValues){ imDict[val[0]] = val[1]; } どこ不正でしょうか? ご指摘頂ければ助けます。
WHITEme

2021/05/21 07:45

すみませんが、 こちらはスプレッドシートのGAS処理です。 mozillaと関係ないと思います。 GASでfor文は間違いようですが。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問