Google ドキュメント スプレッドシートのカスタム関数を作成しようとしています。これは本当に単純な問題だと思いますが、すぐに深みから抜け出してしまいました。私を助けてください。正しい方向へのポイントは大歓迎です。
googledocs スクリプト エディタで次のエラーが表示されます。
TypeError: Cannot call method "replace" of undefined. (line 50)
このコードの場合:
function replaceGender(name, gender, comment) {
var genderedComment = String();
var name;
var gender;
var comment;
if(gender == "m")
{
genderedComment = ungenderedComment.replace("(name)", name).replace(/\(He\/She\)/g,"He").replace(/\(His\/\Her\)/g,"His").replace(/\(his\/\her\)/g,"his").replace(/\(him\/\her\)/g,"him").replace(/\(he\/\she\)/g,"he");
}
else
{
genderedComment = ungenderedComment.replace("(name)", name).replace(/\(He\/She\)/g,"She").replace(/\(His\/\Her\)/g,"Her").replace(/\(his\/\her\)/g,"her").replace(/\(him\/\her\)/g,"her").replace(/\(he\/\she\)/g,"she");
}
return genderedComment;
};
簡単だと思いますが、何か間違っています。
コードを変更したところ、エラーなしで動作するようになりましたが、最後は置き換え.replace(/\(he\/\she\)/g,"she");
られ.replace(/\(he\/\she\)/g,"he");
ません。?? わかりません... 助けてくれてありがとう... 私が言ったように、私はたくさん学んでいます。
これが今のコードです
function replaceGender(name, gender, comment) {
if(gender == "m")
{
comment = comment.replace(/\(name\)/g, name).replace(/\(He\/She\)/g,"He").replace(/\(His\/\Her\)/g,"His").replace(/\(his\/\her\)/g,"his").replace(/\(him\/\her\)/g,"him").replace(/\(he\/\she\)/g,"he");
}
else if(gender == "f")
{
comment = comment.replace(/\(name\)/g, name).replace(/\(He\/She\)/g,"She").replace(/\(His\/\Her\)/g,"Her").replace(/\(his\/\her\)/g,"her").replace(/\(him\/\her\)/g,"her").replace(/\(he\/\she\)/g,"she");
}
return comment;
};