X

【MACRO】Google Apps Script 質問スレ【DRIVE】

2014/06/29(日) 11:07:03.38ID:5HmND7Qc
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 質問箱
http://peace.2ch.net/test/read.cgi/tech/1131627583/
Microsoft SkyDrive API
http://peace.2ch.net/test/read.cgi/tech/1385604796/
【GoogleAppsScript】猿92【研究せよ!!!】
http://nozomi.2ch.net/test/read.cgi/php/1398600864/
GoogleAPIってどうよ?
http://nozomi.2ch.net/test/read.cgi/php/1018614427/
Google App Engine for Python 6アプ目
http://nozomi.2ch.net/test/read.cgi/php/1358570953/
Google App Engine for java
http://peace.2ch.net/test/read.cgi/tech/1317639323/
GoogleWebToolkit[GWT]について語ろう
http://nozomi.2ch.net/test/read.cgi/php/1147975874/
2018/10/27(土) 00:35:10.36ID:5J0lMEEl
技術的な事は分からんが
>>544が言ってるのは>>545みたいな人の事か?
547デフォルトの名無しさん
垢版 |
2018/10/27(土) 00:54:46.00ID:QkHwtfgJ
個人的には嫌ってないよ
大事なものは暗号化してからうp汁
2018/10/27(土) 02:09:59.56ID:zu36BJom
大事なものを暗号化してメールで送るのはいいけど
そのパスワードを次のメールで送る日本企業
2018/10/27(土) 03:00:25.65ID:g1pi9PrZ
それを得意げに語る上司もセットで
マジであれはなんなんだ
社会に出て驚いた事ベスト3に入る程の衝撃だったわ
550デフォルトの名無しさん
垢版 |
2018/10/27(土) 11:57:29.17ID:R2aCZi1a
>>548
別のメールに別けてるだけマシ
2018/10/27(土) 15:12:14.87ID:v0X4VL4w
>>548
上の下〜中の下ぐらいの企業で常態化してるな

誰が流行らせたのだろうか?
2018/10/29(月) 03:15:47.62ID:Oa9CImgn
そういう中身の伴わない、見た目を取り繕うだけの作業は今の若者はメチャクチャ嫌う

後輩指導する時に、そんな馬鹿な事はやらなくていいと指示したら、俺が上司に怒られた
じゃあ上司から直接後輩に指導してくださいと言ったら、それはお前の仕事だと逃げる
前の会社の話
553デフォルトの名無しさん
垢版 |
2018/10/29(月) 11:17:29.02ID:rTl7m6mf
>見た目を取り繕うだけの作業

kwsk
2018/10/29(月) 18:29:21.95ID:Oa9CImgn
>>553
上で言われてた金庫とその鍵を一緒に送るような行為だよ
あとは、excelが警告を出すって理由でcsvファイルのマクロ加工が許されなかったり、その判断基準が分からなかった
会社は中小零細なんかじゃなくて、従業員数百いる中堅企業だったから、入社してから余計に驚いた
555デフォルトの名無しさん
垢版 |
2018/10/30(火) 14:31:07.59ID:p4LrBCE7
社員の偏差値低そう
2018/10/30(火) 18:21:19.53ID:aexQ9Irm
セキュリティの固さと本人の鍵紛失率は比例だから悩ましいのよね
2018/11/08(木) 12:09:12.86ID:EkjzBgW6
人いないな
558デフォルトの名無しさん
垢版 |
2018/11/15(木) 11:08:41.99ID:PvDTioib
質問いいですか?
2018/11/15(木) 11:10:59.21ID:1bc0l4Fz
たぶん
560デフォルトの名無しさん
垢版 |
2018/11/15(木) 19:19:33.65ID:PvDTioib
ちょっと待ってくださいね
2018/11/16(金) 00:29:03.17ID:r0xHlJjv
次の方どうぞ
562デフォルトの名無しさん
垢版 |
2018/11/16(金) 10:59:11.72ID:9iOixtPe
二島返還と四島返還はどちらが良いですか
2018/11/16(金) 11:33:55.39ID:13Ic4Jcn
>>562
こちらの処方箋を薬局にお持ちください。
次の方〜
564デフォルトの名無しさん
垢版 |
2018/11/16(金) 12:30:48.55ID:24hcK0zy
スプレッドシートのセルの条件で書式を変えるやつなんですけど
セルの保護を付けたり解除したりで背景色を変えることってできますか?
565デフォルトの名無しさん
垢版 |
2018/11/17(土) 01:59:09.69ID:chEbFNdB
>>564
それをgasでやるんだよ
条件書式じゃできない
2018/11/17(土) 02:52:29.77ID:iwPEBhZD
セルの保護ってスクリプトでできたっけ?
調べてもできなかった記憶
567デフォルトの名無しさん
垢版 |
2018/11/17(土) 07:24:14.01ID:7mXoRMgv
セルが保護されてるか確認するコマンド?がわからないんです
それのtrueかfalseでなんとかなりそうなんですが
2018/12/02(日) 19:57:23.72ID:rfLR8sju
>>566
できますお
https://developers.google.com/apps-script/reference/spreadsheet/protection
2018/12/02(日) 20:00:16.84ID:rfLR8sju
>>548
しかも、自動で送ってんだよね。
通信の保護はSSLでやってんだから、ファイルのご送信保護にはなってないね。

まるで意味がない
2018/12/02(日) 20:10:18.07ID:rfLR8sju
>>468
ない。

あるように思えるGraph APIはあくまでもREST APIだから、別途土台になる環境が必要
2018/12/02(日) 20:16:19.12ID:rfLR8sju
>>506
じゃ、Apps Script APIでも使えばいいじゃん
572デフォルトの名無しさん
垢版 |
2018/12/13(木) 20:08:03.86ID:XOkEi3bk
GoでGraphQL(GAE)
https://outcrawl.com/graphql-server-go-google-app-engine
https://qiita.com/trrrrrys/items/44e839134af1a0155be2
https://tech.mercari.com/entry/2018/10/24/111227
https://github.com/99designs/gqlgen
>まず個人的な理由から。 筆者はGoogle App Engine/Standard Environmentの信者であり、
>それ以外のプラットフォームを使う気は今の所ありません。

いま日本企業で一番、エンジニアの採用に力入れまくってる
最先端ベンチャー企業の社員がここまで言い切るってことは
今後はGAE/Go注目かもしれんな
573デフォルトの名無しさん
垢版 |
2019/01/29(火) 00:33:59.60ID:70mrLSKr
HtmlServiceでもalertでもいいのですが、spreadシートを開いている状態で、1時間おきにダイアログを表示させたいのですが時間主導型でトリガーをセットしても、このコンテキストからは呼び出せないとエラーが出ます。
何かいい回避策はないでしょうか?
574デフォルトの名無しさん
垢版 |
2019/01/29(火) 15:21:21.69ID:13bkThSC
URL経由する
575デフォルトの名無しさん
垢版 |
2019/02/11(月) 11:51:49.34ID:4YEc3wKR
スプレッドシートでマクロ起動させるために図形描画して
スクリプトを割り当てたらもう図形の編集や図形の削除ってできないんですか?
割り当て後は右上のプルダウンメニューがでてこないんです
2019/02/12(火) 04:27:36.64ID:orsbZOeu
右クリ
2019/03/06(水) 10:06:07.80ID:4SRpZFCQ
グーグルアップスクリプトはプログラミング初心者におすすめできる
578デフォルトの名無しさん
垢版 |
2019/03/17(日) 12:45:23.95ID:OqCo+XAc
Googleカレンダーに添付ファイルを追加するコード教えて!
579デフォルトの名無しさん
垢版 |
2019/03/17(日) 12:52:04.24ID:rD0zueCH
python用のならあるよ
2019/03/17(日) 12:56:12.90ID:pH631X63
これとコマンドラインgdriveでいろいろできそう
581デフォルトの名無しさん
垢版 |
2019/03/17(日) 12:59:07.48ID:rD0zueCH
ハゲめ
2019/03/20(水) 11:14:54.71ID:vprotu0m
内定先がGsuiteなんだけどどう勉強したらいいのかな?
583デフォルトの名無しさん
垢版 |
2019/03/22(金) 14:49:10.46ID:f+WIg5g9
こりゃ問題じゃね

【悲報】Googleマップ、ゼンリンとの契約解除で超絶劣化 ゼンリンも株価暴落 何がしたいんだ両社
https://hayabusa9.5ch.net/test/read.cgi/news/1553226352/
2019/03/29(金) 18:43:30.56ID:hWFg3V8b
Googleカレンダーに添付ファイルを追加するのは諦めて、HYPERLINKで解決した。
585デフォルトの名無しさん
垢版 |
2019/03/30(土) 21:57:46.29ID:CwhbRKdW
GASではできないんじゃ?
Calendar APIならできるかもよ
調べてないけど
586デフォルトの名無しさん
垢版 |
2019/04/04(木) 23:11:41.43ID:Wk+4k4Yw
GASを使ってnow関数の更新をとめる方法ってないでしょうか?
検索してもまったく出てこないんです
587デフォルトの名無しさん
垢版 |
2019/04/05(金) 00:03:09.93ID:8TkW46B2
解決しました
2019/04/08(月) 12:05:47.40ID:/dR5dMe1
API使わなくてもlinkメソッドで出来るけどね。ここは知ったかぶりする回答者しかいなから使えない。
2019/04/20(土) 14:40:06.41ID:tWWHyzwg
書き方がわからないんですけど、
VBから翻訳する方法ないですか?
2019/04/20(土) 14:55:13.33ID:tgvbScEy
>>589
お前には無理
あきらめろ
2019/04/20(土) 15:32:55.59ID:tWWHyzwg
>>590
あのー、方法を知らない人に聞いてないんですけどー。
592デフォルトの名無しさん
垢版 |
2019/04/21(日) 13:32:14.38ID:tITQ2Bq3
>>591
あきらめろ
2019/04/21(日) 15:32:49.13ID:4kO5c1T5
>>592
だからやり方のわからない人には聞いてないんですよ。

ちなみに書き方はわかったのでもういいです。
2019/05/05(日) 17:57:44.17ID:rLPrkeGk
googleフォーム
名前
趣味
好きな理由
趣味
好きな理由
で得たデータ
名前 趣味 好きな理由 趣味 好きな理由
(名前の入力内容) (趣味の入力内容) (好きな理由の入力内容) (趣味の入力内容) (好きな理由の入力内容)

(名前の入力内容)
(趣味の入力内容) (好きな理由の入力内容)
(趣味の入力内容) (好きな理由の入力内容)
と並べ替えたいのですが、どのようにすれば可能でしょうか?
ご存知の方ご教示お願い致します
2019/05/05(日) 18:39:32.86ID:ZbhvsmlF
無理じゃね
596デフォルトの名無しさん
垢版 |
2019/05/06(月) 18:42:19.72ID:o0+2Jvom
あきらめろ
597デフォルトの名無しさん
垢版 |
2019/05/08(水) 22:37:52.06ID:v2zfKxp6
フォームと連携されたシートをアレコレ弄るのはあんまりオススメしない
別シートにその形になるようにスクリプト組めば?
2019/05/13(月) 00:46:09.37ID:31F8kOtz
前職を退職してしばらく経過している、VBAとPHPしかできないウンコちゃんなんですけど、
これから勉強するならVBAとGASどっちがおすすめですか?
中小企業でのGSuiteの普及具合ってどう?
2019/05/13(月) 07:51:29.08ID:UqvxTptL
知らんがな
まぁjavascriptと同じ感じだからGAS覚えとけば
使う機会あるか知らんが
2019/05/13(月) 08:41:07.41ID:pa8yLa6W
本当にうんこだな
2019/05/15(水) 20:51:09.77ID:UMUjFXwO
もしかして、スプレッドシートって、テキストボックス配置出来ない?
ボタンを押したときに、テキストボックスに入れた値を引数にしてGAS実行とか無理?
602デフォルトの名無しさん
垢版 |
2019/05/16(木) 11:37:04.16ID:Ox4fjiQE
きみにはむり
2019/05/16(木) 19:08:38.58ID:mGxnipSl
>>601
できるわ!!GASをなめんな
2019/05/16(木) 22:27:53.89ID:aE3zz80C
あ、ごめん、Excelレベルのやつ。
下手に触ると、変形したり消えちゃったりする、
図形のじゃなくて。
605デフォルトの名無しさん
垢版 |
2019/05/16(木) 22:52:16.37ID:M/iLkUxO
セルじゃあかんのか
2019/05/16(木) 23:54:06.79ID:aE3zz80C
セルだと、「ここに値を入れるんだぞ」って感じじゃないので。

なんて言うか、例えば格子状に線が引かれている方眼紙みたいな年賀はがきがあって、
そこに住所とか氏名書いたら、物凄く萎えると思うの。
2019/05/16(木) 23:57:14.94ID:H3GEaKSc
表だからね
2019/05/17(金) 09:29:57.48ID:Eosg7Npq
まずSpreadSheetにその機能があるのか?
テキストボックス付きのExcel表を変換したらどうなる?
2019/05/17(金) 20:43:55.99ID:S7b1x4Z7
>>608
何か変な画像(?)みたいなのに置き換えられた。
2019/05/18(土) 10:19:31.77ID:wL0pdwUB
HTML ServiceとUI使えばダイアログボックスやサイドバーに
htmlを使ってテキストボックスやボタンとか表示させることができるよ
2019/05/18(土) 10:45:56.21ID:4RzeW/b4
getidとgeteventbyidって何が違うの?
2019/05/18(土) 11:59:38.42ID:7IJ3He79
名前が違うじゃんばーか
2019/05/18(土) 19:20:28.95ID:4RzeW/b4
どんだけ惨めな負け組人生を送ったら、そんなことが書けるんだろう・・。
2019/05/18(土) 20:31:24.15ID:P5JmHxRD
>>613
涙拭けよw
2019/05/19(日) 13:24:59.15ID:j/nghwCk
負け犬だからその違いもわからないっていうw
616デフォルトの名無しさん
垢版 |
2019/05/21(火) 22:07:00.33ID:Jja3BPK6
>>611
getIdのドットの前のオブジェクトは何?
それ次第

getEventIdはカレンダーイベントオブジェクトでしょ?
だからカレンダーイベントのidが取得できる
617デフォルトの名無しさん
垢版 |
2019/05/21(火) 22:07:54.48ID:Jja3BPK6
>>611
getEventByIdだったw
イベントidでイベントを取得するメソッドだね
2019/05/22(水) 22:43:46.56ID:bxcYYOqD
>>617
カレンダーイベント配列のgetId。
だから、何でカレンダーイベントのIdを取得できるのがもう一つあるのかなと。
しかも取得結果が違うし。

getIdは、長い暗号 + メールアドレスみたいな文字列が返ってくるけど、
getEventByIdは、全然違う文字が返って来たり、空だったりする。
2019/05/23(木) 03:29:55.06ID:4J3/T4Xu
sheet.getRange().sort(column);

の様な処理で column 列が式の場合、式の文字列でソートされますが
この関数は演算結果に対して行う手法はあるのでしょうか?

無いようなら getDisplayValues で配列に取り込み、
放り込みなおして sort するのが比較的手数が少ない方法ですかね?
2019/05/23(木) 08:12:12.16ID:nodzy/aN
式でソートされないけど
2019/05/23(木) 14:01:08.81ID:4J3/T4Xu
検証不足で他の要因で一部にソート異常があったので思い込みにはまってました、お恥ずかしい
2019/06/06(木) 07:53:11.68ID:0GC4e250
スプレッドシートでExcelのマクロみたいなことをしたいのですが
オススメの参考書などありますでしょうか?
2019/06/06(木) 22:33:31.61ID:17p7tBKQ
ググって調べるのが一番だと思うけど。
俺も欲しかったので、Amazonで調べたけど、
内容がすぐに陳腐化するらしい。
アップデートが頻繁なのも善し悪しだな。
624デフォルトの名無しさん
垢版 |
2019/06/08(土) 17:29:30.36ID:h5srjJt3
Javascriptの基礎的な言語知識と
GAS独自のオブジェクト
たとえばスプレッドシートなら
Spreadsheet, sheet, rangeなどが分かればある程度のものは
組めるようになると思う
2019/06/16(日) 20:09:51.82ID:ZtozgK8X
gmailの着信をトリガーにする方法はありますか?
今は1分間隔でスクリプトを動かしてるんだけど、
たまに経過時間でエラーがでちゃうので、1分間隔は厳しいのかなーとか。
626デフォルトの名無しさん
垢版 |
2019/06/17(月) 10:59:46.44ID:lxO8a0KV
定期的に自動で再起動するスクリプトにしろ
2019/06/19(水) 00:49:14.23ID:HMJH3ram
質問なのですが、

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
}

よろしくお願い致します
2019/06/19(水) 06:06:39.91ID:/B51KqfV
スマホのブラウザからは操作できないもんなの?
2019/06/19(水) 14:23:03.68ID:HMJH3ram
>>628
なぜかスマホのブラウザからでも編集、gasの動作しないです
どうも閲覧専用アカウントのような、閲覧しかできない状態になっているように見えます

ブラウザはios版GoogleChromeで、グーグルアカウントはこのシートとgasを書いたオーナーアカウントでログイン済みです
PCブラウザで同アカウントでログインして、gasの正常動作とシート編集などできる事を確認しているアカウントです

スプレッドシートのgasが、アプリはブラウザでもスプシアプリでも何でもいいので、
スマホで動作している方いらっしゃいませんでしょうか?
2019/06/30(日) 09:01:10.73ID:1wPBDcFD
>>626
625じゃないんだが、再起動ってどうやってするの
631デフォルトの名無しさん
垢版 |
2019/06/30(日) 12:46:38.69ID:KJzE6gx5
>>630
たとえばコレとか
https://kido0617.github.io/js/2017-02-13-gas-6-minutes/
2019/07/25(木) 19:54:13.01ID:zHpGKaXB
Gmail時間予約送信のGmailApp実装はまだですか?
633デフォルトの名無しさん
垢版 |
2019/07/26(金) 10:10:58.05ID:ycINWf6e
馬鹿には無理
634デフォルトの名無しさん
垢版 |
2019/07/27(土) 23:05:56.23ID:8PWCZyQY
>>632
トリガーあるじゃん
2019/07/29(月) 00:59:59.45ID:Dem7abun
トリガーも使ってます、定期送信用に。
ただ、不定期にspreadsheets上で複数宛先に一括送信する場合、毎回宛先も内容も違うので、念のため事前にgmail上でチェックしたいのです。
2019/08/19(月) 10:56:02.24ID:zd9MQlzl
google driveやonedrive、amazon s3をFTPで利用できるアプリを開発しました。
よかったら使ってみてください。

webifi
http://www.loxsols.com/pukiwiki/index.php?webifi
2019/09/12(木) 02:28:38.82ID:9g2OFR39
Java Script知らない場合は先にJava Script勉強したほうがいいですか?
638デフォルトの名無しさん
垢版 |
2019/09/12(木) 20:34:14.26ID:hHaUU8VW
そうだね
639デフォルトの名無しさん
垢版 |
2019/09/12(木) 20:36:48.23ID:hHaUU8VW
でもES5の仕様がほとんど使えないから
ちょい古めのJavaScriptで書くことになる
2019/10/04(金) 01:45:57.83ID:zbpSxYO6
ドキュメントにあるデータ名・URL・オーナー名・作成日・更新日を一覧化したいんだけど、指定したオーナーのデータのみ吐き出したい。
これってできる?
641デフォルトの名無しさん
垢版 |
2019/10/04(金) 15:10:08.55ID:JXWhYfPM
どうして出来ないと思ったの?
2019/11/01(金) 14:08:33.21ID:NFOS1XEp
スプレッドシートのonOpenで自分のホルダー名知りたいのですがdriveappの一部が仕様でエラーになります。何か裏技無いでしょうか?
2019/11/01(金) 17:12:50.47ID:ep+Mqrpb
自己解決、onOpenじゃなくて現在のプロジェクトのトリガーでスプレッドシートの起動時にvoldの関数を実行すると登録したら動きました。擬似的なフォルダ構造でやれそうです。
644デフォルトの名無しさん
垢版 |
2019/12/22(日) 20:08:35.90ID:euY4U9Rb
スプレッドシートの内容をカレンダーに自動追加するスクリプトを素人ながら作りましたが、
いわゆる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");
}
}
}
2019/12/27(金) 01:23:41.12ID:XkxDMtdZ
>>644
for文の前に、まるっとgetValue's' とか?
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況