【MACRO】Google Apps Script 質問スレ【DRIVE】at TECH
【MACRO】Google Apps Script 質問スレ【DRIVE】 - 暇つぶし2ch343:デフォルトの名無しさん
16/08/24 01:12:18.88 dEIn8nhr.net
GASでgoogleAPIを叩いてgmailの下書きを作成するものを作ったのですが、
これを毎日作成(雛形をコピー)するスプレッドシードで使いたいと思っています。
スプレッドシートに書いてコピーすると、gAPIの紐付けプロジェクトが変わっているので設定しなおさなければ使えず、困っています。
スプレッドシートをコピーして、シート上のボタンを押したらすぐに下書きを作れる状態を作りたいのですが、どのような方法がありますか?

344:デフォルトの名無しさん
16/08/24 09:46:43.51 nL2g9QDB.net
>>343
GASのGmailAppでダメ?
URLリンク(qiita.com)
個人的にはフォームから入力させた方がGUI的にいいと思うけど
スプレッドシートに保存したいならその後GASで自動追加させとけばいいし

345:デフォルトの名無しさん
16/08/24 15:58:08.87 Ku8YOB4B.net
>>343
ライブラリ化する

346:デフォルトの名無しさん
16/08/25 08:04:24.21 Y3c8VA1Y.net
>>342
329です 参考にしてみます
ありがとうございます!

347:デフォルトの名無しさん
16/08/25 23:18:14.53 5XLt8Aa8.net
>>332,>>346
よっしゃ、俺がやってやらぁ!って思って意気込んでサイトみたら普通にJSONで取れた
URLリンク(hesonogoma.com)

348:デフォルトの名無しさん
16/08/27 08:39:19.05 m8PsOLXX.net
>>347
おお、、、これで目的は果たせそうです
皆さん長々とありがとうございました!勉強も少しずつ続けます

349:334
16/08/27 11:42:11.09 RucMLpGl.net
>>342
ありがとうございます。ですが、そのライブラリだと正規表現を使うのと全く変わらないです。
いっそのこと自作しようと思います。
ありがとうございました。

350:デフォルトの名無しさん
16/09/28 22:05:17.24 eXjFddOW.net
ここ最近CalendarAppのアクセス頻度でエラーが出るようになった
Googleはアナウンスなしで仕様変更してくるのやめてほしい

351:デフォルトの名無しさん
16/10/19 12:06:30.27 r6QG4f4p.net
G Suite ω

352:デフォルトの名無しさん
16/10/19 18:25:48.15 V4/PZwvc.net
株価のサイトにはNASDAQとかもあるのか
このJSONデータが無料ってすごいな

353:デフォルトの名無しさん
16/10/22 17:05:09.77 O48rD9qT.net
>>350
ほんそれ

354:デフォルトの名無しさん
16/11/25 23:29:15.59 dTj7tfXq.net
プロジェクトの.gsファイルって並び替えってできないんですか?

355:デフォルトの名無しさん
16/12/13 18:03:00.36 x2U1jQSF.net
google sitesとスプレッドシートとの連携について教えて下さい。
google sitesで作成したページ(AAAについての確認とします)上に個人名でいくつかの
CK BOXがあります。
----------------------------
<AAAについての確認>
□Aさん
□Bくん
□Cちゃん
□Dちゃん
□Eさん
送信
----------------------------
いくつかのCK BOXにCKが入っているとして”送信”を押したら次の様にスプレッドシートを操作する方法を
教えて下さい。
1. googleドライブ上の指定されたスプレッドシート内に<AAAについての確認>というシートが作成される。
2. 1で作成されたシートにAさんからEさんまでのCK BOX STATUSを記録する
3. 送信した日付も記録する
目的としては、家族内情報共有ホームページを作成したいです。
Googleサイトが無償でホームページが作成できるとのことでGoogleサイトでのこの内容の動きが
出来るか教えていただきたいです。

356:デフォルトの名無しさん
16/12/13 21:30:54.00 mRmuTzdU.net
フォームの名前を<AAAについての確認>とすればいい。

357:デフォルトの名無しさん
16/12/14 13:19:44.27 UzzFPJML.net
CK BOX
って何かと思った

358:デフォルトの名無しさん
16/12/17 01:48:09.89 3C8QRPXl.net
GASであるサイトをスクレイピングしたいけど、ログインしないと情報が取得できない。
クッキーをセットしたりすればログインしてアクセスできるけど、それってセキュリティ的に危険かな?

359:デフォルトの名無しさん
16/12/19 23:51:02.67 Hch485Lz.net
GASでスプレッドシートをいじろうと思ってるのですか、まず有効なスプレッドシートを選択してくださいと。と表示されてできません。なにがダメなのでしょうか。下記のようにやっています。
var ss = SpreadsheetApp.OpenById("");
var sheet = ss.getSheetByName("");
SpreadsheetApp.setActiveSheet(sheet);

360:デフォルトの名無しさん
16/12/20 12:59:03.44 lAXr92yw.net
IDは?

361:デフォルトの名無しさん
16/12/20 19:57:35.71 ktde9hau.net
oops

362:デフォルトの名無しさん
16/12/21 00:25:00.04 nYEPRmnr.net
ID、シート名ともにあってます…
スプレッドシートからスクリプトエディタを使わないとできないのでしょうか?今は別にスクリプトファイルを作ってやってます

363:デフォルトの名無しさん
16/12/21 08:27:21.58 h8+/QyVK.net
>>359
”→'

364:デフォルトの名無しさん
16/12/22 18:37:45.76 0Tg51mYJ.net
>>359
3行目は開いてるスプレッドシートに対してしか効かないとか。
試してないけど。
別に開かずとも変数sheetは取れてるだろうから、3行目は書かなくてもその後のやりたいことはできるのでは?

365:デフォルトの名無しさん
16/12/22 18:40:37.70 0Tg51mYJ.net
>>364
もしくは、3行目を
SpreadsheetApp.setActiveSheet
じゃなくて
ss.setActiveSheet
ってできないかな?

366:デフォルトの名無しさん
16/12/22 23:50:12.42 TIDq1bhf.net
>>359
試してはないけど、まずアクティブなシート取得しないとエラるっぽい
URLリンク(nevernoteit1419.blogspot.jp)
URLリンク(developers.google.com)(Sheet)

367:デフォルトの名無しさん
16/12/27 01:28:56.39 tIGH6DEG.net
みなさんありがとうございました!
Var SS = SpreadsheetApp.openById("");
Var sheet = SS.getSheetByName("");
SpreadsheetApp.getActivesheet ();
でエラー出ずにやることができました

368:デフォルトの名無しさん
16/12/27 14:37:37.38 6KX94UiV.net
sheetが使われてない

369:デフォルトの名無しさん
17/01/08 20:32:30.74 BBb65MXo.net
GASでローカルのtxt、たとえばc:\\test.txtなんかをスプレッドシートに展開したいのだけれど
csvを展開するスクリプト(URLリンク(github.com)
をいじくりまわしてもどうもうまくいかない
このスクリプトだと、フォームが表示されるのだけれど
フォームの表示なしで、固定のテキストファイル(たとえばc:\\test.txt)を展開することって
GASではむりなんかいな?

370:デフォルトの名無しさん
17/01/08 21:45:18.24 5b4VWoeT.net
ローカルのものをGoogleDriveにupするAPIはあるよ

371:366
17/01/09 07:41:00.04 kW/T2j6A.net
>>370
早速の返信ありがとうございます
いろいろ調べましたが
URLリンク(tokidoki-web.com)
にあるとおり
>セキュリティの問題上でパスを「C:\file.txt」や「../text/file.txt」の様に指定してファイルを書き直す事はできません。
との状況です

372:デフォルトの名無しさん
17/01/09 10:02:02.53 /7U8UXhW.net
ローカルのものをGoogleDriveにupしたあと
それをGASで開くんだよ

373:366
17/01/12 21:41:52.77 35gbmkUr.net
>>372
その、「ローカルのものをGoogleDriveにup」をフォームなどの表示なしに自動化したいのです

374:デフォルトの名無しさん
17/01/13 00:01:00.63 YkcCHApN.net
>>373
デスクトップ版のGoogle Drive使って
自動同期でうpすれば?

375:366
17/01/13 23:07:28.92 lbjer3ZB.net
>>374
ありがとうできました。

376:デフォルトの名無しさん
17/02/02 07:52:54.77 hDfY8PDB.net
半年ほど前にお世話になった者です
スプレッドシートでimportdata関数を使っていたんですが
Loading......が頻発するので、やはりGASで対処したいのです
データ取得までは出来てると思うのですが、シートに書き込む段階が全くおかしいようで・・

function fetchData(){
var response = UrlFetchApp.fetch("URLリンク(hesonogoma.com));
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:デフォルトの名無しさん
17/02/02 12:56:10.24 Y5kXFMjA.net
アクセス権は?

378:373
17/02/03 06:23:34.32 HRggU1Ve.net
>>377
仕組みがよくわからないんですが、
ログにはデータ表示されるのでアクセスは出来ているはず・・・
・・もしかしてアクセス権というのは違法性の問題とかですか!?
すみません、だったら質問とりやめますが

379:デフォルトの名無しさん
17/02/03 08:05:00.39 HRggU1Ve.net
色々やってみたら一応なんとかなりました
1年ちょいのモヤモヤが一気に解消して、いま涙目になってますウォォ
ありがとうございました!

380:デフォルトの名無しさん
17/02/03 16:11:50.71 Jl+ODihZ.net
役に立たんちんぽだな

381:デフォルトの名無しさん
17/02/15 00:43:00.46 8OzNcjl5.net
エラーのメールいっぱいくるからトリガー止めようと思っても保存押したらサーバーエラーになっちゃう

382:デフォルトの名無しさん
17/02/15 13:37:01.14 8OzNcjl5.net
"サービスで1日に使用しているコンピュータ時間が長すぎます”っていうエラー出るだけど
どういうエラーか分かりますか?
なにもいじってないのに昨晩から急に出るようになった

383:デフォルトの名無しさん
17/02/15 13:39:42.93 0zPxl8zN.net
無限ループ

384:デフォルトの名無しさん
17/02/15 13:40:56.40 8OzNcjl5.net
なるほど
なんで急になったんだろう

385:デフォルトの名無しさん
17/02/18 13:34:37.67 sYCIN7Mu.net
1日のMAXが累計1時間だっけか
処理回数が多いか、実行時間が長いんだろうな

386:379
17/02/19 12:34:42.66 I5IVz31O.net
1日止めて何も変えずトリガー元に戻しましたが、今のところ問題無し
数は減らしましたがペースは変えず

387:デフォルトの名無しさん
17/02/27 17:20:09.61 D6mIqUvN.net
Spreadsheetで行の非表示/表示はsheet.hideRow(rowIndex)/sheet.unhideRow(rowIndex)ですが、
ある行が非表示であるかどうかはどのように確認できますか?

388:デフォルトの名無しさん
17/03/02 18:37:21.00 ZV5SMkF2.net
visible

389:デフォルトの名無しさん
17/03/09 00:32:07.05 JhFIW3VD.net
>>388
ありがとうございます。それってどのクラスから生えてますか?
一応、下のようになってみましたができませんでした。
sheet.getRange(1, 1).visible

390:デフォルトの名無しさん
17/03/09 00:45:24.51 9+K5Dr1K.net
Visible

391:デフォルトの名無しさん
17/03/10 02:53:31.23 +YP/FacC.net
URLリンク(code.google.com)
これがOpen issueってことはサポートされてないんでは?

392:デフォルトの名無しさん
17/03/11 14:16:44.62 QRqRtZxP.net
>>391
ありがとうございます。確かにそのページによるとサポートされてなさそうですね。
stackoverflowでいくつかの同様な質問を見つけましたが、できない的なことが書かれてました。
visibleの件ももう少し調べてみて、できそうになかったら諦めます。

393:デフォルトの名無しさん
17/03/26 23:38:49.69 bKMbQXbX.net
var triggerUniqueId = ScriptApp.newTrigger("doPost2")
.timeBased()
.after(100)
.create()
.getUniqueId();
これを実行すると以下の3パターンの動作になるのだがなんとかならないかな?
・すぐにdoPost2に飛んでくる
・数秒~数十秒後にdoPost2に飛んでくる
・どんだけ待とうがdoPost2に飛んでこない(何分か待ってれば飛んでくるのか?)
ちなみに飛んでこなかった場合は全てのトリガを削除してからやり直してる。

394:390
17/03/27 00:25:00.99 0WjH3gBI.net
微妙に勘違いされそうな書き方だったので追記
doPost2に飛んできたときはその中でトリガを削除しているので
「飛んでこなかった場合は全てのトリガを削除してからやり直してる。」ということです。

395:デフォルトの名無しさん
17/03/27 01:50:47.06 R2ENwT8H.net
100ms後にdoPost2に飛ばしたいってこと?
最終的になにがしたいかわからん
そのidでなにすんの?

396:デフォルトの名無しさん
17/03/27 07:58:56.68 7fg5PAil.net
PayPal IPNの処理が目的です。

397:デフォルトの名無しさん
17/03/27 08:47:26.49 VebtMPKj.net
目先の目的は「指定した時間後にdoPost2を実行したい」です。
100msが1秒になるにはまだ許容範囲ですが、
さすがに数十秒後やかなり待っても飛んでこないのはなにか設定がおかしいのかなと。

398:デフォルトの名無しさん
17/03/27 20:46:24.21 2rEhsR/n.net
トリガーをつくるのではなく、Utilities.sleepじゃダメ?

399:デフォルトの名無しさん
17/03/27 23:05:58.94 8SS48vh4.net
大雑把に以下のような流れになるのでsleepでは無理っす。
1, PayPalからPOSTがくる
2, PayPalにHTTP 200を返す
3, PayPalにPOSTを投げる
URLリンク(developer.paypal.com)
function doPost(e) {
 トリガ仕掛ける
 HTTP 200を返す
}
function doPost2() {
 POSTを投げる
}
いろいろ試したけど60秒とか大きな値ならそれっぽいタイミングでトリガがかかるみたい。
短すぎる設定時間はダメなのかなぁ。

400:デフォルトの名無しさん
17/03/28 08:44:43.71 o5IlqyIy.net
トリガの指定って分単位だった気がする
内部的にcronだから
○時ちょうどにトリガー仕掛けたくて試したけど無理で、59分にしかけて00秒まで待つって実装にしたことがある
非同期処理ができないから難しいかも
秒数は一定じゃないから、1分後にトリガー設定しても最大1分59秒後になることもある
にしても面倒な仕様だなPaypal

401:デフォルトの名無しさん
17/05/05 06:31:43.18 SiZHVQw5.net
VBAのCall ステートメントは、Google Apps Scriptの場合どう記述すればいいですか?

402:デフォルトの名無しさん
17/05/05 07:47:20.79 SiZHVQw5.net
自己解決しました。(・ω<) テヘペロ

403:デフォルトの名無しさん
17/05/14 12:32:35.84 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:デフォルトの名無しさん
17/05/14 13:22:55.89 v32VfkzT.net
行番号をコピーするの?アクティブセルの値じゃなくて?

405:デフォルトの名無しさん
17/05/14 13:30:26.13 v32VfkzT.net
sheet_copyTo.getRange('B1').setValue(copyValue);

406:デフォルトの名無しさん
17/05/14 15:17:11.71 jKxGUXHj.net
>>404-405
希望どうりのことができました。ありがとうございます!
スペルが間違っていたとは・・

407:デフォルトの名無しさん
17/05/21 21:07:56.13 UO8/oZl+.net
質問です。
スプレッドシートのシートを並び替えることはできますか?
セル範囲のデータならSORTでできることは知っているのですが、シートには使えませんよね。
日付がシート名になってて、それを昇順に並び替えしたいのです。
よろしくお願いします。

408:デフォルトの名無しさん
17/05/22 08:08:37.50 Bx+b+qt8.net
出来ないことはなだろうが面倒くさいし、丸投げならお断り。

409:デフォルトの名無しさん
17/05/22 16:43:39.47 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:デフォルトの名無しさん
17/05/22 22:49:33.07 Bx+b+qt8.net
1.シート数を取得
2.全シート名を配列へ
3.配列をソート array.sort()
4.シートを移動

411:デフォルトの名無しさん
17/05/23 20:48:03.04 RApg7j5+.net
>>410
4. シートを移動
これができなくて悩んでたんですが
SpreadsheetオブジェクトにinsertSheetメソッドやmoveActiveSheetメソッドがありますね。
何とか実装できそうです。
ありがとうございました。

412:デフォルトの名無しさん
17/06/23 10:37:10.09 0OdP20aK.net


413:デフォルトの名無しさん
17/06/25 21:20:03.77 xjvWfy2S.net
getValuesで取得した二次配列の、あるインデックス番号Ary[n][n]から、セル番号を取得するにはどうすれば良いでしょうか?
又、それはAPIを使わず、javaの配列処理の中で完結できるものなのでしょうか?

414:デフォルトの名無しさん
17/06/26 07:20:27.40 POytUkXJ.net
その二次配列はどのセル番号から取得したんだよ。

415:デフォルトの名無しさん
17/06/26 11:16:36.54 H+izVTcm.net
modは義務教育で教えるべきだな

416:デフォルトの名無しさん
17/06/26 15:45:17.47 Zgx9U3+p.net
gasなのかわからないですが、間違いならすみません。
フォームで①郵便番号を入れたら住所の一部を表記させたいのですが、できるのでしょうか?
②特定の数字をいれたら、外部からその数字に該当するデータを引っ張れるでしょうか?(社員コードいれなら社員名がでるイメージです)
誠にすみませんが、可能ならばご教授
おねがいします。
gasはさわったことないので、できそうならば、やってみたいとおもいます。

417:デフォルトの名無しさん
17/06/26 20:44:30.70 iMKCKa0h.net
>>416
1.できます
2.できます
3.ajax

418:デフォルトの名無しさん
17/06/26 21:07:30.37 YNcumjCY.net
>>417
おしえてくださいばっかりでもうしわけありませんが、本当に素人でして。
コードやら参考のURLでもありましたらおねがいします。

419:デフォルトの名無しさん
17/06/26 22:04:28.18 c+BwvDt7.net
うーん、この、ggrks感

420:デフォルトの名無しさん
17/07/05 17:50:45.17 aOT9LPA2.net
/**
* @return ライブラリ名
*/
とやっているのに返り値のメソッド補完が効きません…
何か間違っているでしょうか…

421:デフォルトの名無しさん
17/07/05 18:12:42.59 lervoDRk.net
それ、ただのコメントでは?

422:デフォルトの名無しさん
17/07/05 19:25:23.18 aOT9LPA2.net
>>421
コメント付けると補完が効くようになると聞きました

423:デフォルトの名無しさん
17/07/05 19:46:41.16 lervoDRk.net
波括弧で括ってないからかな?

424:デフォルトの名無しさん
17/07/06 14:10:14.25 flMfxcNT.net
うちはできてる

425:デフォルトの名無しさん
17/07/12 23:56:43.84 zDi+fEh9.net
外部サイトで申し訳ないのですが、GASについて下記のサイトのチュートリアルを試していたのですが
URLリンク(tonari-it.com)
真似をしてみても、エラー出てしまいます。
getActiveSheet を呼び出す権限がありません(行 2、ファイル「test2」、プロジェクト「HTMLページ表示」)
自分のコードが間違えたのかと、コードをコピペしたり、スクリプト認証を再度許可を出すために
現在とは別にファイルを作り直したりしたのですが、同じエラーが出てしまいます。
このエラーを回避するにはどうすれば良いでしょうか?

426:デフォルトの名無しさん
17/07/13 13:23:39.30 G6DCMcFU.net
よそから持ってきたライブラリを使ってないか

427:422
17/07/13 13:30:04.56 7vUNc/rI.net
すみません自己解決しました。
原因はスクリプトにプロジェクトのトリガーを設定していなかったことが原因だった様です。
公開済みのHTMLなのでアクセスすれば良いだけでなのに、なんでや!と思っていたのですが、
googleのwebアプリの場合、公開時にアサインされるHTMLへのリンクは、実はHTMLへのリンクではなく、
リンク > Ajax > .gs > html という流れらしく(たぶん)
3番目の.gsにトリガーが設定されてないとダメという感じの様です。なので.gsのトリガー設定した所動きました。
[設定したトリガー]
実行:doGet
イベント:スプレッドシートから・起動時に設定
このトリガー自体適当に設定したので、spreadsheetに紐付いた(コンテナバウンド)webアプリがこのトリガーで本当に良いのか?
.gsがスタンドアローンだったらどうするのか?などは自分の知識ではまだ不明です。
割と有名(みんなが引っかかる)ワナらしく、「GAS 実行する権限がありません」でググると色々出てきます。

428:デフォルトの名無しさん
17/07/13 14:07:47.08 G6DCMcFU.net
そんなことはチュートリアルの一番最初に書いてある

429:デフォルトの名無しさん
17/09/26 05:38:02.61 uiCOOs0C.net
ぐぐってきたけど、ここそんなに人気ないの?

430:デフォルトの名無しさん
17/09/26 15:54:12.38 dGip1y4C.net


431:デフォルトの名無しさん
17/09/26 19:33:58.52 vmZLMK5C.net
すみませんが質問させてください。
現在、google appsのみで簡易ウェブアプリの制作を試みています。
構成は
htmlservice+gas+spredseet(DB)
です。
各種申請をweb化するのですが、アクセスしたユーザーのgmailアドレスもDBに格納します。
session.getactiveuser().getemailを利用するため、スクリプトの実行者は「アプリケーションアクセスしているユーザー」にしています。
そうすると、spreadsheetも全員に公開する必要がありますが、spreadsheetの中身は個人情報を少し含むため見られたくありません。
なにかいい方法はありますでしょうか、、、fusiontablesなどであればできるのでしょうか?

432:デフォルトの名無しさん
17/09/26 19:49:32.88 pQJJ1OIB.net
ユーザーごとの情報はユーザープロパティに入れるべきでは?

433:デフォルトの名無しさん
17/09/27 13:03:25.12 Is6BRq5M.net
>>432
ご助言ありがとうございます。
propaties serviceについて調べた見ましたが、ユーザープロパティとして保存した場合、他のユーザーからは一切アクセスできないものと思いました。
一部のユーザー(システム管理を行う数名)に対しては、データの参照ができるようにしたいと思ったおります(申請されたデータを承認するようなワークフローアプリを検討しているため。後出して申し訳ありません)

434:デフォルトの名無しさん
17/09/27 14:45:10.73 /heCrwKp.net
サイズが十分小さければスクリプトプロパティかな。
たしか500KBくらいまで。
あるいは、スプレッドシートにスクリプトを付属させるんじゃなく、
独立プロジェクトにして、openByIdとかopenByUrlとかは?

435:デフォルトの名無しさん
17/09/27 15:36:25.01 Is6BRq5M.net
>>434
ご助言ありがとうございます。
プロパティについては、思いの外データの種類が増えそうなため難しそうです。
スクリプトをスタンドアロンにして、openbyidがいいですかね、万一idがバレてしまった時のことが不安ですが、そういったことは起こらないと思っていい感じでしょうか。

436:デフォルトの名無しさん
17/09/28 10:38:02.39 PJxaABWy.net
アプリを分けて階層化しろ

437:デフォルトの名無しさん
17/09/29 01:18:28.86 tHWOJPZ9.net
for (var i = 1; i <= ss.getLastRow() ; i++){
ss.getRange(x,y).setFormula('=IMPORTHTML("URLリンク(www.yahoo.co.jp","table"1+i,)');
}
for分の中で関数の最後の部分を1ずつ足していきたいのですが、セルに出力された際は「i」の部分は数字としては見てくれません。
1つずつ足していく方法はありますでしょうか。

438:デフォルトの名無しさん
17/09/29 08:18:30.31 qX48jByc.net
>>436
ありがとうございます。
ライブラリ化するということでしょうか。
getEmailする部分を別アプリ(アプリにアクセスしているユーザー実行)にして、spreadsheet操作をするアプリはオーナーとして実行する感じでしょうか。
調べてみます。

439:デフォルトの名無しさん
17/09/29 11:06:26.65 /1pN5XFr.net
>>435
>そういったことは起こらないと思っていい感じでしょうか
マーフィーの法則というのがあってだな
そういう起こって欲しくないことは起こるんだ

440:434
17/09/29 11:38:46.26 tHWOJPZ9.net
自己解決しました。
ss.getRange(x,y).setFormula('=IMPORTHTML("yahoo.co.jp","table",1+'+i+')');

441:デフォルトの名無しさん
17/10/27 20:03:28.12 CxLsHkIL.net
googleドライブにアップしたエクセルxlsを自動でspreadsheetに変換するコードはありますか

442:デフォルトの名無しさん
17/10/28 10:08:42.77 w8au0uVc.net
すべてのシートで文字の一括置換をしたいのだけど、セル毎に処理するしかないのかな?

443:デフォルトの名無しさん
17/10/28 11:18:38.62 YrbVG7kU.net
>>441
pythonでダウソするやつはある

444:438
17/10/28 19:55:11.76 aeUdpVUN.net
>>443
検索してなんとなくできそうなのでやってみます
ありがとうございました

445:デフォルトの名無しさん
17/11/12 02:54:44.20 StX7DGK4.net
GAS単体でajaxのようなwebページをクローリングすることは可能ですか?
やっぱり外部を通さないと無理でしょうか

446:デフォルトの名無しさん
17/11/12 17:25:52.88 StX7DGK4.net
自己解決しました

447:デフォルトの名無しさん
17/11/13 13:04:40.18 8/cIJ70S.net
スプレッドシートの制御をAndroidから行う方法をご教示頂けませんでしょうか。
内容としては複数列のソートを行いたいのです。
現状は列指定でソートをかけているのですが、列数が多く余分な時間がかかります。
PCからは実行できているのですが、同様の事がAndroid上から行えたらと思います。
実行用のトリガーがAndroidで使用できずに困っております。
現状トリガーは図形に対してスクリプト実行させていますが、タップしてもAndroidでは削除しか出てきません。

448:デフォルトの名無しさん
17/11/14 18:34:16.47 IvDpdEfa.net
function onOpen()とmenuEntries.push使えば?

449:デフォルトの名無しさん
17/12/26 09:12:50.22 myEYxvrC.net
URLリンク(script.google.com)
↑にあるトリガーの合計実行時間や、URLFetch の呼び出し、URLFetch のデータの受信が
現在どのくらい使用されている分かるページは無いですか?
URLリンク(console.developers.google.com)
GoogleドライブAPIなら↑でわかるのにそれ以外載って無くて…

450:デフォルトの名無しさん
18/01/03 23:47:48.36 cEXvj/Pp.net
サーバー側でjqueryって使えますか?
WebスクレイピングのHTMLパーサとしてjqueryを使いたいのですが…

451:デフォルトの名無しさん
18/01/04 12:56:13.15 o7CttU7P.net
node.jsと思ったがGASか

452:デフォルトの名無しさん
18/01/05 01:26:13.05 GBYhvW0R.net
>>450
npmでjQueryをinstall
webpackでbundle
node-google-apps-scriptでアップロード
って感じでいけないかな?
試してないのでできるか分からないけど

453:デフォルトの名無しさん
18/01/05 10:44:01.68 Vef7Ikrv.net
一部の機能なら普通に使える

454:デフォルトの名無しさん
18/01/06 11:51:13.98 HbY4/bGY.net
どっかよそのAPI使うとか

455:デフォルトの名無しさん
18/01/07 11:57:20.99 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:デフォルトの名無しさん
18/01/07 12:29:16.75 S38kpWyE.net
キャッシュされたら困るからなー

457:デフォルトの名無しさん
18/01/13 02:09:46.21 Tg/TmElT.net
>>450
こないだ同じような用途でjsdomとjquery使ったわ。
たしかこんなかんじ
var JSDOM = require('jsdom').JSDOM;
JSDOM.fromUrl('URLリンク(example.com)').then(function(dom) {
var window = dom.window;
var jQuery = $ = require('jquery')(window);
// ここから$('ul#hoge > li.huga')とか普通に使えるはず
});

458:デフォルトの名無しさん
18/01/27 11:48:39.68 j3glEAxX.net
色々出すぎ
URLリンク(www.amazon.co.jp)
URLリンク(www.amazon.co.jp)
URLリンク(www.amazon.co.jp)
URLリンク(www.amazon.co.jp)
URLリンク(www.amazon.co.jp)

459:デフォルトの名無しさん
18/01/28 03:46:39.25 xa+QRUJO.net
GASって「const 定数名 = 1;」 みたいな記述できない?
varしか無理?

460:デフォルトの名無しさん
18/01/29 23:20:08.61 5eR4vC6L.net
constはランタイムエラー
letは通る
だったような記憶

461:デフォルトの名無しさん
18/02/06 22:16:05.06 /gHduiD+.net
addMenuでスプレッドシートに追加する独自メニューを条件によって選択不可にすることはできますか?
通常のメニューと同じようにグレーアウトして選択できないようにしたいです。

462:デフォルトの名無しさん
18/02/10 06:53:00.00 C1kfYYFU.net
1日1回、UrlFetchでページネイションされた数十ページを取得したいのですが
負荷軽減のため数秒は間隔を明けて取得したいです
settimeoutでエラーがでるのは、GASでは使えないということなのでしょうか?
出来ないとしたら代替方法の検索のヒントなどを教えていただきたいです

463:デフォルトの名無しさん
18/02/11 06:27:45.78 E5AjV+At.net
GASってひょっとしてfor(let data of datas)みたいな構文は通らないのか?

464:デフォルトの名無しさん
18/02/11 06:46:30.86 E5AjV+At.net
for each(let data in datas)は通った
GASまじか・・・

465:デフォルトの名無しさん
18/02/13 22:38:42.10 wCW429If.net
>>462
setTimeoutはブラウザでしか効かないんじゃ
Utilities.sleep(ミリ秒)使おう

466:デフォルトの名無しさん
18/02/13 22:39:52.24 wCW429If.net
>>461
非表示じゃダメなの?

467:デフォルトの名無しさん
18/02/14 06:29:23.38 hdXXEhGY.net
>>465
ありがとうございます

468:デフォルトの名無しさん
18/02/14 12:43:37.10 qm6gWFGH.net
>>463
>>464
良し悪しはわからないけど
for (var n in datas) {
var data = datas[n];
...
}
とかしてた

469:デフォルトの名無しさん
18/02/14 16:40:58.15 rMSOrK/H.net
datum

470:デフォルトの名無しさん
18/02/16 06:23:37.77 W1XJdyx1.net
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆

471:デフォルトの名無しさん
18/04/06 09:46:20.39 OGpTmhME.net
すみません、ちょっとお門違いなんですが、
Microsoft系でGoogle Apps Scriptに相当するようなサービスって何でしょうか?

472:デフォルトの名無しさん
18/04/06 12:08:48.32 sTfZcU1Y.net
OneDrive

473:デフォルトの名無しさん
18/04/08 08:48:02.53 ExM2Rgcj.net
officeアドイン(javascript api)

474:デフォルトの名無しさん
18/04/08 09:35:01.80 iYd8ya2H.net
vba
excelだけじゃなく、officeは全部使える

475:デフォルトの名無しさん
18/04/08 11:45:51.95 YK+KPtHu.net
Python for Excel

476:デフォルトの名無しさん
18/04/08 12:44:04.55 x+tHn1VY.net
Google Spreasheetみたいにクラウドに置いたときに、
定期的に動かしたり、Webアプリとして呼び出せたりするんでしょうか?

477:デフォルトの名無しさん
18/04/27 08:48:50.80 azia2EcY.net
共有スプレッドシートで自分だけのスクリプトを動かすことができますか?

478:デフォルトの名無しさん
18/04/27 12:00:12.58 DjfFcydV.net
できる

479:デフォルトの名無しさん
18/04/27 12:30:17.67 309OLMv4.net
>>478
どうやればできますか?

480:デフォルトの名無しさん
18/04/27 14:10:43.72 ouRrzssA.net
【マイトLーヤとPS4】 FFとDQの最新作、VR開発は危険、プレーヤーの日常感覚を損なうおそれ
スレリンク(liveplus板)

481:デフォルトの名無しさん
18/04/27 17:49:08.26 ash3pEtl.net
>>479
多分このスレの上の方に書いてある

482:デフォルトの名無しさん
18/04/30 09:57:45.45 OTdR2Ule.net
スプレッドシートでハイパーリンクになっていないセルの、テキストとURL取得するには、どうすれば良いですか?

483:デフォルトの名無しさん
18/04/30 21:10:05.12 k1zO9vV2.net
>>482
ハイパーリンクになってないならできない
そもそもセルにurlがvalueとして入力されてるなら別だが

484:デフォルトの名無しさん
18/05/13 17:28:07.61 T6Bs0Y7u.net
しょうもない質問ですが職場などで何て呼んでるでしょうか
ジーエーエス?
グーグルアップス?
こないだガスって言ってる人がいて自分の職場では全く統一されていないです

485:デフォルトの名無しさん
18/05/13 20:20:04.93 j+nJMGjP.net
>>484
ガスって呼んでる
??ってなる人には「Google Apps Scriptの略」って付け加える

486:デフォルトの名無しさん
18/05/14 12:07:03.70 2SPouDsA.net
>>485
ありがとうございます
ガスが一般的なんですかね

487:デフォルトの名無しさん
18/05/14 13:31:22.77 dnGRWxRE.net
>>484
ぎゃす

488:デフォルトの名無しさん
18/05/23 19:22:31.65 Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
WX5I9

489:デフォルトの名無しさん
18/05/24 10:41:34.45 cPlRxlDn.net
WX5I9

490:デフォルトの名無しさん
18/05/25 01:08:25.88 9upiSQGW.net
<HEAD>タグの中に文字コードの設定<meta charset= がある場合は、文字コードを抜き出すプログラムを組んでいます。(下記の関数)

function getEntag(response){
var myRegexp = /<HEAD>([\s\S]*)<\/HEAD>/gi;
var elems = response.getContentText().match(myRegexp);
var myEncode = /<meta charset="(.+?)">/gi;
var myEncodeR = elems.getContentText().match(myEncode); // ←この行でエラーが出る
return myEncodeR;
}

エラーの内容
TypeError: オブジェクト「文字列文字列文字列文字列文字列」で関数 getContentText が見つかりません。

なぜ
response.getContentText().match(myRegexp);
はうまくいくのに
var myEncodeR = elems.getContentText().match(myEncode);
はうまくいかないのでしょうか?

491:デフォルトの名無しさん
18/05/25 03:33:33.31 JRXZZDGl.net
elems[0]

492:デフォルトの名無しさん
18/05/25 08:23:06.06 GbGPTGD4.net
GASでpdfを作成したいと思い
サイトを参考に出せるようになったのですが
余白の設定オプションを教えていただけないでしょうか?
exportFormat: "pdf", // ファイル形式の指定 pdf / csv / xls / xlsx
format: "pdf", // ファイル形式の指定 pdf / csv / xls / xlsx
size: "A4", // 用紙サイズの指定 legal / letter / A4
portrait: "true", // true → 縦向き、false → 横向き
fitw: "true", // 幅を用紙に合わせるか
sheetnames: "false", // シート名をPDF上部に表示するか
printtitle: "false", // スプレッドシート名をPDF上部に表示するか
pagenumbers: "false", // ページ番号の有無
gridlines: "false", // グリッドラインの表示有無
fzr: "false", // 固定行の表示有無
ここら辺のオプションワードをつけてGoogle検索して見たのですが見つからないでいます
よろしくおねがいいたします

493:デフォルトの名無しさん
18/05/25 09:48:46.51 JEsKWWiQ.net
google apps script pdf margin
でググったらstackoverflowとかヒットするけど見てみた?
俺は見てないけど。

494:デフォルトの名無しさん
18/05/25 13:10:56.83 zfLEVsZm.net
日々の記録をgoogle apps script で記録してたんだが1ヶ月忙しくて
記録の確認してなかったら先月4月26日以降の記録が取れてなかった
プロジェクトを動かすと「承認が必要です」で前もやったことがあるような
画面がでて一つ一つのプロジェクトを自動実行させるために承認設定をした
100ぐらいプロジェクトがあるんだが一つ一つを手作業で承認させるのが
大変だし前もこんなことをさせられた記憶があるんだが
承認を一回で全てのプロジェクトを設定する方法とかないですかね?

495:デフォルトの名無しさん
18/05/25 16:14:05.22 XO9fqtgP.net
っていうかしばらくしたらまた承認求められそうでこわいな

496:デフォルトの名無しさん
18/05/26 08:10:21.44 hhovu7qg.net
>>493
ありがとうございます
設定することができました!

497:デフォルトの名無しさん
18/05/27 18:16:43.31 AVKJ/EkR.net
google apps scriptでLZHを解凍したいと思っています。
以下のどちらかのコードはGASでも使用可能でしょうか?
又は、ほかに何か良い方法があるでしょうか?
URLリンク(github.com)
URLリンク(formats.kaitai.io)
現在1つのテキストファイルが圧縮されたzipのblobを、
Utilities.unzip
で解凍し、中のテキストファイルを利用しているのですが、
LZHでも同じ事ができるようにしたいと考えています。
上記ページのサンプルは見たのですが、
DOMが全く分からず、javascriptの理解も浅いため、
どう書けばよいのかわかりませんでした。
LZHのblobから解凍されたファイルのblobが得られれば理想的です。
アドバイスお願いしますm(_ _)m

498:デフォルトの名無しさん
18/06/01 18:16:54.34 zHSboa0n.net
質問です
色んなサイトを見ながら、Google spread sheetにスクリプトを作成しました
このスクリプトを外部アプリから実行するにはどうすれば良いのでしょうか。
ちなみに外部アプリとはDiscordの事です。

499:デフォルトの名無しさん
18/06/01 18:21:14.88 Wbxpqrec.net
オレオレAPIをくっ付ける

500:デフォルトの名無しさん
18/06/01 19:56:50.22 rK/pkJ29.net
>>499
ありがとうございます。オレオレAPIは聞いた事無いですが調べてみます。

501:デフォルトの名無しさん
18/06/01 21:11:40.39 xvkHhoxN.net
doGetかdoPost作ってHTTPで呼べばいいじゃない

502:デフォルトの名無しさん
18/06/02 12:34:27.24 yUEJ+BJS.net
djangoみたいなdispatcherとかroutingの仕組みないかな

503:デフォルトの名無しさん
18/06/13 21:43:33.53 KouNon+v.net
お手軽WebAPI作るときデバッグどうしてる?
デバッグ用URLではHTTPリクエスト受け付けてくれないでしょ?
リリース用URLじゃLogger使えないし
コード変えてバージョン上げずに更新しても変更反映してないから
バージョンだけが無駄に上がってく
いい方法教えてください

504:デフォルトの名無しさん
18/06/14 09:56:45.68 b+x6hMO7.net
デバッグ用のアカウント作って
そっちからアクセスしたらデバッグモードで動くように作る

505:デフォルトの名無しさん
18/06/15 20:11:23.83 EMcl4RB2.net
> そっからアクセスしたら
これは別アカに共有かけてそっちで開発し
リリース段階で本アカで更新ってこと?

506:デフォルトの名無しさん
18/06/16 06:04:47.49 xpvZKcIC.net
へ?
デバッグするときのクライアントのアカウントだよ

507:デフォルトの名無しさん
18/07/04 22:17:45.27 gFgZc5FG.net
PYT

508:デフォルトの名無しさん
18/07/05 12:09:59.99 6iN0hdr0.net
なんだこいつ

509:デフォルトの名無しさん
18/07/09 17:33:54.99 se1rYzUR.net
スプレットシートの中身をWEB経由でJSON形式で出力しているんだが
↓のようにリダイレクトされるんだが、このリダイレクトを抑止する方法ないか?
URLリンク(script.google.com)

URLリンク(script.googleusercontent.com)

URLリンク(script.googleusercontent.com)~の方に直接飛んでも
何故か、一旦URLリンク(script.google.com)にリダイレクトされてからまたリダイレクトされるし…

510:デフォルトの名無しさん
18/07/09 18:11:50.09 1p1eFn95.net
503

511:デフォルトの名無しさん
18/07/09 18:18:12.92 kTTsYOtx.net
301 or 302

512:デフォルトの名無しさん
18/07/22 00:26:34.52 ZpQQ0pAE.net
spreadsheetのgasについて質問です。
getLastColumnの仕様は、値が入ってる最終列を返すのでしょうか?
値が入っていない列を返すときもあって混乱してます。
あと、insertSheetの直後にgetLastColumnを呼び出すと0が返ってくるのですが、このとき、存在する最終列を取得する方法はないでしょうか。
このとき取得したい期待値はZ列の26です。(画面上Z列までセルが有効になっているように見えるため)
これは26って固定値をもつのが気分的にいやっていうワガママです

513:デフォルトの名無しさん
18/07/22 00:55:09.31 ZpQQ0pAE.net
getMaxColumnsってのがあった(>_<)

514:デフォルトの名無しさん
18/09/29 19:38:05.42 LLxAt+HQ.net
GASの勉強は本とサイトどっちがいいですか?
おすすめとかあったら教えて欲しいです

515:デフォルトの名無しさん
18/09/29 20:16:29.09 8vdhvdxP.net
【報道規制の、解禁を】 マⅰトレーヤのUFO出現
スレリンク(sky板)

516:デフォルトの名無しさん
18/09/30 11:25:49.99 ELKSxw7h.net
ここまで読みました

517:デフォルトの名無しさん
18/09/30 13:18:42.33 XFe1Q8VS.net
>>514
教えてください

518:デフォルトの名無しさん
18/10/01 00:18:27.39 IPuEyzUl.net
>>514
俺はWebサイト派
Qiitaあたりの情報で十分に勉強できた

519:デフォルトの名無しさん
18/10/06 02:08:54.46 2uRTZ8KW.net
html
<input type="button" onclick="google.script.run.aa()">
コード.gas
function aa(){
var value = document.getElementById("ta").value;
}
こんな感じでgas側でgetElement使いたいんだけど方法ないかな?
html側に書けばできるけどスクリプトをまとめてgas側に書いてスッキリさせたい
これだとvalueになにも入らないっぽい
ないならあきらめるが

520:デフォルトの名無しさん
18/10/06 10:06:26.13 QZvBbzw3.net
"ta"だけ渡してあとは好きに汁

521:デフォルトの名無しさん
18/10/06 23:57:43.46 MQLlRsEJ.net
gas側でDOMは触れないですよ

522:デフォルトの名無しさん
18/10/09 21:03:41.76 J1hD0LSr.net
Google apps scriptで図書館のホームページにログインしたいのですが、できません。
どうすればログインできるのでしょうか?
function myFunction() {
var payload = {
"username" : "XXXXXXXXXX",
"j_password" : "XXXXXXX",
}
var options = {
"method" : "POST",
"payload" : payload,
"followRedirects" : false
}
var url = "URLリンク(opac.toshokan.city.fukuoka.lg.jp)
var response = UrlFetchApp.fetch(url, options);
var cookies = response.getHeaders()["Set-Cookie"];
var headers = { 'Cookie' : cookies };
options = {
method : "get",
headers : headers,
followRedirects: true,
};
var topUrl = "URLリンク(opac.toshokan.city.fukuoka.lg.jp)
response = UrlFetchApp.fetch(topUrl, options);
var content = response.getContentText("UTF-8");
Logger.log(content)
}

523:デフォルトの名無しさん
18/10/11 19:13:50.65 KKlTShrO.net
driveにあるmp3ファイルに画像を貼り付けて、mp4にする。それをフォトに保存するscriptって作れますか?
可能であれば教えて頂けると幸いです。

524:デフォルトの名無しさん
18/10/12 05:14:25.86 1iFt3dhJ.net
できますよ

525:デフォルトの名無しさん
18/10/12 07:52:54.61 C1pVYns8.net
>>522
ブラウザの自動操作は、iMacros, Selenium IDE とか、
Ruby で、Selenium Webdriver を使うとか

526:522
18/10/12 09:19:01.30 C1pVYns8.net
>>522
Ruby で、Selenium Webdriver では、
CSS セレクターで、入力欄を指定して、入力する。
入力できたら、ログインボタンを押す
element = driver.find_element(:css, 'input[name="userid"]')
element.clear
element.send_key "xxxxxx"
element = driver.find_element(:css, 'input[name="password"]')
element.clear
element.send_key "yyyyyy"
driver.find_element(:css, 'a.btn').click

527:デフォルトの名無しさん
18/10/14 21:11:05.91 Qblq+S/g.net
>>526
ありがとう
ただ、できればgasでしたいのよね

528:522
18/10/14 23:38:23.09 hWarSIQ5.net
>>522
のコードには、以下のように、
CSS セレクターで、入力欄を指定して、入力する部分を表示がないよね
element = driver.find_element(:css, 'input[name="userid"]')
element.clear
element.send_key "xxxxxx"
また、以下のように、
CSS セレクターで、ボタンを指定して、押す部分もないよね
driver.find_element(:css, 'a.btn').click

529:522
18/10/14 23:40:22.51 hWarSIQ5.net
>>528
修正
>CSS セレクターで、入力欄を指定して、入力する部分を表示がないよね
CSS セレクターで、入力欄を指定して、入力する部分がないよね

530:デフォルトの名無しさん
18/10/19 01:04:33.18 IuczYWmH.net
excelマクロをきっかけにVBA勉強してて結構楽しかったから、GASもやってみようと思う
VBAとGASの習熟の難易度で、どっちが難しいとかある?
スプレッドシートは便利そうで興味あるんだけど、マクロ使えないのが自分の中で枷になっててね
興味沸いてる

531:デフォルトの名無しさん
18/10/19 03:41:20.06 xKxj3Rj7.net
javascriptなんでやって損はないぞ

532:デフォルトの名無しさん
18/10/19 08:16:54.08 GydxY9Hg.net
カレンダーを検索したり編集したりできますか?

533:デフォルトの名無しさん
18/10/19 12:11:04.45 jQ8EJjtV.net
gasの方が簡単
pythonからも出来るよ

534:デフォルトの名無しさん
18/10/20 01:56:59.75 cKgpkxwO.net
スプレッドシートにもマクロ機能ついてた気がする。

535:デフォルトの名無しさん
18/10/23 00:29:05.49 JwGBt6eq.net
GASの本スレってここ?
もっと情報交流したいよう(´・ω・`)

536:デフォルトの名無しさん
18/10/23 14:24:33.23 yFsvvFWj.net
交換じゃなくて一方通行のスレ

537:デフォルトの名無しさん
18/10/23 16:20:43.87 fX6+Gv53.net
APIは本家でRTFMだしなあ
便利なライブラリとか開発環境とか教えてくれれば交流になるかも

538:デフォルトの名無しさん
18/10/23 20:39:33.94 mSpmNxQX.net
claspの話でもしようぜ

539:デフォルトの名無しさん
18/10/24 20:01:07.64 GW9EQyzD.net
VBAと同じ感覚でGAS勉強して職場で軽く披露してみたけど、思いのほか抵抗感強くて焦った
上司がセキュリティおじさんで困ったちゃん

540:デフォルトの名無しさん
18/10/24 23:39:10.32 yiYSryh5.net
上司が正しい

541:デフォルトの名無しさん
18/10/26 12:21:46.80 sU5wuxUl.net
>>539
業種や職種によるが、うちなら完全アウト。

542:デフォルトの名無しさん
18/10/26 13:19:49.44 xb+RGQ0c.net
上場会社とかになるとそれくらい情報の取り扱いが厳しくなるのかな
こっちは100人ぽっちの中小だから想像できないわ

543:デフォルトの名無しさん
18/10/26 16:46:23.98 8hqqerJ0.net
上場は隔離

544:デフォルトの名無しさん
18/10/26 19:22:56.70 ZfJ/Stj8.net
Googleがお洩らしするからでしょ。

545:デフォルトの名無しさん
18/10/26 22:40:04.49 THXYApLL.net
会社としてgsuite導入してるとこならどんどん使って良い
てかそんな会社があったら自分が入りたい

546:デフォルトの名無しさん
18/10/26 23:57:14.18 IDCNATjR.net
>>539だけど、Googleでもセキュリティの心配されるんだね
過剰にセキュリティに拘って便利なツールを使わないのはどうなんだろう
海外の企業とかどうしてんの?

547:デフォルトの名無しさん
18/10/27 00:07:34.80 B9LZkkMM.net
セキュリティというか保守的な日本企業はクラウドが嫌いって話

548:デフォルトの名無しさん
18/10/27 00:32:34.74 QkHwtfgJ.net
googleなんて危険の筆頭だろ

549:デフォルトの名無しさん
18/10/27 00:35:10.36 5J0lMEEl.net
技術的な事は分からんが
>>547が言ってるのは>>548みたいな人の事か?

550:デフォルトの名無しさん
18/10/27 00:54:46.00 QkHwtfgJ.net
個人的には嫌ってないよ
大事なものは暗号化してからうp汁

551:デフォルトの名無しさん
18/10/27 02:09:59.56 zu36BJom.net
大事なものを暗号化してメールで送るのはいいけど
そのパスワードを次のメールで送る日本企業

552:デフォルトの名無しさん
18/10/27 03:00:25.65 g1pi9PrZ.net
それを得意げに語る上司もセットで
マジであれはなんなんだ
社会に出て驚いた事ベスト3に入る程の衝撃だったわ

553:デフォルトの名無しさん
18/10/27 11:57:29.17 R2aCZi1a.net
>>551
別のメールに別けてるだけマシ

554:デフォルトの名無しさん
18/10/27 15:12:14.87 v0X4VL4w.net
>>551
上の下~中の下ぐらいの企業で常態化してるな
誰が流行らせたのだろうか?

555:デフォルトの名無しさん
18/10/29 03:15:47.62 Oa9CImgn.net
そういう中身の伴わない、見た目を取り繕うだけの作業は今の若者はメチャクチャ嫌う
後輩指導する時に、そんな馬鹿な事はやらなくていいと指示したら、俺が上司に怒られた
じゃあ上司から直接後輩に指導してくださいと言ったら、それはお前の仕事だと逃げる
前の会社の話

556:デフォルトの名無しさん
18/10/29 11:17:29.02 rTl7m6mf.net
>見た目を取り繕うだけの作業
kwsk

557:デフォルトの名無しさん
18/10/29 18:29:21.95 Oa9CImgn.net
>>556
上で言われてた金庫とその鍵を一緒に送るような行為だよ
あとは、excelが警告を出すって理由でcsvファイルのマクロ加工が許されなかったり、その判断基準が分からなかった
会社は中小零細なんかじゃなくて、従業員数百いる中堅企業だったから、入社してから余計に驚いた

558:デフォルトの名無しさん
18/10/30 14:31:07.59 p4LrBCE7.net
社員の偏差値低そう

559:デフォルトの名無しさん
18/10/30 18:21:19.53 aexQ9Irm.net
セキュリティの固さと本人の鍵紛失率は比例だから悩ましいのよね

560:デフォルトの名無しさん
18/11/08 12:09:12.86 EkjzBgW6.net
人いないな

561:デフォルトの名無しさん
18/11/15 11:08:41.99 PvDTioib.net
質問いいですか?

562:デフォルトの名無しさん
18/11/15 11:10:59.21 1bc0l4Fz.net
たぶん

563:デフォルトの名無しさん
18/11/15 19:19:33.65 PvDTioib.net
ちょっと待ってくださいね

564:デフォルトの名無しさん
18/11/16 00:29:03.17 r0xHlJjv.net
次の方どうぞ

565:デフォルトの名無しさん
18/11/16 10:59:11.72 9iOixtPe.net
二島返還と四島返還はどちらが良いですか

566:デフォルトの名無しさん
18/11/16 11:33:55.39 13Ic4Jcn.net
>>565
こちらの処方箋を薬局にお持ちください。
次の方~

567:デフォルトの名無しさん
18/11/16 12:30:48.55 24hcK0zy.net
スプレッドシートのセルの条件で書式を変えるやつなんですけど
セルの保護を付けたり解除したりで背景色を変えることってできますか?

568:デフォルトの名無しさん
18/11/17 01:59:09.69 chEbFNdB.net
>>567
それをgasでやるんだよ
条件書式じゃできない

569:デフォルトの名無しさん
18/11/17 02:52:29.77 iwPEBhZD.net
セルの保護ってスクリプトでできたっけ?
調べてもできなかった記憶

570:デフォルトの名無しさん
18/11/17 07:24:14.01 7mXoRMgv.net
セルが保護されてるか確認するコマンド?がわからないんです
それのtrueかfalseでなんとかなりそうなんですが

571:デフォルトの名無しさん
18/12/02 19:57:23.72 rfLR8sju.net
>>569
できますお
URLリンク(developers.google.com)

572:デフォルトの名無しさん
18/12/02 20:00:16.84 rfLR8sju.net
>>551
しかも、自動で送ってんだよね。
通信の保護はSSLでやってんだから、ファイルのご送信保護にはなってないね。
まるで意味がない

573:デフォルトの名無しさん
18/12/02 20:10:18.07 rfLR8sju.net
>>471
ない。
あるように思えるGraph APIはあくまでもREST APIだから、別途土台になる環境が必要

574:デフォルトの名無しさん
18/12/02 20:16:19.12 rfLR8sju.net
>>509
じゃ、Apps Script APIでも使えばいいじゃん

575:デフォルトの名無しさん
18/12/13 20:08:03.86 XOkEi3bk.net
GoでGraphQL(GAE)
URLリンク(outcrawl.com)
URLリンク(qiita.com)
URLリンク(tech.mercari.com)
URLリンク(github.com)
>まず個人的な理由から。 筆者はGoogle App Engine/Standard Environmentの信者であり、
>それ以外のプラットフォームを使う気は今の所ありません。
いま日本企業で一番、エンジニアの採用に力入れまくってる
最先端ベンチャー企業の社員がここまで言い切るってことは
今後はGAE/Go注目かもしれんな

576:デフォルトの名無しさん
19/01/29 00:33:59.60 70mrLSKr.net
HtmlServiceでもalertでもいいのですが、spreadシートを開いている状態で、1時間おきにダイアログを表示させたいのですが時間主導型でトリガーをセットしても、このコンテキストからは呼び出せないとエラーが出ます。
何かいい回避策はないでしょうか?

577:デフォルトの名無しさん
19/01/29 15:21:21.69 13bkThSC.net
URL経由する

578:デフォルトの名無しさん
19/02/11 11:51:49.34 4YEc3wKR.net
スプレッドシートでマクロ起動させるために図形描画して
スクリプトを割り当てたらもう図形の編集や図形の削除ってできないんですか?
割り当て後は右上のプルダウンメニューがでてこないんです

579:デフォルトの名無しさん
19/02/12 04:27:36.64 orsbZOeu.net
右クリ

580:デフォルトの名無しさん
19/03/06 10:06:07.80 4SRpZFCQ.net
グーグルアップスクリプトはプログラミング初心者におすすめできる

581:デフォルトの名無しさん
19/03/17 12:45:23.95 OqCo+XAc.net
Googleカレンダーに添付ファイルを追加するコード教えて!

582:デフォルトの名無しさん
19/03/17 12:52:04.24 rD0zueCH.net
python用のならあるよ

583:デフォルトの名無しさん
19/03/17 12:56:12.90 pH631X63.net
これとコマンドラインgdriveでいろいろできそう

584:デフォルトの名無しさん
19/03/17 12:59:07.48 rD0zueCH.net
ハゲめ

585:デフォルトの名無しさん
19/03/20 11:14:54.71 vprotu0m.net
内定先がGsuiteなんだけどどう勉強したらいいのかな?

586:デフォルトの名無しさん
19/03/22 14:49:10.46 f+WIg5g9.net
こりゃ問題じゃね
【悲報】Googleマップ、ゼンリンとの契約解除で超絶劣化 ゼンリンも株価暴落 何がしたいんだ両社
スレリンク(news板)

587:デフォルトの名無しさん
19/03/29 18:43:30.56 hWFg3V8b.net
Googleカレンダーに添付ファイルを追加するのは諦めて、HYPERLINKで解決した。

588:デフォルトの名無しさん
19/03/30 21:57:46.29 CwhbRKdW.net
GASではできないんじゃ?
Calendar APIならできるかもよ
調べてないけど

589:デフォルトの名無しさん
19/04/04 23:11:41.43 Wk+4k4Yw.net
GASを使ってnow関数の更新をとめる方法ってないでしょうか?
検索してもまったく出てこないんです

590:デフォルトの名無しさん
19/04/05 00:03:09.93 8TkW46B2.net
解決しました

591:デフォルトの名無しさん
19/04/08 12:05:47.40 /dR5dMe1.net
API使わなくてもlinkメソッドで出来るけどね。ここは知ったかぶりする回答者しかいなから使えない。

592:デフォルトの名無しさん
19/04/20 14:40:06.41 tWWHyzwg.net
書き方がわからないんですけど、
VBから翻訳する方法ないですか?

593:デフォルトの名無しさん
19/04/20 14:55:13.33 tgvbScEy.net
>>592
お前には無理
あきらめろ

594:デフォルトの名無しさん
19/04/20 15:32:55.59 tWWHyzwg.net
>>593
あのー、方法を知らない人に聞いてないんですけどー。

595:デフォルトの名無しさん
19/04/21 13:32:14.38 tITQ2Bq3.net
>>594
あきらめろ

596:デフォルトの名無しさん
19/04/21 15:32:49.13 4kO5c1T5.net
>>595
だからやり方のわからない人には聞いてないんですよ。
ちなみに書き方はわかったのでもういいです。

597:デフォルトの名無しさん
19/05/05 17:57:44.17 rLPrkeGk.net
googleフォーム
名前
趣味
好きな理由
趣味
好きな理由
で得たデータ
名前 趣味 好きな理由 趣味 好きな理由
(名前の入力内容) (趣味の入力内容) (好きな理由の入力内容) (趣味の入力内容) (好きな理由の入力内容)

(名前の入力内容)
(趣味の入力内容) (好きな理由の入力内容)
(趣味の入力内容) (好きな理由の入力内容)
と並べ替えたいのですが、どのようにすれば可能でしょうか?
ご存知の方ご教示お願い致します

598:デフォルトの名無しさん
19/05/05 18:39:32.86 ZbhvsmlF.net
無理じゃね

599:デフォルトの名無しさん
19/05/06 18:42:19.72 o0+2Jvom.net
あきらめろ

600:デフォルトの名無しさん
19/05/08 22:37:52.06 v2zfKxp6.net
フォームと連携されたシートをアレコレ弄るのはあんまりオススメしない
別シートにその形になるようにスクリプト組めば?

601:デフォルトの名無しさん
19/05/13 00:46:09.37 31F8kOtz.net
前職を退職してしばらく経過している、VBAとPHPしかできないウンコちゃんなんですけど、
これから勉強するならVBAとGASどっちがおすすめですか?
中小企業でのGSuiteの普及具合ってどう?

602:デフォルトの名無しさん
19/05/13 07:51:29.08 UqvxTptL.net
知らんがな
まぁjavascriptと同じ感じだからGAS覚えとけば
使う機会あるか知らんが

603:デフォルトの名無しさん
19/05/13 08:41:07.41 pa8yLa6W.net
本当にうんこだな

604:デフォルトの名無しさん
19/05/15 20:51:09.77 UMUjFXwO.net
もしかして、スプレッドシートって、テキストボックス配置出来ない?
ボタンを押したときに、テキストボックスに入れた値を引数にしてGAS実行とか無理?

605:デフォルトの名無しさん
19/05/16 11:37:04.16 Ox4fjiQE.net
きみにはむり

606:デフォルトの名無しさん
19/05/16 19:08:38.58 mGxnipSl.net
>>604
できるわ!!GASをなめんな

607:デフォルトの名無しさん
19/05/16 22:27:53.89 aE3zz80C.net
あ、ごめん、Excelレベルのやつ。
下手に触ると、変形したり消えちゃったりする、
図形のじゃなくて。

608:デフォルトの名無しさん
19/05/16 22:52:16.37 M/iLkUxO.net
セルじゃあかんのか

609:デフォルトの名無しさん
19/05/16 23:54:06.79 aE3zz80C.net
セルだと、「ここに値を入れるんだぞ」って感じじゃないので。
なんて言うか、例えば格子状に線が引かれている方眼紙みたいな年賀はがきがあって、
そこに住所とか氏名書いたら、物凄く萎えると思うの。

610:デフォルトの名無しさん
19/05/16 23:57:14.94 H3GEaKSc.net
表だからね

611:デフォルトの名無しさん
19/05/17 09:29:57.48 Eosg7Npq.net
まずSpreadSheetにその機能があるのか?
テキストボックス付きのExcel表を変換したらどうなる?

612:デフォルトの名無しさん
19/05/17 20:43:55.99 S7b1x4Z7.net
>>611
何か変な画像(?)みたいなのに置き換えられた。

613:デフォルトの名無しさん
19/05/18 10:19:31.77 wL0pdwUB.net
HTML ServiceとUI使えばダイアログボックスやサイドバーに
htmlを使ってテキストボックスやボタンとか表示させることができるよ

614:デフォルトの名無しさん
19/05/18 10:45:56.21 4RzeW/b4.net
getidとgeteventbyidって何が違うの?

615:デフォルトの名無しさん
19/05/18 11:59:38.42 7IJ3He79.net
名前が違うじゃんばーか

616:デフォルトの名無しさん
19/05/18 19:20:28.95 4RzeW/b4.net
どんだけ惨めな負け組人生を送ったら、そんなことが書けるんだろう・・。

617:デフォルトの名無しさん
19/05/18 20:31:24.15 P5JmHxRD.net
>>616
涙拭けよw

618:デフォルトの名無しさん
19/05/19 13:24:59.15 j/nghwCk.net
負け犬だからその違いもわからないっていうw

619:デフォルトの名無しさん
19/05/21 22:07:00.33 Jja3BPK6.net
>>614
getIdのドットの前のオブジェクトは何?
それ次第
getEventIdはカレンダーイベントオブジェクトでしょ?
だからカレンダーイベントのidが取得できる

620:デフォルトの名無しさん
19/05/21 22:07:54.48 Jja3BPK6.net
>>614
getEventByIdだったw
イベントidでイベントを取得するメソッドだね

621:デフォルトの名無しさん
19/05/22 22:43:46.56 bxcYYOqD.net
>>620
カレンダーイベント配列のgetId。
だから、何でカレンダーイベントのIdを取得できるのがもう一つあるのかなと。
しかも取得結果が違うし。
getIdは、長い暗号 + メールアドレスみたいな文字列が返ってくるけど、
getEventByIdは、全然違う文字が返って来たり、空だったりする。

622:デフォルトの名無しさん
19/05/23 03:29:55.06 4J3/T4Xu.net
sheet.getRange().sort(column);
の様な処理で column 列が式の場合、式の文字列でソートされますが
この関数は演算結果に対して行う手法はあるのでしょうか?
無いようなら getDisplayValues で配列に取り込み、
放り込みなおして sort するのが比較的手数が少ない方法ですかね?

623:デフォルトの名無しさん
19/05/23 08:12:12.16 nodzy/aN.net
式でソートされないけど

624:デフォルトの名無しさん
19/05/23 14:01:08.81 4J3/T4Xu.net
検証不足で他の要因で一部にソート異常があったので思い込みにはまってました、お恥ずかしい

625:デフォルトの名無しさん
19/06/06 07:53:11.68 0GC4e250.net
スプレッドシートでExcelのマクロみたいなことをしたいのですが
オススメの参考書などありますでしょうか?

626:デフォルトの名無しさん
19/06/06 22:33:31.61 17p7tBKQ.net
ググって調べるのが一番だと思うけど。
俺も欲しかったので、Amazonで調べたけど、
内容がすぐに陳腐化するらしい。
アップデートが頻繁なのも善し悪しだな。

627:デフォルトの名無しさん
19/06/08 17:29:30.36 h5srjJt3.net
Javascriptの基礎的な言語知識と
GAS独自のオブジェクト
たとえばスプレッドシートなら
Spreadsheet, sheet, rangeなどが分かればある程度のものは
組めるようになると思う

628:デフォルトの名無しさん
19/06/16 20:09:51.82 ZtozgK8X.net
gmailの着信をトリガーにする方法はありますか?
今は1分間隔でスクリプトを動かしてるんだけど、
たまに経過時間でエラーがでちゃうので、1分間隔は厳しいのかなーとか。

629:デフォルトの名無しさん
19/06/17 10:59:46.44 lxO8a0KV.net
定期的に自動で再起動するスクリプトにしろ

630:デフォルトの名無しさん
19/06/19 00:49:14.23 HMJH3ram.net
質問なのですが、
1・スプレッドシートにボタンを作る(挿入→図形描画で作りました)
2・そのボタンにツール→スクリプトエディタで書いた、簡単なgasを紐つける
これでPCのブラウザからはボタンをクリックすると、ちゃんとgasが何の問題もなく正常動作するんですが
スマホのスプレッドシートアプリから同シートを開いてボタンをクリックするとgasが全く動きません
エラーも出ず、ボタンオブジェクトがクリックされた状態(D&Dでオブジェクトを移動できる状態)になるだけです
もしかして、gasはスマホのスプレッドシートアプリからは動作しなかったりしますか?
なお、書いたgasは以下です
function addTuujouKinmu() {
var sheet=SpreadsheetApp.getActiveSheet();
var x=sheet.getRange("D14").getValue(); //現状の通常勤務日数を取得
sheet.getRange("D14").setValue(x+1); //ボタンがクリックされたら勤務日数+1
}
よろしくお願い致します

631:デフォルトの名無しさん
19/06/19 06:06:39.91 /B51KqfV.net
スマホのブラウザからは操作できないもんなの?

632:デフォルトの名無しさん
19/06/19 14:23:03.68 HMJH3ram.net
>>631
なぜかスマホのブラウザからでも編集、gasの動作しないです
どうも閲覧専用アカウントのような、閲覧しかできない状態になっているように見えます
ブラウザはios版GoogleChromeで、グーグルアカウントはこのシートとgasを書いたオーナーアカウントでログイン済みです
PCブラウザで同アカウントでログインして、gasの正常動作とシート編集などできる事を確認しているアカウントです
スプレッドシートのgasが、アプリはブラウザでもスプシアプリでも何でもいいので、
スマホで動作している方いらっしゃいませんでしょうか?

633:デフォルトの名無しさん
19/06/30 09:01:10.73 1wPBDcFD.net
>>629
625じゃないんだが、再起動ってどうやってするの

634:デフォルトの名無しさん
19/06/30 12:46:38.69 KJzE6gx5.net
>>633
たとえばコレとか
URLリンク(kido0617.github.io)

635:デフォルトの名無しさん
19/07/25 19:54:13.01 zHpGKaXB.net
Gmail時間予約送信のGmailApp実装はまだですか?

636:デフォルトの名無しさん
19/07/26 10:10:58.05 ycINWf6e.net
馬鹿には無理

637:デフォルトの名無しさん
19/07/27 23:05:56.23 8PWCZyQY.net
>>635
トリガーあるじゃん

638:デフォルトの名無しさん
19/07/29 00:59:59.45 Dem7abun.net
トリガーも使ってます、定期送信用に。
ただ、不定期にspreadsheets上で複数宛先に一括送信する場合、毎回宛先も内容も違うので、念のため事前にgmail上でチェックしたいのです。

639:デフォルトの名無しさん
19/08/19 10:56:02.24 zd9MQlzl.net
google driveやonedrive、amazon s3をFTPで利用できるアプリを開発しました。
よかったら使ってみてください。
webifi
URLリンク(www.loxsols.com)

640:デフォルトの名無しさん
19/09/12 02:28:38.82 9g2OFR39.net
Java Script知らない場合は先にJava Script勉強したほうがいいですか?

641:デフォルトの名無しさん
19/09/12 20:34:14.26 hHaUU8VW.net
そうだね

642:デフォルトの名無しさん
19/09/12 20:36:48.23 hHaUU8VW.net
でもES5の仕様がほとんど使えないから
ちょい古めのJavaScriptで書くことになる

643:デフォルトの名無しさん
19/10/04 01:45:57.83 zbpSxYO6.net
ドキュメントにあるデータ名・URL・オーナー名・作成日・更新日を一覧化したいんだけど、指定したオーナーのデータのみ吐き出したい。
これってできる?

644:デフォルトの名無しさん
19/10/04 15:10:08.55 JXWhYfPM.net
どうして出来ないと思ったの?

645:デフォルトの名無しさん
19/11/01 14:08:33.21 NFOS1XEp.net
スプレッドシートのonOpenで自分のホルダー名知りたいのですがdriveappの一部が仕様でエラーになります。何か裏技無いでしょうか?

646:デフォルトの名無しさん
19/11/01 17:12:50.47 ep+Mqrpb.net
自己解決、onOpenじゃなくて現在のプロジェクトのトリガーでスプレッドシートの起動時にvoldの関数を実行すると登録したら動きました。擬似的なフォルダ構造でやれそうです。

647:デフォルトの名無しさん
19/12/22 20:08:35.90 euY4U9Rb.net
スプレッドシートの内容をカレンダーに自動追加するスクリプトを素人ながら作りましたが、
いわゆるAPIの呼び出し過多で実行時間が11-14秒かかります。
短縮するにはどのように書き直せばいいかご教示いただけないでしょうか。
function CreateEventfromSheet() {
var sheet, i, event, date, added;
sheet = SpreadsheetApp.getActiveSheet();
for(i = 2; i <= sheet.getLastRow(); i++) {
added = sheet.getRange(i, 16).getValue();
if(added == "") {
event = sheet.getRange(i, 11).getValue();
Logger.log(event)
date = sheet.getRange(i, 12).getValue();
Logger.log(thedate)
thisevent = CalendarApp.getCalendarById("*****")
.createAllDayEvent(
event,
date
);
sheet.getRange(i, 16).setValue("done");
}
}
}

648:デフォルトの名無しさん
19/12/27 01:23:41.12 XkxDMtdZ.net
>>647
for文の前に、まるっとgetValue's' とか?

649:デフォルトの名無しさん
19/12/27 01:26:28.31 XkxDMtdZ.net
>>648
あと、各行の結果も(二次元)配列に入れておいて最後に setValue's' かな

650:デフォルトの名無しさん
19/12/31 15:27:19.03 ZLSJA6hu.net
インストール不要だからVBAより便利そうですね。
最近勉強を始めました。

651:デフォルトの名無しさん
20/01/01 00:53:00.78 DBz6lwN3.net
>>647
結果を入力するとことか無駄あるけど、こんな感じかな
ポイントはシートにセットする値は二次元配列にしないとだから、resultにpushするときに配列として渡してあげるとこ
ただカレンダーの予定を入力するのは結局一つずつだから、大量に入れると遅くなるのは仕方ないかも
A列 タイトル
B列 日付
C列 イベント作成したかどうか

function sample() {
var sheet = SpreadsheetApp.getActiveSheet();
var calender = CalendarApp.getCalendarById('####');
var data = sheet.getDataRange().getValues();
// カレンダーへのセットの結果を格納する配列
var result = [];
data.forEach(function(value){
if(value[2] === ''){
var title = value[0];
var date = new Date(value[1]);
calender.createAllDayEvent(title, date);
result.push(['done']);
}else{
// すでにセットされている予定は更新しない
result.push([value[2]]);
};
});
sheet.getRange(1, 3, result.length, 1).setValues(result);
}

652:デフォルトの名無しさん
20/01/01 10:23:10.87 so4DvMIc.net
今後は、VBAからGASに置き換わる感じかな?

653:644
20/01/01 16:06:51.26 Xdbev+rH.net
あけましておめでとうございます。
>>648,>>651
ありがとうございます。
結果的に下記内容で実行時間を1カレンダー入力を2秒未満に済ませることができました。
カレンダー追加済と日付の指定を探しに行く範囲を限定しただけですが...
前提となるシートの内容が、
上から順に案件番号(3列目,C列)と案件名(10列目)は振られるものの、
カレンダーへの反映は予定日(11列目)が決まり次第のため、
入力済かの判定列(15行目)は途中で空欄が含まれるものでした。
>>651の内容をすることを正月休みの宿題にすることにします。

654:644
20/01/01 16:07:06.72 Xdbev+rH.net
function CreateEventfromSheet2() {
var sheet = SpreadsheetApp.getActiveSheet();
var lastRow = sheet.getLastRow()
var columnC = sheet.getRange('C:C').getValues();
var lastRowC = columnC.filter(String).length;//案件番号の最終行
Logger.log(lastRowC)
for(var i = 2; i <= lastRowC; i++) {
var added = sheet.getRange(i, 15, lastRowC, 1).getValue();//カレンダー追加済か
var thedate = sheet.getRange(i, 11, lastRowC, 1).getValue();//予定日が入力されているか
if(added == "") {
if(thedate !==""){
var event = sheet.getRange(i, 10).getValue();
Logger.log(event)
thisevent = CalendarApp.getCalendarById("****")
.createAllDayEvent(
event,
thedate
);
sheet.getRange(i, 15).setValue("done");//追加済とする
}
}
}
}

655:デフォルトの名無しさん
20/01/15 22:19:02 22NAEhTT.net
GASに、VBAのAdvancedFilter相当の機能はありますか?
ORとANDの組み合わせが自由自在のやつ。

656:デフォルトの名無しさん
20/01/15 22:25:11 22NAEhTT.net
↑出来れば、他の閲覧者の画面に影響しないタイプのフィルタで。

657:デフォルトの名無しさん
20/01/16 22:23:48 kEtPLYqM.net
>>655
Query とか?

658:デフォルトの名無しさん
20/01/16 23:53:39.30 zIX3nnAn.net
クエリ?
自シート内でフィルタではなく、他シート(または別範囲)に書き出す感じですか。

659:デフォルトの名無しさん
20/02/25 14:03:43.81 eF9AatYa.net
apps scriptでCSV読み込んでそれをgoogleドキュメントに差し込みしてそのあと印刷したいってできる?

660:デフォルトの名無しさん
20/02/25 15:37:53 FzVRg2bh.net
ok

661:デフォルトの名無しさん
20/02/26 14:11:00 OdP3ovVD.net
app script初回に他のアクセスするファイルの許可って途中からでも許可できるファイル増やせる?

662:デフォルトの名無しさん
20/02/29 17:58:43 pn9TVa1r.net
エラー聞き取れませんでした

663:デフォルトの名無しさん
20/03/04 19:02:19.80 DcIeIIMH.net
豚切りスマソ
ファイル名の同じpdfファイルを毎月同じ日にダウンロードして、Googleドライブに保存したいんだけど、そんなことできる?
例えばこれ
URLリンク(www.mizuhobank.co.jp)

664:デフォルトの名無しさん
20/03/04 19:24:29.51 RbQqNGaU.net
test

665:デフォルトの名無しさん
20/03/07 09:26:16.72 1EWZ7xdf.net
>>663
できる

666:デフォルトの名無しさん
20/03/07 10:04:47 M14eFJOx.net
GASで他人が作ったライブラリを追加したのですが、その内容を確認する方法はあるのでしょうか?あるのでしたらその方法を教えていただきたいと思います。

Twitterに投稿をするアプリの紹介している同人誌があり
Authを設定してそのライブラリに渡すことで実現しています。

ただ、そのライブラリは作者が開発したのもですので、
抜き取られていないかどうかを確認したいと思っています。

667:デフォルトの名無しさん
20/03/07 15:43:27 QH/1z6a5.net
今日初めてスプレッドシートでスクリプトを書き始めたド初心者です

変数にちゃんと値が入ってるか確認するためにLogger.log()でこまめにログを開くんですが、ログ表示にすごく時間がかかったり、スクリプトの中間辺りのLogger.log()だけ表示されていたりします

10~20秒位待ってログを開き直すとちゃんと表示されるのですが、毎回待たされるのが地味にストレスです
素早く正しく表示させる方法はありますか?
ちなみに変数に値を入れて、その中身を表示させるだけのシンプルなものでもそれなりに待たされます

あとログウィンドウを移動させる際に、ウィンドウを持てる箇所の当たり判定が小さいのと、マウスカーソルが矢印から手に変わらないから、なかなか一発で動かせないのと、動かしたところでスクリプト画面にフォーカスしないからスクロール出来ないのも憎しみポイントですね

668:デフォルトの名無しさん
20/03/08 00:48:31.73 5hjyLnS+.net
>>667
新しいエンジンが供用開始になったばかりなのでまだ buggy かも
ログ表示は旧エンジンを使えばすぐ表示される
あんまり回答になってないが

669:デフォルトの名無しさん
20/03/09 10:51:06 p6Z1SMlj.net
>>666
その作者が公開設定してなきゃ確認する手段はない

有名どころのライブラリは公開してるのがほとんどだから、あやしいマイナーライブラリ使うより有名なTwitterライブラリ使ったら?

670:デフォルトの名無しさん
20/03/09 11:19:24.38 ZzLE3RUo.net
>>668
ありがとう
ログ表示快適になりました

671:デフォルトの名無しさん
20/03/10 21:35:41 ZDCF6+eP.net
>>669
理解しました。アドバイスもありがとうございます。

有名なTwitterライブラリを探してみたいと思います。

672:デフォルトの名無しさん
20/03/12 00:07:44 Ajw/pKZ3.net
>>670だけど追加で報告
V8エンジンをオフにしてると、includesって命令使った時だけエラーが出ます

if(!ran.includes(temp)) こう書いてある行でエラーになるけど、V8オフにすると問題無し
ranもtempも直前でログ表示してますが、中身に問題はありません


そしてまた質問なんですが、
特定のセルを変更した時だけスクリプトを走らせる事は出来ますか?

onEditだとどのシートのどのセルいじってもファンクション呼んじゃう
A1のセルでファンクションA、B1ならBを呼ぶ
あるいは
セルA1のプルダウンがAならA、BならBみたいにして、スマホからでも動かしたいんです
各シートは普通に手入力で修正追加する表計算として使いたいので、いちいちファンクション呼んでたらサーバーが地獄です

htmlと絡めてwebアプリ的にするしか無いんですかね?

673:デフォルトの名無しさん
20/03/12 01:52:13.27 cgiY/N73.net
>>672
includesはもとのGASではArrayオブジェクトにないからエラーになるのが通常動作
V8とオブジェクト単位で使える使えないがそもそも違うので、少しはリファレンス読んだ方が良いよ

674:デフォルトの名無しさん
20/03/12 13:27:32.42 j9jxQsAx.net
>>672
モバイル端末からはそもそもコンテナバインド型GASは実行できない
規約なり制限をきちんと読め

675:デフォルトの名無しさん
20/03/12 15:12:36.46 Aj8VN0Uo.net
GASファイルを他の人にアップすることって可能?

676:デフォルトの名無しさん
20/03/13 18:14:34 5AsLHuse.net
スプレッドシートに紐づけしたGASって他のスプレッドシート参照できないんだな
いい勉強になったわ、自動化する時はGAS単独で作るしかないな

677:デフォルトの名無しさん
20/03/13 18:40:07.18 cgyHyg3G.net
excelの何でもできる、痒いところに手が届くに慣れてると
Googleスプレッドシートには絶望しかない

678:デフォルトの名無しさん
20/03/13 18:58:46.30 8vXfd8Hl.net
やっぱりマクロで組んでよかった

679:デフォルトの名無しさん
20/03/13 21:44:39.56 8A2FfsSZ.net
>>676

Get/Set可能では?

680:デフォルトの名無しさん
20/03/14 01:13:49 UZOR73gH.net
>>676
できるでしょ

681:デフォルトの名無しさん
20/03/14 01:18:50 UZOR73gH.net
>>677
どこまでいってもOpenDocument派生だからExcelより同じ派生のLibreOfficeにあるCalcが近しいから仕方ないかと

682:デフォルトの名無しさん
20/03/14 03:57:51 B3THKCTN.net
>>680
いややってみたけど無理だったよ、スプレッドシートに紐づけしてるマクロの中で他のスプレッドシート開こうとしたら怒られたし権限がないって

683:デフォルトの名無しさん
20/03/14 04:45:08 B3THKCTN.net
>>682
このコメントは間違いだった、ちゃんとアクセスできたわ
謝罪しておきます、スペルミスしてたのかなあopenByidでミスったか・・・

684:デフォルトの名無しさん
20/03/14 15:29:14 UZOR73gH.net
>>683
変更履歴から直近の変更点は確認できるし、今後も同じような事にならんようになにが原因でできてなかったのかは明確にしとくと自分自身のために良いよ

685:デフォルトの名無しさん
20/03/15 15:57:53.08 uLtpsypH.net
>>535
ここしかないのかな(´・ω・`)

686:デフォルトの名無しさん
20/03/23 12:05:18.59 Y7MCXH01.net
cat テキスト | grep hogehoge 相当は
テキスト.match(/.*hogehoge.*/g);
でよさそうなのですが
grep -v hogehogeに相当するのをGASでどう書けばいいのかわからないのですが、
どなたか教えてもらえないでしょうか

687:デフォルトの名無しさん
20/03/23 12:47:32.23 jGS2rL5b.net
Ruby なら、
text = <<"EOT"
abc
あいう
xyz
EOT
re = /あい/
text.each_line do | line | # 1行ずつ処理する
line.strip! # trim
puts line unless line.match( re ) # マッチしなければ
end
出力
abc
xyz

688:デフォルトの名無しさん
20/03/23 21:04:49 iyDg9ARV.net
>>686
テキスト.match(/^(?!.*hogehoge.*).*$/gm);
URLリンク(regex101.com)

GASでは試してないんだけど
ES3でもnegative lookaheadには対応してたはず
v8ならまず問題ない

689:デフォルトの名無しさん
20/03/23 23:19:42.98 dwpdUDvb.net
VBAスレで相手にされなくなったからって、GASスレまで出向いてこないでくださいな。

690:デフォルトの名無しさん
20/03/24 11:22:47 JQ7YmFwi.net
そろそろ潮時

691:デフォルトの名無しさん
20/04/03 23:41:32.27 r3V2xUir.net
GAS極めようと思ったら、google cloud platformは必須かな?

692:デフォルトの名無しさん
20/04/04 06:53:26.32 k/Lp30S7.net
google cloud platformってなぁに?

693:デフォルトの名無しさん
20/04/04 22:17:09.10 chSF5SQRn
【与沢翼】悪いですけど一流大学に行っても会社の「歯車」ですよ。成功者には中卒が多いですし
学歴なんて関係ないですよ。今を全力で生きれば必ず人生変えられます
URLリンク(www.youtube.com)
【与沢翼】金稼げなきゃ意味ないんですよ。周りの人達はただ足を引っ張ってくるだけです。
迷ってる暇があったら決断し行動しろ!稼げない奴は明確な目標がないんですよ
URLリンク(www.youtube.com)
【与沢翼】会社を作るのチョー簡単だから!25万くらいあれば誰でもできますよ。
個人だと舐められるし搾取されたくないならコレするしかない
URLリンク(www.youtube.com)
【与沢翼】起業するよりサラリーマンで成功する方が難しいですよ。
年収3000万くらいなら会社作って自分でやっちゃった方が早いです
URLリンク(www.youtube.com)
【堀江貴文】サラリーマンの無駄な仕組みと人生の消耗…もう辞めれば?
URLリンク(www.youtube.com)
【落合陽一&ホリエモン】会社に全てを奪われる!特別なメリットがない限り
組織に自分の手柄を全て取られてしまうだけ
URLリンク(www.youtube.com)
【与沢翼】起業は怖いとか言うバカに伝えたい「サラリーマンの方がリスクあります」
URLリンク(www.youtube.com)

694:デフォルトの名無しさん
20/04/06 10:04:22.06 o3kGovlh.net
GCPとGASは別物
GCP使っててもGASは使わん事のほうが多い、逆も同じ

695:デフォルトの名無しさん
20/04/07 00:19:15.67 yujFP2M7.net
GASでTwitterbot連動して投稿とかもうわけわかんねえ~

696:デフォルトの名無しさん
20/04/07 01:50:45 JEfC632I.net
>>695
GASでInstagram連携はめんどうだけど、Twitter連携は楽だろ

697:デフォルトの名無しさん
20/04/07 03:46:14.96 yujFP2M7.net
何故かツイートコメントに改行コード入れても改行されないし投稿時間は毎回変える感じだったら、改行なんてツイッターの中で何が改行コードなのかわからねえし参考になる記事見て同じコードで解決にならなかったわ

698:デフォルトの名無しさん
20/04/07 08:11:25 d1kIoLlr.net
>>697
TwitterのTweetで渡す文字は一般的な改行コードしか存在しない
特別なものなんて使われてないから単純に文字列操作できてないだけかと

699:デフォルトの名無しさん
20/04/07 12:51:23 yujFP2M7.net
>>698
なるほど、\nで改行したいって言ってたけど理論上無理だったのか

700:デフォルトの名無しさん
20/04/07 13:31:44.40 fttEuirm.net
馬鹿には無理

701:デフォルトの名無しさん
20/04/07 17:48:04.87 ivfSfUTD.net
改行コードは、
Windows なら、\r\n
Linux なら、\n
HTML なら、br タグ。<br>

702:デフォルトの名無しさん
20/04/08 07:37:08.96 lp3B4EHz.net
GASはJavaScript使えるからVBより好きなんだけど、スマホで編集・実行出来ないのが辛い

703:デフォルトの名無しさん
20/04/08 11:07:24 yTKDGYFG.net
定期的に居るけど、そこまでスマホでプログラムを編集実行するか?
プログラム書くのにスマホでとか効率悪すぎだろ

704:デフォルトの名無しさん
20/04/08 12:59:45 pfSjPaup.net
VBAと比べてどうですか?

細かい事やろうとするとやはりVBAじゃないとできないかな~と思ってます。
ただ、利用者環境にOfficeのインストールの手間がかからない事を考えると
今後はGoogleスプレッドシートが一番なのかな

705:デフォルトの名無しさん
20/04/08 13:04:44 lWfV0IAd.net
VBAは蕁麻疹出るけど
GASは掻いてて気持ち良い

だがどんな場合でもGASが勝ってるかと言えばそうでもない

706:デフォルトの名無しさん
20/04/08 14:07:32.20 pfSjPaup.net
>>705
JavaScriptは慣れてますが
GASは初めてです。
おすすめの学習サイトがあったら教えてください。
インストールの手間が要らないので今後は、Googleスプレッドシートが覇権をとると思います。

707:デフォルトの名無しさん
20/04/08 20:32:13.89 lp3B4EHz.net
>>703
「プログラム」レベルの編集は流石に誰も望まないだろ
拷問だぞw
ちょっと出先でスクリプトの修正が出来ればいいんだよ
そしてスマホでスクリプトの編集が出来ない=何かあった時に対応出来ないからって理由なのか、スマホでマクロが動かないのは普通に不便じゃない?

708:デフォルトの名無しさん
20/04/10 20:01:31.97 GEPNEjLB.net
>>706
スプレッドシートとの連携でGAS使いたいならやりたい事次第で覚え方変わるかと
V8に対応したいなら本家リファレンス1択
巷に出回ってるのは旧バージョンでの解説
GASはJavaScriptより使えるオブジェクトが絞られてたり構文の書き方が微妙に違ったりするから、変に嵌らないためにはどっち選んでも本家リファレンスは読むべき

709:デフォルトの名無しさん
20/04/10 21:37:15.67 oBjEAOlb.net
>>708
> 構文の書き方が微妙に違ったりする
これマジですか?

710:デフォルトの名無しさん
20/04/10 22:41:48.79 LG9l2UEQ.net
何で微妙に違う必要があるんだろうな。
VBAとVBSもそう。
微妙に違うことに何のメリットがあるのか。

711:デフォルトの名無しさん
20/04/11 00:39:48.95 zOl1Pfip.net
>>708
ありがとうございます。
VBAと比べる出来る事は限られて来るとは思いますが
やはり便利なので地道に学習していきます。

712:デフォルトの名無しさん
20/04/11 07:35:40 xPITD/62.net
>>710
VBAはVB6派生でVBSとはもともと設計から違うから、その2つは比較するもんではない

713:デフォルトの名無しさん
20/04/11 08:39:59 BbiRDQqi.net
設計を分ける必要があったの?
完全に同じか、全然違うならわかるが、
8割くらい似せるって何の意味があるんだろう。

714:デフォルトの名無しさん
20/04/11 10:18:26.09 04DXL3Db.net
質問 gasでpwa作れますか?アイコンとかどうすればいいの?sw.jsは?

715:デフォルトの名無しさん
20/04/12 02:51:36 eC/oIIb+.net
>>714
PWAは簡単にできる
アイコンなんかは設定から好きにできる
sw.jsも使える

716:デフォルトの名無しさん
20/05/11 18:01:42 WhXpohRR.net
Google Formで条件分岐した先の選択肢をSpread Sheetから読み込んでFormを自動作成することってできます?
できそうなら方法を教えていただきたいです

具体的には設問1はプルダウンで47都道府県を回答させてそれに応じて設問2は分岐
設問2は東京の人なら東京に関しての設問をSpread Sheetから読み込ませて作成するイメージです

717:デフォルトの名無しさん
20/05/11 18:16:31 MhpqGE2N.net
OK
やるがよい

718:デフォルトの名無しさん
20/06/16 21:15:21 72JD20DA.net
google drive で、あるフォルダの中に同じ名前のサブフォルダが沢山ある場合にそれらを結合してくれるスクリプトを作りたいんですが、参考になる記事などありませんでしょうか?

サブフォルダa
サブフォルダa
サブフォルダa
サブフォルダb
サブフォルダb



サブフォルダa
サブフォルダb

にしたいです。サブフォルダたちの中身は消さずに移動させたいです。

719:デフォルトの名無しさん
20/06/17 03:30:26.35 9RQxAjph.net
>>718
URLリンク(stackoverflow.com)

720:デフォルトの名無しさん
20/06/17 03:35:08.78 H0Dcbe9T.net
1つのフォルダ内に、同じ名前のサブフォルダが2つ以上作れるの?
そんなファイルシステムを見た事がない

721:デフォルトの名無しさん
20/06/17 04:34:34.17 9RQxAjph.net
>>720
ラベルみたいな感じだから、フォルダ名もファイル名も重複可能なのよ
1つのファイルを(シンボリックリンクではなく)複数フォルダに格納したりもできるので、普通のファイルシステム感覚で使うと戸惑うことがある

722:デフォルトの名無しさん
20/06/17 09:21:58.91 GES6ctGC.net
フォルダ名もファイル名も当てに出来ない
頼りになるのはIDだけ
しかもIDには階層構造が無いω

723:デフォルトの名無しさん
20/06/17 16:52:03.32 EftflnE3.net
>>719
どストライクな回答ありがとうございます。
私がやりたいことそのもののようなので、
後ほどじっくり読んでトライしてみます。

724:デフォルトの名無しさん
20/06/22 15:30:25.53 uOpuzf64.net
>>718 です
毎月同じ名前のフォルダをGoogleドライブにアップロードすると、同じ名前のフォルダが2つずつできてしまい困っていたため、このような質問に至りました。
このスクリプトを作って実験してみようも思い、
同じ名前のフォルダを複数アップロードしようとすると、「更新しますか?」というメッセージが出てきて、「更新」を選ぶと、重複なくファイルやフォルダがアップロードされました。
したがってスクリプトは不要になってしまいました。
私の記憶だと以前は特に尋ねられることもなく、同じ名前のフォルダやファイルが二重に出来てしまっていた気がするのですが、、、、改善されたんですかね?

725:デフォルトの名無しさん
20/07/01 13:06:41.87 gceVcA/H.net
Googleフォームの回答スプレッドシートで、回答上限数を設けたいです。
function myFunction() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getActiveSheet();
var value = sheet.getRange("N2").getValue();
if(value >= 4) {
form.setAcceptingResponses(false);
}
}
N2にSUMIFでの計算結果を入れています。
上記スクリプトでif(value >= 4) { でエラーが出てしまいます。
どうしたらSUMIFの結果であるN2が「4」以上になったらフォームを閉じることが出来るのでしょうか?

726:デフォルトの名無しさん
20/07/01 13:10:17.98 IfUrt5hg.net
parseint

727:デフォルトの名無しさん
20/07/08 18:10:45.46 B6DwYS1M.net
spreadsheetで、セルの罫線の設定有無を取得したいのですが、
setBorder()はあってもgetBorder()が見当たりません
罫線の有無を取得する方法は何かありませんか

728:蟻人間
20/07/08 19:08:08.66 wtc6YQgJ.net
>>727
簡単じゃないようだ。
URLリンク(stackoverflow.com)
事前にSheets APIを有効にする必要がある。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch