1 名前:デフォルトの名無しさん mailto:sage [2014/06/29(日) 11:07:03.38 ID:5HmND7Qc.net] Google Apps Script でのプログラミング等に関する質問スレです Excel や Access の VBA に不満のあるあなた web アプリだけでなくクライアントアプリからも利用したいあなた ローカルなデータベースやファイルだとバックアップに不安のあるあなた ム板に無かったので立ててみます Google Apps Script ttps://developers.google.com/apps-script/ Google Drive API ttps://developers.google.com/drive/ Getting Started with the Google Data Python Library ttps://developers.google.com/gdata/articles/python_client_lib ■関連スレ Google Maps API 質問箱 peace.2ch.net/test/read.cgi/tech/1131627583/ Microsoft SkyDrive API peace.2ch.net/test/read.cgi/tech/1385604796/ 【GoogleAppsScript】猿92【研究せよ!!!】 nozomi.2ch.net/test/read.cgi/php/1398600864/ GoogleAPIってどうよ? nozomi.2ch.net/test/read.cgi/php/1018614427/ Google App Engine for Python 6アプ目 nozomi.2ch.net/test/read.cgi/php/1358570953/ Google App Engine for java peace.2ch.net/test/read.cgi/tech/1317639323/ GoogleWebToolkit[GWT]について語ろう nozomi.2ch.net/test/read.cgi/php/1147975874/
363 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 08:27:21.58 ID:h8+/QyVK.net] >>359 ”→'
364 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 18:37:45.76 ID:0Tg51mYJ.net] >>359 3行目は開いてるスプレッドシートに対してしか効かないとか。 試してないけど。 別に開かずとも変数sheetは取れてるだろうから、3行目は書かなくてもその後のやりたいことはできるのでは?
365 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 18:40:37.70 ID:0Tg51mYJ.net] >>364 もしくは、3行目を SpreadsheetApp.setActiveSheet じゃなくて ss.setActiveSheet ってできないかな?
366 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 23:50:12.42 ID:TIDq1bhf.net] >>359 試してはないけど、まずアクティブなシート取得しないとエラるっぽい nevernoteit1419.blogspot.jp/2012/01/blog-post_569.html?m=1 https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app#setActiveSheet(Sheet)
367 名前:デフォルトの名無しさん mailto:sage [2016/12/27(火) 01:28:56.39 ID:tIGH6DEG.net] みなさんありがとうございました! Var SS = SpreadsheetApp.openById(""); Var sheet = SS.getSheetByName(""); SpreadsheetApp.getActivesheet (); でエラー出ずにやることができました
368 名前:デフォルトの名無しさん [2016/12/27(火) 14:37:37.38 ID:6KX94UiV.net] sheetが使われてない
369 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 20:32:30.74 ID:BBb65MXo.net] GASでローカルのtxt、たとえばc:\\test.txtなんかをスプレッドシートに展開したいのだけれど csvを展開するスクリプト(https://github.com/prog-mitsu/importCsv) をいじくりまわしてもどうもうまくいかない このスクリプトだと、フォームが表示されるのだけれど フォームの表示なしで、固定のテキストファイル(たとえばc:\\test.txt)を展開することって GASではむりなんかいな?
370 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 21:45:18.24 ID:5b4VWoeT.net] ローカルのものをGoogleDriveにupするAPIはあるよ
371 名前:366 mailto:sage [2017/01/09(月) 07:41:00.04 ID:kW/T2j6A.net] >>370 早速の返信ありがとうございます いろいろ調べましたが tokidoki-web.com/2013/08/file-api%E3%81%A7%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E6%83%85%E5%A0%B1%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E3%82%84%E3%82%93%E3%82%88/ にあるとおり >セキュリティの問題上でパスを「C:\file.txt」や「../text/file.txt」の様に指定してファイルを書き直す事はできません。 との状況です
372 名前:デフォルトの名無しさん [2017/01/09(月) 10:02:02.53 ID:/7U8UXhW.net] ローカルのものをGoogleDriveにupしたあと それをGASで開くんだよ
373 名前:366 mailto:sage [2017/01/12(木) 21:41:52.77 ID:35gbmkUr.net] >>372 その、「ローカルのものをGoogleDriveにup」をフォームなどの表示なしに自動化したいのです
374 名前:デフォルトの名無しさん mailto:sage [2017/01/13(金) 00:01:00.63 ID:YkcCHApN.net] >>373 デスクトップ版のGoogle Drive使って 自動同期でうpすれば?
375 名前:366 mailto:sage [2017/01/13(金) 23:07:28.92 ID:lbjer3ZB.net] >>374 ありがとうできました。
376 名前:デフォルトの名無しさん mailto:sage [2017/02/02(木) 07:52:54.77 ID:hDfY8PDB.net] 半年ほど前にお世話になった者です スプレッドシートでimportdata関数を使っていたんですが Loading......が頻発するので、やはりGASで対処したいのです データ取得までは出来てると思うのですが、シートに書き込む段階が全くおかしいようで・・ function fetchData(){ var response = UrlFetchApp.fetch("hesonogoma.com/stocks/data/japan-all-stock-prices" ); var json = response.getContentText(); var kakaku = JSON.parse(json); var range = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(1, 1); range.offset(0, 0, 6000, 26).clear(); for(var i=0; i<kakaku.length; i++) { var event = kakaku[i]; range.offset(i+1,0).setValue(event); } } 正解か、参考になるサイトをご教授いただきたいのです 色んなサイトのコード切り貼りしすぎて、頭がおかしくなってきたw
377 名前:デフォルトの名無しさん [2017/02/02(木) 12:56:10.24 ID:Y5kXFMjA.net] アクセス権は?
378 名前:373 mailto:sage [2017/02/03(金) 06:23:34.32 ID:HRggU1Ve.net] >>377 仕組みがよくわからないんですが、 ログにはデータ表示されるのでアクセスは出来ているはず・・・ ・・もしかしてアクセス権というのは違法性の問題とかですか!? すみません、だったら質問とりやめますが
379 名前:デフォルトの名無しさん mailto:sage [2017/02/03(金) 08:05:00.39 ID:HRggU1Ve.net] 色々やってみたら一応なんとかなりました 1年ちょいのモヤモヤが一気に解消して、いま涙目になってますウォォ ありがとうございました!
380 名前:デフォルトの名無しさん mailto:sage [2017/02/03(金) 16:11:50.71 ID:Jl+ODihZ.net] 役に立たんちんぽだな
381 名前:デフォルトの名無しさん mailto:sage [2017/02/15(水) 00:43:00.46 ID:8OzNcjl5.net] エラーのメールいっぱいくるからトリガー止めようと思っても保存押したらサーバーエラーになっちゃう
382 名前:デフォルトの名無しさん mailto:sage [2017/02/15(水) 13:37:01.14 ID:8OzNcjl5.net] "サービスで1日に使用しているコンピュータ時間が長すぎます”っていうエラー出るだけど どういうエラーか分かりますか? なにもいじってないのに昨晩から急に出るようになった
383 名前:デフォルトの名無しさん mailto:sage [2017/02/15(水) 13:39:42.93 ID:0zPxl8zN.net] 無限ループ
384 名前:デフォルトの名無しさん mailto:sage [2017/02/15(水) 13:40:56.40 ID:8OzNcjl5.net] なるほど なんで急になったんだろう
385 名前:デフォルトの名無しさん mailto:sage [2017/02/18(土) 13:34:37.67 ID:sYCIN7Mu.net] 1日のMAXが累計1時間だっけか 処理回数が多いか、実行時間が長いんだろうな
386 名前:379 mailto:sage [2017/02/19(日) 12:34:42.66 ID:I5IVz31O.net] 1日止めて何も変えずトリガー元に戻しましたが、今のところ問題無し 数は減らしましたがペースは変えず
387 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 17:20:09.61 ID:D6mIqUvN.net] Spreadsheetで行の非表示/表示はsheet.hideRow(rowIndex)/sheet.unhideRow(rowIndex)ですが、 ある行が非表示であるかどうかはどのように確認できますか?
388 名前:デフォルトの名無しさん [2017/03/02(木) 18:37:21.00 ID:ZV5SMkF2.net] visible
389 名前:デフォルトの名無しさん mailto:sage [2017/03/09(木) 00:32:07.05 ID:JhFIW3VD.net] >>388 ありがとうございます。それってどのクラスから生えてますか? 一応、下のようになってみましたができませんでした。 sheet.getRange(1, 1).visible
390 名前:デフォルトの名無しさん mailto:sage [2017/03/09(木) 00:45:24.51 ID:9+K5Dr1K.net] Visible
391 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 02:53:31.23 ID:+YP/FacC.net] https://code.google.com/p/google-apps-script-issues/issues/detail?id=195 これがOpen issueってことはサポートされてないんでは?
392 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 14:16:44.62 ID:QRqRtZxP.net] >>391 ありがとうございます。確かにそのページによるとサポートされてなさそうですね。 stackoverflowでいくつかの同様な質問を見つけましたが、できない的なことが書かれてました。 visibleの件ももう少し調べてみて、できそうになかったら諦めます。
393 名前:デフォルトの名無しさん [2017/03/26(日) 23:38:49.69 ID:bKMbQXbX.net] var triggerUniqueId = ScriptApp.newTrigger("doPost2") .timeBased() .after(100) .create() .getUniqueId(); これを実行すると以下の3パターンの動作になるのだがなんとかならないかな? ・すぐにdoPost2に飛んでくる ・数秒〜数十秒後にdoPost2に飛んでくる ・どんだけ待とうがdoPost2に飛んでこない(何分か待ってれば飛んでくるのか?) ちなみに飛んでこなかった場合は全てのトリガを削除してからやり直してる。
394 名前:390 mailto:sage [2017/03/27(月) 00:25:00.99 ID:0WjH3gBI.net] 微妙に勘違いされそうな書き方だったので追記 doPost2に飛んできたときはその中でトリガを削除しているので 「飛んでこなかった場合は全てのトリガを削除してからやり直してる。」ということです。
395 名前:デフォルトの名無しさん mailto:sage [2017/03/27(月) 01:50:47.06 ID:R2ENwT8H.net] 100ms後にdoPost2に飛ばしたいってこと? 最終的になにがしたいかわからん そのidでなにすんの?
396 名前:デフォルトの名無しさん mailto:sage [2017/03/27(月) 07:58:56.68 ID:7fg5PAil.net] PayPal IPNの処理が目的です。
397 名前:デフォルトの名無しさん mailto:sage [2017/03/27(月) 08:47:26.49 ID:VebtMPKj.net] 目先の目的は「指定した時間後にdoPost2を実行したい」です。 100msが1秒になるにはまだ許容範囲ですが、 さすがに数十秒後やかなり待っても飛んでこないのはなにか設定がおかしいのかなと。
398 名前:デフォルトの名無しさん mailto:sage [2017/03/27(月) 20:46:24.21 ID:2rEhsR/n.net] トリガーをつくるのではなく、Utilities.sleepじゃダメ?
399 名前:デフォルトの名無しさん mailto:sage [2017/03/27(月) 23:05:58.94 ID:8SS48vh4.net] 大雑把に以下のような流れになるのでsleepでは無理っす。 1, PayPalからPOSTがくる 2, PayPalにHTTP 200を返す 3, PayPalにPOSTを投げる https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNIntro/ function doPost(e) { トリガ仕掛ける HTTP 200を返す } function doPost2() { POSTを投げる } いろいろ試したけど60秒とか大きな値ならそれっぽいタイミングでトリガがかかるみたい。 短すぎる設定時間はダメなのかなぁ。
400 名前:デフォルトの名無しさん mailto:sage [2017/03/28(火) 08:44:43.71 ID:o5IlqyIy.net] トリガの指定って分単位だった気がする 内部的にcronだから ○時ちょうどにトリガー仕掛けたくて試したけど無理で、59分にしかけて00秒まで待つって実装にしたことがある 非同期処理ができないから難しいかも 秒数は一定じゃないから、1分後にトリガー設定しても最大1分59秒後になることもある にしても面倒な仕様だなPaypal
401 名前:デフォルトの名無しさん [2017/05/05(金) 06:31:43.18 ID:SiZHVQw5.net] VBAのCall ステートメントは、Google Apps Scriptの場合どう記述すればいいですか?
402 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 07:47:20.79 ID:SiZHVQw5.net] 自己解決しました。(・ω<) テヘペロ
403 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 12:32:35.84 ID:jKxGUXHj.net] アクティブシートのカーソルがあるセル(アクティブセル)の行番号を、別のシート(setei)のB1へコピーしたいのですが、 うまく行きません。 5行目のvar copyValue〜の値をmsgBoxで出力すると、希望通りの値が出ているので、そこまでは合っていると思うのでが、 6行目で取得した行番号を、別のシートのB1に入れる所で躓いています。解決方法を教えて頂けないでしょうか? function myFunction() { var sheet = SpreadsheetApp.getActiveSpreadsheet(); var sheet_copyFrom = sheet.getActiveSheet(); var sheet_copyTo = sheet.getSheetByName('setei'); var copyValue = sheet_copyFrom.getActiveCell().getRow(); sheet_copyTo.getRange('B1').setValues(copyValue); }
404 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 13:22:55.89 ID:v32VfkzT.net] 行番号をコピーするの?アクティブセルの値じゃなくて?
405 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 13:30:26.13 ID:v32VfkzT.net] sheet_copyTo.getRange('B1').setValue(copyValue);
406 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 15:17:11.71 ID:jKxGUXHj.net] >>404-405 希望どうりのことができました。ありがとうございます! スペルが間違っていたとは・・
407 名前:デフォルトの名無しさん [2017/05/21(日) 21:07:56.13 ID:UO8/oZl+.net] 質問です。 スプレッドシートのシートを並び替えることはできますか? セル範囲のデータならSORTでできることは知っているのですが、シートには使えませんよね。 日付がシート名になってて、それを昇順に並び替えしたいのです。 よろしくお願いします。
408 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 08:08:37.50 ID:Bx+b+qt8.net] 出来ないことはなだろうが面倒くさいし、丸投げならお断り。
409 名前:デフォルトの名無しさん [2017/05/22(月) 16:43:39.47 ID:j0GB+9U0.net] IDかわりましたけど404です。 >>408 めんどくさい方法ですけど、一応自分で作ってはみました。 これよりいい方法があるのか、改めてお知恵をお貸しください。 var ss = SpreadsheetApp.openById(file.getId()); var sheets = ss.getSheets(); // シート名(yyyyMMdd形式)で昇順ソート sheets.sort(function(a, b){ var aa = Number(a.getSheetName()) || a.getSheetName(); var bb = Number(b.getSheetName()) || b.getSheetName(); if (aa < bb) return -1; if (aa > bb) return 1; return 0; }); // 別スプレッドシートにコピー for (var n in sheets) { var sheet = sheets[n]; var sheetName = sheet.getSheetName(); sheet.copyTo(sortedSs).setName(sheetName); } 同じスプレッドシートでの並べ替えを諦めて、別スプレッドシートにソート済みをコピーしたってだけのものです。
410 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 22:49:33.07 ID:Bx+b+qt8.net] 1.シート数を取得 2.全シート名を配列へ 3.配列をソート array.sort() 4.シートを移動
411 名前:デフォルトの名無しさん [2017/05/23(火) 20:48:03.04 ID:RApg7j5+.net] >>410 4. シートを移動 これができなくて悩んでたんですが SpreadsheetオブジェクトにinsertSheetメソッドやmoveActiveSheetメソッドがありますね。 何とか実装できそうです。 ありがとうございました。
412 名前:デフォルトの名無しさん [2017/06/23(金) 10:37:10.09 ID:0OdP20aK.net] 乙
413 名前:デフォルトの名無しさん mailto:sage [2017/06/25(日) 21:20:03.77 ID:xjvWfy2S.net] getValuesで取得した二次配列の、あるインデックス番号Ary[n][n]から、セル番号を取得するにはどうすれば良いでしょうか? 又、それはAPIを使わず、javaの配列処理の中で完結できるものなのでしょうか?
414 名前:デフォルトの名無しさん mailto:sage [2017/06/26(月) 07:20:27.40 ID:POytUkXJ.net] その二次配列はどのセル番号から取得したんだよ。
415 名前:デフォルトの名無しさん [2017/06/26(月) 11:16:36.54 ID:H+izVTcm.net] modは義務教育で教えるべきだな
416 名前:デフォルトの名無しさん mailto:sage [2017/06/26(月) 15:45:17.47 ID:Zgx9U3+p.net] gasなのかわからないですが、間違いならすみません。 フォームで@郵便番号を入れたら住所の一部を表記させたいのですが、できるのでしょうか? A特定の数字をいれたら、外部からその数字に該当するデータを引っ張れるでしょうか?(社員コードいれなら社員名がでるイメージです) 誠にすみませんが、可能ならばご教授 おねがいします。 gasはさわったことないので、できそうならば、やってみたいとおもいます。
417 名前:デフォルトの名無しさん [2017/06/26(月) 20:44:30.70 ID:iMKCKa0h.net] >>416 1.できます 2.できます 3.ajax
418 名前:デフォルトの名無しさん mailto:sage [2017/06/26(月) 21:07:30.37 ID:YNcumjCY.net] >>417 おしえてくださいばっかりでもうしわけありませんが、本当に素人でして。 コードやら参考のURLでもありましたらおねがいします。
419 名前:デフォルトの名無しさん mailto:sage [2017/06/26(月) 22:04:28.18 ID:c+BwvDt7.net] うーん、この、ggrks感
420 名前:デフォルトの名無しさん [2017/07/05(水) 17:50:45.17 ID:aOT9LPA2.net] /** * @return ライブラリ名 */ とやっているのに返り値のメソッド補完が効きません… 何か間違っているでしょうか…
421 名前:デフォルトの名無しさん mailto:sage [2017/07/05(水) 18:12:42.59 ID:lervoDRk.net] それ、ただのコメントでは?
422 名前:デフォルトの名無しさん [2017/07/05(水) 19:25:23.18 ID:aOT9LPA2.net] >>421 コメント付けると補完が効くようになると聞きました
423 名前:デフォルトの名無しさん mailto:sage [2017/07/05(水) 19:46:41.16 ID:lervoDRk.net] 波括弧で括ってないからかな?
424 名前:デフォルトの名無しさん mailto:sage [2017/07/06(木) 14:10:14.25 ID:flMfxcNT.net] うちはできてる
425 名前:デフォルトの名無しさん mailto:sage [2017/07/12(水) 23:56:43.84 ID:zDi+fEh9.net] 外部サイトで申し訳ないのですが、GASについて下記のサイトのチュートリアルを試していたのですが ttps://tonari-it.com/gas-web-appli-spreadsheet-append/ 真似をしてみても、エラー出てしまいます。 getActiveSheet を呼び出す権限がありません(行 2、ファイル「test2」、プロジェクト「HTMLページ表示」) 自分のコードが間違えたのかと、コードをコピペしたり、スクリプト認証を再度許可を出すために 現在とは別にファイルを作り直したりしたのですが、同じエラーが出てしまいます。 このエラーを回避するにはどうすれば良いでしょうか?
426 名前:デフォルトの名無しさん mailto:sage [2017/07/13(木) 13:23:39.30 ID:G6DCMcFU.net] よそから持ってきたライブラリを使ってないか
427 名前:422 mailto:sage [2017/07/13(木) 13:30:04.56 ID:7vUNc/rI.net] すみません自己解決しました。 原因はスクリプトにプロジェクトのトリガーを設定していなかったことが原因だった様です。 公開済みのHTMLなのでアクセスすれば良いだけでなのに、なんでや!と思っていたのですが、 googleのwebアプリの場合、公開時にアサインされるHTMLへのリンクは、実はHTMLへのリンクではなく、 リンク > Ajax > .gs > html という流れらしく(たぶん) 3番目の.gsにトリガーが設定されてないとダメという感じの様です。なので.gsのトリガー設定した所動きました。 [設定したトリガー] 実行:doGet イベント:スプレッドシートから・起動時に設定 このトリガー自体適当に設定したので、spreadsheetに紐付いた(コンテナバウンド)webアプリがこのトリガーで本当に良いのか? .gsがスタンドアローンだったらどうするのか?などは自分の知識ではまだ不明です。 割と有名(みんなが引っかかる)ワナらしく、「GAS 実行する権限がありません」でググると色々出てきます。
428 名前:デフォルトの名無しさん mailto:sage [2017/07/13(木) 14:07:47.08 ID:G6DCMcFU.net] そんなことはチュートリアルの一番最初に書いてある
429 名前:デフォルトの名無しさん [2017/09/26(火) 05:38:02.61 ID:uiCOOs0C.net] ぐぐってきたけど、ここそんなに人気ないの?
430 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 15:54:12.38 ID:dGip1y4C.net] ऄ
431 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 19:33:58.52 ID:vmZLMK5C.net] すみませんが質問させてください。 現在、google appsのみで簡易ウェブアプリの制作を試みています。 構成は htmlservice+gas+spredseet(DB) です。 各種申請をweb化するのですが、アクセスしたユーザーのgmailアドレスもDBに格納します。 session.getactiveuser().getemailを利用するため、スクリプトの実行者は「アプリケーションアクセスしているユーザー」にしています。 そうすると、spreadsheetも全員に公開する必要がありますが、spreadsheetの中身は個人情報を少し含むため見られたくありません。 なにかいい方法はありますでしょうか、、、fusiontablesなどであればできるのでしょうか?
432 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 19:49:32.88 ID:pQJJ1OIB.net] ユーザーごとの情報はユーザープロパティに入れるべきでは?
433 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 13:03:25.12 ID:Is6BRq5M.net] >>432 ご助言ありがとうございます。 propaties serviceについて調べた見ましたが、ユーザープロパティとして保存した場合、他のユーザーからは一切アクセスできないものと思いました。 一部のユーザー(システム管理を行う数名)に対しては、データの参照ができるようにしたいと思ったおります(申請されたデータを承認するようなワークフローアプリを検討しているため。後出して申し訳ありません)
434 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 14:45:10.73 ID:/heCrwKp.net] サイズが十分小さければスクリプトプロパティかな。 たしか500KBくらいまで。 あるいは、スプレッドシートにスクリプトを付属させるんじゃなく、 独立プロジェクトにして、openByIdとかopenByUrlとかは?
435 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 15:36:25.01 ID:Is6BRq5M.net] >>434 ご助言ありがとうございます。 プロパティについては、思いの外データの種類が増えそうなため難しそうです。 スクリプトをスタンドアロンにして、openbyidがいいですかね、万一idがバレてしまった時のことが不安ですが、そういったことは起こらないと思っていい感じでしょうか。
436 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 10:38:02.39 ID:PJxaABWy.net] アプリを分けて階層化しろ
437 名前:デフォルトの名無しさん [2017/09/29(金) 01:18:28.86 ID:tHWOJPZ9.net] for (var i = 1; i <= ss.getLastRow() ; i++){ ss.getRange(x,y).setFormula('=IMPORTHTML("https://www.yahoo.co.jp","table"1+i,'); } for分の中で関数の最後の部分を1ずつ足していきたいのですが、セルに出力された際は「i」の部分は数字としては見てくれません。 1つずつ足していく方法はありますでしょうか。
438 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 08:18:30.31 ID:qX48jByc.net] >>436 ありがとうございます。 ライブラリ化するということでしょうか。 getEmailする部分を別アプリ(アプリにアクセスしているユーザー実行)にして、spreadsheet操作をするアプリはオーナーとして実行する感じでしょうか。 調べてみます。
439 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 11:06:26.65 ID:/1pN5XFr.net] >>435 >そういったことは起こらないと思っていい感じでしょうか マーフィーの法則というのがあってだな そういう起こって欲しくないことは起こるんだ
440 名前:434 [2017/09/29(金) 11:38:46.26 ID:tHWOJPZ9.net] 自己解決しました。 ss.getRange(x,y).setFormula('=IMPORTHTML("yahoo.co.jp","table",1+'+i+')');
441 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 20:03:28.12 ID:CxLsHkIL.net] googleドライブにアップしたエクセルxlsを自動でspreadsheetに変換するコードはありますか
442 名前:デフォルトの名無しさん [2017/10/28(土) 10:08:42.77 ID:w8au0uVc.net] すべてのシートで文字の一括置換をしたいのだけど、セル毎に処理するしかないのかな?
443 名前:デフォルトの名無しさん [2017/10/28(土) 11:18:38.62 ID:YrbVG7kU.net] >>441 pythonでダウソするやつはある
444 名前:438 mailto:sage [2017/10/28(土) 19:55:11.76 ID:aeUdpVUN.net] >>443 検索してなんとなくできそうなのでやってみます ありがとうございました
445 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 02:54:44.20 ID:StX7DGK4.net] GAS単体でajaxのようなwebページをクローリングすることは可能ですか? やっぱり外部を通さないと無理でしょうか
446 名前:デフォルトの名無しさん mailto:sage [2017/11/12(日) 17:25:52.88 ID:StX7DGK4.net] 自己解決しました
447 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 13:04:40.18 ID:8/cIJ70S.net] スプレッドシートの制御をAndroidから行う方法をご教示頂けませんでしょうか。 内容としては複数列のソートを行いたいのです。 現状は列指定でソートをかけているのですが、列数が多く余分な時間がかかります。 PCからは実行できているのですが、同様の事がAndroid上から行えたらと思います。 実行用のトリガーがAndroidで使用できずに困っております。 現状トリガーは図形に対してスクリプト実行させていますが、タップしてもAndroidでは削除しか出てきません。
448 名前:デフォルトの名無しさん mailto:sage [2017/11/14(火) 18:34:16.47 ID:IvDpdEfa.net] function onOpen()とmenuEntries.push使えば?
449 名前:デフォルトの名無しさん mailto:sage [2017/12/26(火) 09:12:50.22 ID:myEYxvrC.net] https://script.google.com/dashboard/quota ↑にあるトリガーの合計実行時間や、URLFetch の呼び出し、URLFetch のデータの受信が 現在どのくらい使用されている分かるページは無いですか? https://console.developers.google.com GoogleドライブAPIなら↑でわかるのにそれ以外載って無くて…
450 名前:デフォルトの名無しさん mailto:sage [2018/01/03(水) 23:47:48.36 ID:cEXvj/Pp.net] サーバー側でjqueryって使えますか? WebスクレイピングのHTMLパーサとしてjqueryを使いたいのですが…
451 名前:デフォルトの名無しさん [2018/01/04(木) 12:56:13.15 ID:o7CttU7P.net] node.jsと思ったがGASか
452 名前:デフォルトの名無しさん mailto:sage [2018/01/05(金) 01:26:13.05 ID:GBYhvW0R.net] >>450 npmでjQueryをinstall webpackでbundle node-google-apps-scriptでアップロード って感じでいけないかな? 試してないのでできるか分からないけど
453 名前:デフォルトの名無しさん mailto:sage [2018/01/05(金) 10:44:01.68 ID:Vef7Ikrv.net] 一部の機能なら普通に使える
454 名前:デフォルトの名無しさん [2018/01/06(土) 11:51:13.98 ID:HbY4/bGY.net] どっかよそのAPI使うとか
455 名前:デフォルトの名無しさん mailto:sage [2018/01/07(日) 11:57:20.99 ID:ez3NxZhX.net] Googleドライブにあるスプレッドシートを JSONファイルを返すウェブアプリケーションとして使ってるんだが JSONデータがブラウザにキャッシュされなくて困っている cache-control:no-cache pragma:no-cache expires:Mon, 01 Jan 1990 00:00:00 GMT というhttpヘッダを返してきてキャッシュさせてくれないんだが、 このヘッダを書き換える方法は無いか? 一ヵ月に1度、2度くらいしか更新されないデータだが、毎日頻繁に参照されるもので データが1.4MBデカい為、変更されたときだけ読み込むようにヘッダを書き換えたい
456 名前:デフォルトの名無しさん mailto:sage [2018/01/07(日) 12:29:16.75 ID:S38kpWyE.net] キャッシュされたら困るからなー
457 名前:デフォルトの名無しさん mailto:sage [2018/01/13(土) 02:09:46.21 ID:Tg/TmElT.net] >>450 こないだ同じような用途でjsdomとjquery使ったわ。 たしかこんなかんじ var JSDOM = require('jsdom').JSDOM; JSDOM.fromUrl('https://example.com/').then(function(dom) { var window = dom.window; var jQuery = $ = require('jquery')(window); // ここから$('ul#hoge > li.huga')とか普通に使えるはず });
458 名前:デフォルトの名無しさん mailto:sage [2018/01/27(土) 11:48:39.68 ID:j3glEAxX.net] 色々出すぎ https://www.amazon.co.jp/dp/4798053767/ https://www.amazon.co.jp/dp/4798137146/ https://www.amazon.co.jp/dp/4865941215/ https://www.amazon.co.jp/dp/B01LXFUA8J/ https://www.amazon.co.jp/dp/B014VMULUG/
459 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 03:46:39.25 ID:xa+QRUJO.net] GASって「const 定数名 = 1;」 みたいな記述できない? varしか無理?
460 名前:デフォルトの名無しさん [2018/01/29(月) 23:20:08.61 ID:5eR4vC6L.net] constはランタイムエラー letは通る だったような記憶
461 名前:デフォルトの名無しさん [2018/02/06(火) 22:16:05.06 ID:/gHduiD+.net] addMenuでスプレッドシートに追加する独自メニューを条件によって選択不可にすることはできますか? 通常のメニューと同じようにグレーアウトして選択できないようにしたいです。
462 名前:デフォルトの名無しさん mailto:sage [2018/02/10(土) 06:53:00.00 ID:C1kfYYFU.net] 1日1回、UrlFetchでページネイションされた数十ページを取得したいのですが 負荷軽減のため数秒は間隔を明けて取得したいです settimeoutでエラーがでるのは、GASでは使えないということなのでしょうか? 出来ないとしたら代替方法の検索のヒントなどを教えていただきたいです
463 名前:デフォルトの名無しさん mailto:sage [2018/02/11(日) 06:27:45.78 ID:E5AjV+At.net] GASってひょっとしてfor(let data of datas)みたいな構文は通らないのか?