Google Apps Script の構文エラー

このQ&Aのポイント
  • Google Apps Scriptの勉強をしようと思い立ち入門書のサンプルコードを見ながら構文を入力しているのですが、ステートメントの前に ; がありませんというエラー表示が出てしまいます。
  • サンプルとは一字一句間違いないのですが何が悪いのでしょうか?
  • 当方javaの知識はほとんど有りません。
回答を見る
  • ベストアンサー

Google Apps Script の構文エラー

Google Apps Scriptの勉強をしようと思い立ち入門書のサンプルコードを見ながら構文を入力しているのですが、 下記の構文を保存しようとすると、“ステートメントの前に ; がありません。(行 2、ファイル「コード」)”というエラー表示が出てしまいます。 サンプルとは一字一句間違いないのですが何が悪いのでしょうか? どなたかお教えいただけないでしょうか。当方javaの知識はほとんど有りません。 function 条件分岐3() { ver myTime = new Date().getHours(); if (myTime < 12) Browser.msgBox("おはよう"); } こちらになります。よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • honor
  • ベストアンサー率35% (25/71)
回答No.1

verではなくvarだと思います。

bulkmonk4161
質問者

お礼

おお! 単純な文字の間違いで恥ずかしい限りです。 ありがとうございました。

関連するQ&A

  • google apps scriptについて

    google apps scriptに関しては全くの初心者ですので、どなたかお力をお貸しください。 現在、Accessでシステムを作っているのですが、システムに新規案件が登録されると自動でグーグルカレンダーにも登録されるようにしています。 具体的には、システムに新規案件が登録されたタイミングで件名を「★マーク+タイトル+日付+時間」、内容に案件詳細を入れたメールをgmailに送り、google apps scriptのトリガーで一定間隔でメールを検索し、件名に★マールの入ったメールがあれば件名に入っている日付・時間でカレンダーに内容を登録するようになっています。 そこで質問なのですが、今度はシステムより同じ内容のメールを送り、そのメール内容と同じものがカレンダーで見つかるとその予定を削除するようなgoogle apps scriptを作りたいのです。 メールのサンプルとgoogle apps scriptのコードは下記のようになっています。 全くの初心者でコードもネットを色々調べて書いたのであまり内容も理解できていません。 どなたか宜しくお願い致します。 メールサンプル 件名: ★取引先と打合せ 2015/08/02_16:00-18:00 内容: 管理NO 9016 2015/08/02 16:00-18:00 発注担当者:様 場所:事務所 登録日:2015/06/19/11:51 コード function setCalLab(){ var thds = GmailApp.getInboxThreads(); var calName = "メールアドレス@gmail.com"; var cals = CalendarApp.getCalendarsByName(calName); for(var n in thds){ var thd = thds[n]; var subject = thd.getFirstMessageSubject(); var msgs = thd.getMessages(); if (subject.indexOf("★",0) != -1){ //label.addToThread(thd); //for(var m in msgs){ var msg = msgs[0]; var body = msg.getPlainBody(); var str = msg.getSubject(); var res = str.match(/\d+/g); var cal = cals[0]; var d1 = new Date(); var yy = d1.getFullYear(); cal.createEvent(str,new Date(res[0],res[1]-1,res[2],res[3],res[4]),new Date(res[0],res[1]-1,res[2],res[5],res[6]),{description:body,sendInvites:false}); //} GmailApp.moveThreadToArchive(thd); } } }

  • google apps scriptの終了のさせ方

    google apps scripの初心者ですが、次のような関数setDatafromCurrent()の(1)でプログラムを終了するにはどうすればよいのでしょうか?  /* 転記PTデータ ピボットテーブルのデータを新しい列に貼り付けてそのまま実行してください。 カレントセルがデータの挿入列位置として使われます。 */ function setDatafromCurrent() { var SRCy = 10; var SRCx = 5; var DESTy = 7; var DESTx = 5; var DESTyLEN = 8; var mySheet = SpreadsheetApp.getActiveSheet(); var cCur = mySheet.getActiveCell(); SRCx = cCur.getColumn(); SRCy = cCur.getRow(); if (SRCx==1 && SRCy==1) { Browser.msgBox("他の人が利用している可能性があります。"); } DESTx = SRCx; var rSRC = mySheet.getRange(SRCy, SRCx, SRCy, 2); // var rSRC = mySheet.setActiveRange(cCur.offset(0, 0, SRCy, 2)); rSRC.setBackgroundColor("#dcdcff"); // rSRC.setBackgroundRGB(220,220,255); var rData = mySheet.getRange(DESTy,DESTx, DESTyLEN,1); rData.setBackgroundColor("#e6ffe6"); var ynAns = Browser.msgBox("転記しますか?",Browser.Buttons.YES_NO); if (ynAns=="no") { ・・・ (1)  ここで、プログラムを終了させたい。! } else { rData.activate(); cCur = mySheet.getActiveCell(); cCur.offset(1,0).setValue(rSRC.offset(1,1,1,1).getValue()); cCur.offset(7,0).setValue(rSRC.offset(5,1,1,1).getValue()); cCur.offset(8,0).setFormula("=SUM(R[-3]C[0]:R[-1]C[0])"); mySheet.setActiveRange(cCur.offset(0, 1, 1, 1)); } ynAns = Browser.msgBox("元のデータを消去しますか?",Browser.Buttons.YES_NO); if (ynAns=="no") { } else { rSRC.clearContent(); } rSRC.clearFormat(); rData.clearFormat(); } function 背景色の取得() { var mySheet = SpreadsheetApp.getActiveSheet(); var cCur = mySheet.getActiveCell(); cCur.setBackgroundRGB(230, 241, 210); var BG_color = cCur.getBackgroundColor(); Logger.log(BG_color); Browser.msgBox(BG_color); }

  • Google Apps Scriptについて

    Google Apps Scriptについては全くの初心者です。どなたか知恵をお借りしたいです。 accessを使い業務システムを作っているのですが、これまでgoocalproxyというサービスを使い、新規受注を入力すれば、その内容をgmailに飛ばし、自動でグーグルカレンダーに登録させてました。このgoocalproxyが数日前から機能しなくなり、色々調べた結果Google Apps Scriptを使って登録する方法を見つけたのですが、全くの初心者の為、ネットで参考にしたサンプルのコピペしかできず、下記のようなコードを使用しております。 function setCalLab(){ //var dstr = "本日の予定"; //var label = GmailApp.createLabel(dstr); var thds = GmailApp.getInboxThreads(); var calName = "本日の予定"; var cals = CalendarApp.getCalendarsByName(calName); for(var n in thds){ var thd = thds[n]; var subject = thd.getFirstMessageSubject(); var msgs = thd.getMessages(); if (subject.indexOf("本日の予定",0) != -1){ //label.addToThread(thd); //for(var m in msgs){ var msg = msgs[0]; var body = msg.getPlainBody(); var str = msg.getSubject(); var res = str.match(/\d+/g); var cal = cals[0]; var d1 = new Date(); var yy = d1.getFullYear(); var dd = new Date(yy,res[0]-1,res[1]); cal.createAllDayEvent(str,dd,{description:body}); //} GmailApp.moveThreadToArchive(thd); } } } これですと、カレンダーに自動登録は出来るのですが、終日の予定になってしまいます。 やりたい事は、gmail宛てに予定の件名、日付、開始時間、終了時間を送りそれを自動でグーグルカレンダーに開始時間から終了時間までの予定で反映させたいと思っています。 別のサイトで、 function createEvent(){ var calendar = CalendarApp.getCalendarById('xxxxxxxxxx@group.calendar.google.com'); calendar.createEvent('歯医者', new Date('2012/3/12 18:00:00'), new Date('2012/3/12 20:00:00')); } 時間指定のほかに、予定の概要、場所情報を設定することもできる。 function createEvent2(){ var calendar = CalendarApp.getCalendarById('xxxxxxxxxx@group.calendar.google.com'); calendar.createEvent('歯医者', new Date('2012/3/12 18:00:00'), new Date('2012/3/12 20:00:00'), {description: '概要', location: '◯◯病院'} ); } というような情報も見つけたのですが、幾分全くの初心者の為、これをどうすれば思い通りのコードになるのかわかりません。 どなたかご教授お願い致します。

  • javascriptの構文エラー

    下記のようなhtmlファイルを作りましたが、IEで開こうとすると function jikko(){ }←この文字がエラーになってしまいます。構文エラー コード0 WindowsVISTA 標準のIEを使っています。 解決策を教えてください。よろしくお願いします。 <html> <head> <script type="text/javascript"> function jikko(){ var WshShell = new ActiveXObject("WScript.Shell"); Wsh.exec("cmd.exe /c /"%programfiles%//t.bat/""); } </script></head> <body> <button type="button" onclick="jikko()"> </button> </body> </html>

  • 特定の時間に複数のメッセージからアットランダムに表示する

    1 特定の時間(たとえば、朝の7時から8時まで)に2 複数のメッセージ(たとえば、どこかのページへのリンク)の中からランダムに表示するジャバスクリプトを作りたいと思っています。 1と2は別個のスクリプトがあるのですが、これを統合すればいいのでは、と思ってやっているのですが、わかりません。なにとぞ宜しくお願いいたします。 ================= 1 mes=new Array(24); mes[0]=""; mes[1]=""; //略 mes[23]=""; function timer(){ myDate=new Date(); myTime=myDate.getHours(); document.write(mes[myTime]); } timer(); //--> 2 var quotes=new Array() quotes[0]='メッセージかリンク' var whichquote=Math.floor(Math.random()*(quotes.length)) document.write(quotes[whichquote])

  • テンプレート構文への追加指示

    こんにちは。 Java Scriptによる「画面サイズを指定して開く」というアクションで 以下のような構文があります <script LANGUAGE="javascript"> <!-- function changesize(){ window.resizeTo(***,***);   ←***は任意のサイズ } window.onload=changesize; window.onresize=changesize; //--> </script> この構文に、ツールバー・URL入力欄・メニューバー等 全てを非表示にさせる命令文を追加したいのですが、 どこに何をどう入れてよいかが分からなく困っています。 どなたかお詳しい方、助けていただけないでしょうか。 よろしくお願いいたします。

  • VBスクリプトの配列数字をJAVAスクリプトで使うには

    表題があまり良くないですが VBSでページを作っています その中で ページ閲覧者がテキストボックスに値を記入したときに JAVAスクリプトのonchangeでJAVAスクリプトへ飛んで VBスクリプトで定義した配列の値を代入したいのですが うまくいきません 飛んでいった先のコードが <script type="text/javascript"> <!-- //値の代入 function hoge(FRM){ FRM.hoge1.value=ここにVBスクリプトの配列 } // --> </script> これだけのことなのですが 配列を直接数字で書くと FRM.hoge1.value=<%=atai(1)%> hoge1にはきちんと値が入力されます しかし この1と言う数字の所に FRM.hoge2.value の値をいれてやろうとすると イメージとしては FRM.hoge1.value=<%=atai(FRM.hoge2.value )%> なんですが、これではエラーがでます(当然ですよね) 色々"" でくくったり & や + ()などの 組み合わせでやってもうまくいきません どなたか正しい構文か方法を教えてください よろしくお願いします  

  • JavaScriptのステートメントの考え方

    JavaScriptのステートメントの考え方で質問です。 JavaScriptでは行の終わりがステートメントの終わりと解釈されるはずなので、 下記の様なコードはOKですよね。 ------------------------------------------------------------------ <script>   j = !1   alert(j); </script> ------------------------------------------------------------------ しかし下記のコードだと「1 is not a function」とfirebugのコンソールで怒られます。 即時関数(function un(){})(); のところで怒られているようです。 ------------------------------------------------------------------ <script> j = !1 (function un(){ var i = 0; })(); alert(j); </script> ------------------------------------------------------------------ コンソールの文言はさておき、j = !1;としたら通ったので、おそらく ステートメントの終わりとして認識されてなかったのだなとおもいます。 un(){}の様に普通の関数にしたら通りました。 即時関数の直前だからダメなのでしょうか? どなたか、ご指南お願いいたします。

  • エラー

    JAVA SCRIPTでWINDOWが開くように以下のようにヘッダに入力しました。 <SCRIPT language="JavaScript"> <!-- function OpenWin1(){ window.open("http://www.******.htm","new_win","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=yes,resizable=no,Width=500,Height=700"); win.moveTo(0,0); } //--> </SCRIPT> それをブラウザから見ると、ウインドウを開いた後にもとのウインドウの下に 「ページでエラーが発生しました」 とでてしまいます これは、構文が間違っているのでしょうか? それともほかに何か原因があるのでしょうか? よろしくおねがいします

  • テキストエリアに履歴を残したい

    以下のスクリプトではテキストエリアにボタンを押した時刻が、その都度表示されるだけです。複数回ボタンを押したときに履歴が残るようにしたいのですが難しいでしょうか? <html> <head> <title>履歴</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <script type="text/javascript"><!-- myDate = new Date(); Y = myDate.getFullYear(); M = myDate.getMonth() + 1; D = myDate.getDate(); myTime = new Date(); H = myTime.getHours(); m = myTime.getMinutes(); S = myTime.getSeconds(); L = Y + "年" + M + "月" + D + "日" + H + "時" + m +"分" + S + "秒\n" function myFunc(){ myDate = new Date(); Y = myDate.getFullYear(); M = myDate.getMonth() + 1; D = myDate.getDate(); myTime = new Date(); H = myTime.getHours(); m = myTime.getMinutes(); S = myTime.getSeconds(); Log = Y + "年" + M + "月" + D + "日" + H + "時" + m +"分" + S + "秒\n" document.myForm.Log.value = Log; } //--> </script> </head> <BODY> <CENTER> ボタンを押すと履歴が表示されます。 <form name="myForm"> <input type="button" value="PUSH" onClick="myFunc()" STYLE="font-size: 16pt;"> <P> <textarea name="Log" cols="50" rows="15" STYLE="font-size: 16pt;"> PUSH履歴が表示されます。 </textarea> </form> </CENTER> </body> </html> 宜しくお願いします。

専門家に質問してみよう