【MACRO】Google Apps Script 質問スレ【DRIVE】
1 :デフォルトの名無しさん :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 質問箱 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/
2 :デフォルトの名無しさん :2014/06/29(日) 11:07:58.27 ID:5HmND7Qc.net ■お役立ちリンク gdata-python-client ttps://code.google.com/p/gdata-python-client/ Google Documents List API v1 Developer's Guide: Protocol (古い) ttps://developers.google.com/google-apps/documents-list/v1/developers_guide_python ScriptDB ttps://developers.google.com/apps-script/reference/script-db ScrptDb ttp://libro.tuyano.com/index3?id=921001 Using OAuth 2.0 to Access Google APIs ttps://developers.google.com/accounts/docs/OAuth2 Using OAuth 2.0 for Login (OpenID Connect) ttps://developers.google.com/accounts/docs/OAuth2Login ドライブの認証と承認について ttps://developers.google.com/drive/training/drive-apps/auth/about OAuth 2.0 認証情報を取得して使用する ttps://developers.google.com/drive/training/drive-apps/auth/credentials
3 :デフォルトの名無しさん :2014/06/29(日) 11:08:27.65 ID:5HmND7Qc.net 一見すごい乱暴な仕様なんだけど実用上は問題ないということなんだろうな https://www.youtube.com/watch?v=lEVMu9KE6jk https://www.youtube.com/watch?v=ezbH4IJynhU http://www.scoop.it/t/gas
4 :デフォルトの名無しさん :2014/06/29(日) 11:09:52.86 ID:wFk5OUc5.net ノ ゚.ノヽ , /} ... ,,イ`" 、-' `;_' ' ..::::::::::::::... ,-、 _.._ ( (,(~ヽ'~ ..::::::::::::::::::::::: )'~ レー' 〉 ヽ i`'} .::::::::::::::::::::::: ~つ '-ー、 i | i' ...::::::::::::::::::::::: / < / 。/ ! ......::::::::::::::::::::::::: これは>>1 乙じゃなくて / ~^´ /},-'' ,●:::::::::::::::::::::::::::::::::::: i、 ,i' _,,...,-‐-、/ i :::::::: .::::::::::::: ..ゝ <,,-==、 ,,-,/ .::::::::::: 放射能がうんたら ) {~''~>`v-''`ー゙`'~ ..::::::::: ........::. { レ_ノ ..::::::::. ......::::::::: ノ '' ..::::::: ...::.:...::::::::: .::::::::: ...:......:::::::::::: . .:::::::::::. ..... .. ..:::::::::::::::::::::::: :::. ::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. :: ::.. .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::: ::. ::::::::::::::::: :::::::::::::::::::::::::::::: ::::: .:: ::. :::
5 :デフォルトの名無しさん :2014/06/29(日) 11:18:48.90 ID:wFk5OUc5.net Google Drive APIをRuby on Railsから叩く方法 http://www.eisbahn.jp/yoichiro/2012/10/google-drive-api-ruby-on-rails.html +関連スレ Windows Azure プログラミング 総合スレ2 http://peace.2ch.net/test/read.cgi/tech/1359450980/
6 :デフォルトの名無しさん :2014/06/29(日) 11:21:28.69 ID:vvQOaiPq.net クラウドAPIスレにすれば良かったのに
7 :デフォルトの名無しさん :2014/06/29(日) 12:06:09.80 ID:tO69Jiz2.net あとで見るリスト Google Apps Unscripted, March 14, 2014 https://www.youtube.com/watch?v=E1CzPtUKWkw Google Drive SDK: Building Drive apps entirely on the cloud with Google Apps Script https://www.youtube.com/watch?v=R71oo-5NmPE Google I/O 2013 - Integrate Google Drive with Google Apps Script https://www.youtube.com/watch?v=0HVJMIeb3aE Google I/O 2012 - Storing Data in Google Apps Script https://www.youtube.com/watch?v=8lJewIWVI5s State of the Script 2013 https://www.youtube.com/watch?v=b0GkGlG6kQY Apps Script Crash Course: ContentService https://www.youtube.com/watch?v=JRGzVdliQOQ Google I/O 2013 - Use Apps Script to Create Dynamic Google Forms https://www.youtube.com/watch?v=38H7WpsTD0M
8 :デフォルトの名無しさん :2014/06/29(日) 12:12:11.08 ID:tO69Jiz2.net Google I/O 2012 - Use What You Know: HTML and JavaScript in Apps Script https://www.youtube.com/watch?v=tcl24asytos Google Apps Unscripted - March 2013 https://www.youtube.com/watch?v=SKZmfgNesKs Google I/O 2012 - OAuth 2.0 for Identity and Data Access https://www.youtube.com/watch?v=YLHyeSuBspI
9 :デフォルトの名無しさん :2014/06/29(日) 12:40:23.92 ID:tO69Jiz2.net Google Drive SDK: Writing your first Drive app in Python https://www.youtube.com/watch?v=zJVCKvXtHtE
10 :デフォルトの名無しさん :2014/06/29(日) 12:42:11.61 ID:tO69Jiz2.net Google Drive SDKのクイックスタートをやってみる for Python http://everyday-01.blogspot.jp/2013/01/google-drive-sdkpython.html pythonでGoogle Driveにファイル転送 http://good-morning-call.com/2013/01/28/python%E3%81%A7google-drive%E3%81%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E8%BB%A2%E9%80%81/ PythonからGoogle Driveにフォルダを作成する方法 http://d.hatena.ne.jp/kaorumori/20120518/1338218268 GoogleDriveAPIでHTMLファイルを作成し、GoogleドライブでWebサイト公開してアルクマを追いかける http://d.hatena.ne.jp/thinkAmi/20121218/1355779644 Google DriveAPIでのHTMLファイル作成、GAEでのOAuth認証とコールバック実装 http://d.hatena.ne.jp/thinkAmi/20121229/1356735544 Google Drive APIによるファイル管理 (1-5/5) javascript http://libro.tuyano.com/index3?id=1166003 Google API Client for Python Documentation http://api-python-client-doc.appspot.com/ GoogleDriveAPI for Python https://developers.google.com/drive/quickstart-python Download Client Libraries https://developers.google.com/drive/downloads Google Drive API https://developers.google.com/drive/ BigQuery https://developers.google.com/bigquery/what-is-bigquery Google Cloud Datastore https://developers.google.com/datastore/ Google Cloud Storage Overview https://developers.google.com/storage/docs/json_api/ Google Maps Coordinate API https://developers.google.com/coordinate/ Google Fonts Developer API https://developers.google.com/fonts/docs/developer_api Using OAuth 2.0 to Access Google APIs https://developers.google.com/accounts/docs/OAuth2
11 :デフォルトの名無しさん :2014/06/29(日) 12:45:33.92 ID:tO69Jiz2.net Google Cloud Datastore: A Fully Managed NoSQL Data Storage Service https://www.youtube.com/watch?v=fQazhzcC-rg
12 :デフォルトの名無しさん :2014/06/29(日) 12:52:51.76 ID:tO69Jiz2.net Google APIs Client for Python (includes for Google App Engine) https://developers.google.com/api-client-library/python/ だぶってたらすまそ
13 :デフォルトの名無しさん :2014/06/29(日) 14:13:30.73 ID:tO69Jiz2.net Google Caja https://developers.google.com/caja/ Overview of Google Apps Script https://developers.google.com/apps-script/overview Tutorial: Leveraging Google App Engine services from scripts https://developers.google.com/apps-script/articles/appengine?hl=ja Properties Service https://developers.google.com/apps-script/guides/properties Google Apps Script : To store data on google Cloud Sorage http://blog.knoldus.com/2013/01/19/google-apps-script-to-store-data-on-google-cloud-sorage/ Google Apps Script: How to store data on google cloud storage? http://stackoverflow.com/questions/12744957/google-apps-script-how-to-store-data-on-google-cloud-storage Google Apps ScriptのPrediction Serviceを使ってみた http://qiita.com/ttyokoyama/items/1aac9078d34b0daf1d44 BigQuery API の利用 (1-5) http://libro.tuyano.com/index3?id=901002
14 :デフォルトの名無しさん :2014/06/29(日) 14:30:36.95 ID:tO69Jiz2.net この人の声は聴きとり易いな Your First Script - Apps Script Tutorials https://www.youtube.com/watch?v=Pgfbl_o9WvM
15 :デフォルトの名無しさん :2014/06/29(日) 16:08:56.60 ID:tO69Jiz2.net https://developers.google.com/apps-script/overview ここを見ながら最初のスクリプトを書いてみた Google Drive 上であらかじめ spreadsheet を一つ作って出来たファイルの ID を調べておく Google Drive の [Create] から [Script] を選択し [Blank Project] ([Script] が無いときは [Create] の一番下の [Connect more apps] を選んで [検索] apps script で出て来る [Google Apps Script] をインストール) Script Editor の画面になったら以下のソースをコピペして適当な名前を付けて保存 function createAndSendDocument() { var sheetId = '上で調べたID'; var ss = SpreadsheetApp.openById(sheetId).getActiveSheet(); var docId = ss.getRange(1, 1, 2, 1); Logger.log('docId: %s', docId.getValues()[1][0]); var doc = null; try{ doc = DocumentApp.openById(docId.getValues()[1][0]); }catch(e){ doc = DocumentApp.create('_hello_world_'); docId.setValues([['docId'], [doc.getId()]]); } doc.getBody().appendParagraph('hello, ' + (new Date()).toISOString()); var url = doc.getUrl(); var subj = doc.getName(); doc.saveAndClose(); var email = Session.getActiveUser().getEmail(); var body = 'created: ' + url; Logger.log('email: %s, subj: %s, url: %s, body: %s', email, subj, url, body); GmailApp.sendEmail(email, subj, body); } 保存出来たら [select function] で createAndSendDocument を選んで実行
16 :デフォルトの名無しさん :2014/06/29(日) 16:28:54.93 ID:tO69Jiz2.net web で公開するには とりあえず上のソースに次の関数を一つ追加しておいて function doGet(e) { createAndSendDocument(); return ContentService.createTextOutput(e && e.parameters.index ? e.parameters.index : ''); } Script Editor で [Publish] -> [Deploy as web app...] を選択 ダイアログが出たら Project Version: 適当な名前 (とりあえず [Save New Version] を押すとバージョン 1 が作られる) Execute the app as: me (とりあえず自分だけに公開) Who has access to the app: Only myself (とりあえず自分だけ ※) ※で Anyone を選んだときは Script 中で更新するファイルにあらかじめアクセス権の設定が別途必要 [your latest code] をクリックすると [***開発専用***の URL] が自動で開かれるので公開前のテストが出来る [Deploy] を押すと [公開用の URL] が表示されるのでコピーして保存してあらためてブラウザでその URL にアクセス さらに一度公開したものを更新するときはバージョン番号を上げる必要がある 具体的にはバージョン 2 以降は [Publish] -> [Deploy as web app..] を押す前に Script Editor の [File] -> [Manage versions...] であらかじめ新しいバージョンを作る必要がある
17 :デフォルトの名無しさん :2014/06/29(日) 17:48:16.55 ID:5HmND7Qc.net 日記乙 参考になった
18 :デフォルトの名無しさん :2014/06/29(日) 18:06:30.40 ID:5HmND7Qc.net Javascriptを使うのをやめろ:Railsの時代遅れ云々についての結論 - Qiita http://qiita.com/kaiinui@github/items/dad6180f1910c6a4bfd5 Ruby - Railsが時代に合わなくなってきた - Qiita http://qiita.com/kaiinui@github/items/2781219340d427543d08
19 :デフォルトの名無しさん :2014/06/29(日) 18:51:46.06 ID:5HmND7Qc.net GDG All Hands: Google Apps Script with Arun Nagarajan https://www.youtube.com/watch?v=l0CCj6ull7s
20 :デフォルトの名無しさん :2014/06/30(月) 08:15:01.70 ID:94hmBiki.net https://developers.google.com/apps-script/quickstart/docs Try it out / Publish 〜 (SPA) AngularJSを使ったWebアプリのアーキテクチャ設計 http://qiita.com/zoetro/items/46d2a8b57f2645bb5033 .NET 開発者向け Single Page Application 入門 http://msdn.microsoft.com/ja-jp/magazine/dn605877.aspx Single Page Application (SPA) を使ってみよう: MVC 4 新機能シリーズ http://blogs.msdn.com/b/chack/archive/2012/02/28/single-page-application-spa-mvc-4.aspx ASP.NET MVC 4 Beta で追加された Single Page Application を試す http://shiba-yan.hatenablog.jp/entry/20120218/1329552642
21 :デフォルトの名無しさん :2014/06/30(月) 08:30:44.90 ID:94hmBiki.net 漏れもメモも貼っとく DriveSDK/FlowManager.gs https://github.com/entaq/GoogleAppsScript/blob/master/DriveSDK/FlowManager.gs OAuth2 Two samples here - - App Engine Python sample that shows Server Side flow. - Entirely client side flow with "Sign in with Google+. These are samples expected to run seperately. For the Server Side flow, I use raw HTTP requests for illustration purposes only. Please use libraries and proper verification process outlined here - https://developers.google.com/accounts/docs/OAuth2Login#validatinganidtoken https://github.com/entaq/OAuth2Flows https://github.com/entaq/OAuth2Flows/blob/master/ServerSide.py https://github.com/entaq/OAuth2Flows/blob/master/ClientSide.html Google I/O 2012 - OAuth 2.0 for Identity and Data Access https://www.youtube.com/watch?v=YLHyeSuBspI ドライブの認証と承認について https://developers.google.com/drive/training/drive-apps/auth/about OAuth 2.0 認証情報を取得して使用する https://developers.google.com/drive/training/drive-apps/auth/credentials Using OAuth 2.0 to Access Google APIs https://developers.google.com/accounts/docs/OAuth2 Using OAuth 2.0 for Login (OpenID Connect) https://developers.google.com/accounts/docs/OAuth2Login Google Driveの認証情報 GoogleのドキュメントにあるRetrieving and Using OAuth 2.0 Credentialsのサンプルコードのコメントを見ると、 認証情報はjson形式に変換して格納しろと書いてあります。 認証情報のファイル入出力スクリプト json形式の認証情報を受け取ってファイルに書き込む関数storeJsonCredential()と、 ファイルに保管された認証情報を返すreadJsonCredential()を作りました。 http://good-morning-call.com/2013/01/27/python%E3%81%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%85%A5%E5%87%BA%E5%8A%9B/ http://good-morning-call.com/2013/01/28/python%E3%81%A7google-drive%E3%81%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E8%BB%A2%E9%80%81/
22 :デフォルトの名無しさん :2014/06/30(月) 08:33:02.08 ID:94hmBiki.net ム板的には結構重要情報かも Google Drive SDK: Searching for files https://www.youtube.com/watch?v=DOSvQmQK_HA
23 :デフォルトの名無しさん :2014/06/30(月) 12:07:30.79 ID:iAWFXjp6.net あがってる情報が古い気がする
24 :デフォルトの名無しさん :2014/06/30(月) 17:39:27.89 ID:8wubZZrm.net そうでもない。 ただし、資料が多過ぎると見る気を無くす。 >1 乙
25 :デフォルトの名無しさん :2014/06/30(月) 21:52:39.36 ID:Xi/T5ITo.net 質問です。新しく作ったメニューに対してアクセラレータキーを設定する事はできますか?
26 :デフォルトの名無しさん :2014/07/01(火) 11:06:27.64 ID:73ppV3Pt.net 2014-05-15 Deprecating ScriptDB and Domain Service in Apps Script http://googleappsdeveloper.blogspot.jp/2014/05/deprecating-scriptdb-and-domain-service.html Attention Apps Scripters: We are deprecating ScriptDB and the Domain service. The Domain service is being replaced by the Admin SDK advanced service, which offers a wider array of data and operations. ScriptDB has no direct replacement, but the blog post and migration guide list some alternatives. The ecosystem of cloud data storage options has really taken off, and I think many of you will be better served by those technologies in the long run. https://plus.google.com/app/basic/+EricKoleda/posts?cbp=19pxhkiqduurj&sview=25
27 :デフォルトの名無しさん :2014/07/01(火) 22:21:16.08 ID:Eepx6p70.net >>25 アクセラレータキーとは?
28 :デフォルトの名無しさん :2014/07/02(水) 14:10:02.95 ID:2yT8qCgo.net >>25 見つからんね 他のアプリは出来てるのあるから やり方はあるんだろうけど
29 :デフォルトの名無しさん :2014/07/02(水) 15:23:27.83 ID:My5/zu3x.net 難しい質問には答えられません。
30 :デフォルトの名無しさん :2014/07/02(水) 15:26:11.32 ID:My5/zu3x.net >>27 Ctrl + 'O' で open とかじゃね? キー入力を addEventListener して出来なくもないが、 メニューの欄にも項目名の横に Ctrl + 'O' って出て来て欲しいというのが、 >>25 の求めてるものだと E.S.P.
31 :デフォルトの名無しさん :2014/07/02(水) 21:37:25.05 ID:bqKflTRz.net 25です。 スプレッドシートについて、自作したスクリプトをメニューに登録して使っていますが、その機能をキーボードで実行したかっただけです。 メニューのファイルにALT+Fでアクセスするような動きがありますが、そういう機能の実装はどうすればできますか?
32 :デフォルトの名無しさん :2014/07/03(木) 00:21:32.67 ID:DIfIjFzr.net As @Arun says, this is not supported yet. See and star this issue. https://code.google.com/p/google-apps-script-issues/issues/detail?id=306 Apps Script only exposes server side events. Unfortunately, you cannot register client side events like keyboard strokes today. Please log an issue in our issue tracker https://code.google.com/p/google-apps-script-issues/issues/list
33 :デフォルトの名無しさん :2014/07/03(木) 12:59:30.06 ID:au2RNPcn.net これGAEとかのGQLと同じでmax100件(最大でも1000件)までしかリスト表示されないんだな
34 :デフォルトの名無しさん :2014/07/03(木) 17:48:45.28 ID:0TQE6pDF.net 168 デフォルトの名無しさん [sage] 2014/07/03(木) 17:10:36.81 ID:/QLPOJJ3 Be: Dartプログラミング言語をGoogleのApp Engineがサポート…ついにサーバ言語としても位置づけ http://jp.techcrunch.com/2014/07/01/20140629googles-dart-programming-language-is-coming-to-the-server/ これでW3Cは無理が有る様に思うが、きっかけにはなりそう。 あまり使いたいと思わせる要素は少ないな。あるのは数の力かな。 多分この辺りの言語戦争がWebKit内で有って分裂したんじゃ無いだろうか。表面は違うが。
35 :デフォルトの名無しさん :2014/07/04(金) 14:59:57.58 ID:azKVS+/T.net Google Drive SDK: Building Drive apps entirely on the cloud with Google Apps Script https://www.youtube.com/watch?v=R71oo-5NmPE デモの途中で予定外の行動に出てるけど 何をミスって登録出来なくなってるんだろ
36 :デフォルトの名無しさん :2014/07/04(金) 16:44:57.20 ID:YpaE6k7m.net >>35 Eric Koleda The law of demos struck during Arun's presentation, but he handled it well and this episode is a great way to get started writing Drive Apps in Apps Script. Arun Nagarajan The demo gods can be cruel. But this time they just added in a minute or two of delay that I didn't excited expect :) Danielle Donovan Please help! I didn't realize that Zip and Send was a developer product and now have multiple files locked up with this error message: TypeError: Cannot call method "map" of undefined. Shouldnt have tried this at 2 am! Have a client waiting on my work product and it's all gone.
37 :デフォルトの名無しさん :2014/07/05(土) 03:55:39.23 ID:Q8yincZ0.net Google Developers When you see us troubleshooting live, that's how you know it's a live demo. :)
38 :デフォルトの名無しさん :2014/07/06(日) 07:29:28.42 ID:QhYHPyG+.net フォルダーの階層どれくらいまで深く出来るんだろ ファイル名の長さとかどうなんだろ 拡張子付のフォルダーが作れないって・・・
39 :デフォルトの名無しさん :2014/07/06(日) 07:41:18.80 ID:QhYHPyG+.net あと同じフォルダに同じ名前でファイル作れてしまうのもな ポリシーと言ってしまえばそれまでだが
40 :デフォルトの名無しさん :2014/07/06(日) 12:22:09.28 ID:R9ebM/zt.net Trashに移動したフォルダに対して それを親にするファイルをアップロードしても エラーにならないのにファイルは作られてないな 問い合わせのトラフィック減らすために 一度取得したフォルダのidをキャッシュしてみたが フォルダがTrashに入ってるかどうかを 結局毎回チェックしないといけないので idをキャッシュにする意味が無いという
41 :デフォルトの名無しさん :2014/07/06(日) 12:42:30.14 ID:R9ebM/zt.net 親フォルダをTrashからrootに出したら そこで初めて隠れてた子ファイルが表示されたな 見えないけど存在するファイルが出来る訳か
42 :デフォルトの名無しさん :2014/07/06(日) 20:53:56.49 ID:4Al3+AY7.net Trashにあるフォルダの子ファイルを 新規作成ではなくて既存のと 同じidで上書きした場合だと Trashの中でもそのファイルの 日時は更新されるな
43 :デフォルトの名無しさん :2014/07/07(月) 12:56:20.56 ID:BruQRsNT.net 日記は別の場所で書けよ
44 :デフォルトの名無しさん :2014/07/21(月) 21:54:48.41 ID:DpfIQ25M.net https://developers.google.com/api-client-library/python/apis/
45 :デフォルトの名無しさん :2014/07/28(月) 12:36:18.28 ID:bXhble1y.net すみません質問です cronを叩かせるだけの目的で書いたのですが、 予期しないエラーが頻発するようで確実な動作が見込めてません 解決方法はありますでしょうか function myFunction(){ //時間主導型の登録トリガ どう設定してもエラーは出る UrlFetchApp.fetch("http://hoge.jp/fuga.php"); } 現状エラー回避のためにtry{}catch(e){;}を掛けてますが、根本的解決にはなりませんよね
46 :デフォルトの名無しさん :2014/07/28(月) 13:17:20.65 ID:Kd+N53fj.net エラーの内容は?
47 :デフォルトの名無しさん :2014/07/28(月) 13:44:16.58 ID:bXhble1y.net エラーレポートメールのエラーメッセージの内容でいいですかね? 予期しないエラー: http://URL (行 2、ファイル「cron」) エラー行はUrlFetchApp.fetchしている行です 正常にアクセスする時もあるので、何が原因なんだろうなぁと
48 :デフォルトの名無しさん :2014/07/28(月) 14:42:04.13 ID:+qczOS9S.net eの内容は?
49 :デフォルトの名無しさん :2014/07/28(月) 17:47:46.65 ID:bXhble1y.net 「[タイムスタンプ] Exception: 予期しないエラー: [URL]」ですね ログの出力とgetLogで書式は少し違いますが、内容はこれ以外には何も無いんです
50 :デフォルトの名無しさん :2014/07/28(月) 21:04:08.04 ID:6Q8fYjya.net URLを他の所に変えても同じ結果?
51 :デフォルトの名無しさん :2014/07/29(火) 00:08:14.75 ID:ufPt6u02.net http://kagan.hatenablog.com/entry/2014/07/21/205713 http://kujirahand.com/blog/index.php?GAS%E3%81%A7cron%E3%81%AE%E3%81%AA%E3%81%84%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AB%E5%AE%9A%E6%9C%9F%E5%AE%9F%E8%A1%8C%E6%A9%9F%E8%83%BD%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B
52 :45 :2014/07/29(火) 12:57:58.69 ID:aIcowZOC.net ご指導ありがとうございます解決しました URLを別のドメインに変えると上手く行ったので、GASじゃなくサーバー側の問題のようです 初心者丸出しの質問、申し訳ないです;;
53 :デフォルトの名無しさん :2014/08/01(金) 17:31:28.94 ID:Mjd2jJg4.net 質問です https://developers.google.com/drive/web/quickstart/quickstart-python?hl=ja ここのpythonのサンプルでファイルを作るのは問題ないのですが spreadsheetを作ったあとどうやってそれを編集すれば良いのか判りません 一方 https://code.google.com/p/gdata-python-client/ ここからGoogle Spreadsheets Data APIを使うと編集が出来ました ただgdataは古いAPIなので使わない方が良いと書いてあるサイトもあるので 出来ればgdata-python-clientではなくgoogle-api-python-clientを使って spreadsheetを読み書きしたいです 何かヒントをください
54 :デフォルトの名無しさん :2014/08/01(金) 18:23:28.93 ID:ST/kpJCg.net スレ違いだとは思いますが、どこで質問したら良いかわかりませんので少しお付き合いください。 AppsSpredsheetにセルの値の変更や追加などをExcelやAccessのVBAから実行してローカルのファイルの内容を自動的に反映したいと思っています。 どこかいいスレや資料があれば教えてほしいのですが。。。。
55 :デフォルトの名無しさん :2014/08/01(金) 20:17:44.98 ID:Jzz96Zpk.net excel の同期ならフォルダごと同期するだけで良い気がする VBA で実行するなら javascript の API 叩けばなんとかなりそうだけど 面倒なだけでメリット無い気がする
56 :デフォルトの名無しさん :2014/08/01(金) 21:41:47.70 ID:ST/kpJCg.net >>55 excelの値全部ではなくサマリー的なものをスプレットシートに書き出して出先でも簡単に確認できるようにしたいなって思ってたんです。 GmailAPIの使用例は見つけたんですけどもスプレッドシートはあまり需要がないのか見つけられず。。。 excelからならコピペでも出来てしまうのも確かなんですが。。。自動化もしてみたいとおもったわけなんです。 他の言語でのサンプルを見ながらも少し色々探してみます
57 :デフォルトの名無しさん :2014/08/02(土) 02:03:33.10 ID:DYbeSaoq.net 企業でGoogle Appsに接してる人間ならChromebookで出来る事が解る 個人アカを使ってGoogleサービスを日々使いこなしてる筈だとね ただ、日本はMSと手を組んだメーカー連合がつよすぎてね 大手ITベンダーは全部Googleとは疎遠 掲示板はMSのステマなのか真性の情弱なのか書正論ばかり こんな醜い国じゃGoogleも後回しにしたくなるかなって SoftBankグループみたいな三流IT企業から買いたく無いんだよ せめて他のリセラーにも売らせてくれ てか直販で売りやがれ!
58 :デフォルトの名無しさん :2014/08/04(月) 13:29:51.73 ID:VkhvqJe+.net >>53 Java / C# は gdata じゃない方の client API があるみたいね https://developers.google.com/google-apps/spreadsheets/
59 :デフォルトの名無しさん :2014/08/04(月) 13:37:15.25 ID:VkhvqJe+.net http://qiita.com/MOKYN/items/1078d69c1a4d233b7114
60 :デフォルトの名無しさん :2014/08/04(月) 17:58:06.09 ID:vzBGIwJJ.net Sample for reading Google Drive spreadsheet cells with OAuth2 https://github.com/hnakamur/gae-oauth2client-spreadsheet
61 :53 :2014/08/08(金) 09:15:38.39 ID:gW33htdT.net >>60 ありがとう できました だけど何で python の gdata の spreadsheets.client は 途中で開発投げだした見たな中途半端なのが何年も放置されてんだろ
62 :デフォルトの名無しさん :2014/08/09(土) 06:05:40.91 ID:pKDLnMOq.net 質問させてください スプレッドを匿名ユーザと共有したいのですが、その匿名ユーザにスクリプトscriptを実行させることはできないのでしょうか? スプレッドの共有はできてるのですが、匿名ユーザでスクリプトが動かなく、スクリプトエディタも開けません
63 :デフォルトの名無しさん :2014/08/09(土) 06:12:07.92 ID:l2WdSHx9.net スクリプトを共有したいときはスプレッドシート内部にスクリプトを作るんじゃなくて スプレッドシートとは独立したスクリプトのみをドライブに作れば良かったと思う
64 :デフォルトの名無しさん :2014/08/09(土) 06:13:30.26 ID:l2WdSHx9.net あとスクリプトエディタで開くとかじゃなくて スクリプト実行させるだけならスプレッドシート内のスクリプトでも問題ない 公開するときのアクセス権と公開対象を適切に選ぶ必要はあるけどね
65 :デフォルトの名無しさん :2014/08/09(土) 06:15:41.26 ID:l2WdSHx9.net 具体的にはスクリプトを公開するときの実行者を自分のアカウントにして公開対象を匿名許可にする スプレッドシート自体は共有しなくてもこれでスクリプトからアクセスできる
66 :デフォルトの名無しさん :2014/08/09(土) 06:35:55.20 ID:Wx261KMx.net 自信満々に嘘を吐く
67 :デフォルトの名無しさん :2014/08/09(土) 09:26:32.94 ID:pKDLnMOq.net スプレッドシートの共有は「リンクを知っている全員が編集できます。」になっています。 スプレッドシート内のスクリプトは「ウェブアプリケーションとして導入」で「自分として実行」、アクセスできるユーザは「全員(匿名含む)」です。 上記で試すと、自分で開いてる時はスクリプトは実行できますが、匿名ユーザーとして開いてる場合は実行できません。 実行するユーザを「ウェブアプリケーションにアクセスしているユーザ」に、アクセス出来るユーザを「全員」にしてもやはり同じです。 どうしてだろう…。
68 :デフォルトの名無しさん :2014/08/09(土) 12:47:15.87 ID:cMAC0zr6.net スクリプトのログには何か残ってる?
69 :デフォルトの名無しさん :2014/08/09(土) 15:45:25.40 ID:pKDLnMOq.net >>68 いまLogger.logを入れてみました。 自分で実行した場合はログ出ましたが、匿名ユーザーの場合は何も表示されないですね…。
70 :デフォルトの名無しさん :2014/08/09(土) 17:06:56.77 ID:l2WdSHx9.net 先にアカウントごとに実行できるAPI選んどくのは何だっけ?
71 :デフォルトの名無しさん :2014/08/25(月) 16:19:31.66 ID:nYq6eJdk.net 定期的にGMAILの新着メールをチェックして何らかの処理をするスタンドアロンスクリプトを複数動かす って無駄ですか?ですよね?利用制限的によくないですよね? 新着メールをチェックする部分だけを別スクリプトとして切り出して共通化 とかできますか?どうすればいいですか
72 :デフォルトの名無しさん :2014/08/25(月) 16:21:54.88 ID:Hlfi2Pum.net >>71 GMail APIを使う。
73 :デフォルトの名無しさん :2014/09/05(金) 12:49:53.92 ID:Y7p0ugKJ.net いまスクリプトエディタ使える?
74 :デフォルトの名無しさん :2014/09/05(金) 15:16:49.71 ID:IWkncnuU.net >73 なぜか使えない… 過去に作ったスクリプトを開こうとしたら、 画面上のメニューバーはグレーアウトしてるわ、 ソースも見れないわ、という状態…。 メンテ中なのかな?
75 :デフォルトの名無しさん :2014/09/05(金) 15:52:16.17 ID:JjYqHkIR.net 予告なしメンテって怖いなぁω
76 :デフォルトの名無しさん :2014/09/05(金) 17:19:49.77 ID:lPxaCJ2o.net twitter上で、ドライブの言語設定を英語にすると入れましたという情報。メンテでもなんでもなくて、Googleがまたやらかしたようだ。 しかも日本語でだけ起きてるようだ。
77 :デフォルトの名無しさん :2014/09/05(金) 17:44:02.38 ID:O4jIFv7N.net みんな使えてないんだ。いくらググっても情報出てこなかったから、自分だけかと思った。
78 :デフォルトの名無しさん :2014/09/05(金) 17:47:04.00 ID:O4jIFv7N.net 言語設定「アメリカ英語」にしたら正常動作した。
79 :デフォルトの名無しさん :2014/09/05(金) 18:01:31.73 ID:OHgvXglZ.net ボタンクリック時に、getDownloadUrl()を利用して、 ドライブのファイルをローカルPCにダウンロードさせたいのですが、 何か良い方法はないでしょうか。
80 :デフォルトの名無しさん :2014/09/06(土) 07:30:02.32 ID:lwBPQO1J.net あると思います。
81 :デフォルトの名無しさん :2014/09/08(月) 14:22:48.45 ID:paWs4Hy6.net googleDriveApiで分からないことがあるんですけど、ここで質問してもいいですか? 該当スレが見当たらなくて‥.
82 :デフォルトの名無しさん :2014/09/08(月) 17:20:31.13 ID:PbRMq4gS.net どうぞ
83 :デフォルトの名無しさん :2014/09/09(火) 19:21:47.30 ID:ZfTUX9zM.net では質問されてください。 androidアプリを作っておりまして、googleDriveApiをアプリで使ってます。 アプリからフォルダの作成、ファイルのアップロード、ファイルのダウンロードを試してますが、1つ分からないことがあります。 アプリからドライブにアップロードしたファイルは、アプリからもダウンロードできるようですが、 アプリ以外(ブラウザやDriveアプリ)でアップロードしたファイルはアプリからは読み取れないようです。 これは何故でしょうか?
84 :デフォルトの名無しさん :2014/10/03(金) 13:38:13.29 ID:l1a/FbjN.net 先月まで使えてた DriveApp の GetFolderById が今月あたりから 「アクセスが拒否されました」 になったんですが、こういった情報はどこを探せばわかるんでしょうか?
85 :デフォルトの名無しさん :2014/10/03(金) 13:40:00.84 ID:lXIQAzKJ.net へー
86 :デフォルトの名無しさん :2014/10/03(金) 14:00:18.15 ID:I4AMywYF.net >>84 それつまり、そのフォルダへのアクセス権を君が失ったってことじゃないかな。
87 :デフォルトの名無しさん :2014/10/03(金) 14:14:49.00 ID:l1a/FbjN.net >>86 もちろんアクセス権はありますよ。 hasNext とか、もともとアクセス拒否だったので使えなかった。 その範囲が広がった感じ。
88 :デフォルトの名無しさん :2014/10/03(金) 14:51:37.02 ID:lXIQAzKJ.net アカウント凍結の前兆かも知れない
89 :デフォルトの名無しさん :2014/10/07(火) 08:42:41.11 ID:oJl/Y7yL.net >>87 DocsListのほうは?
90 :デフォルトの名無しさん :2014/10/07(火) 11:53:15.17 ID:dYvjtFhe.net >>89 こちらはアクセス拒否にはならないようです。 ただ、大分使える関数が違うみたい。 この線で直してみます。 Thanks!
91 :デフォルトの名無しさん :2014/10/19(日) 19:11:06.83 ID:Orh+9IVB1 負荷のかかる処理を高頻度で動かした場合って、 アカウント凍結みたいなペナルティあるの?
92 :デフォルトの名無しさん :2014/11/02(日) 12:51:15.25 ID:DnfpgE4l.net spreadsheetからcontactのフリガナって弄れないんですかね?
93 :デフォルトの名無しさん :2014/11/02(日) 13:00:03.63 ID:CjBmvnJw.net いける
94 :デフォルトの名無しさん :2014/11/02(日) 13:19:05.02 ID:iFLhMcfI.net ScriptDB みんな使ってるの?
95 :デフォルトの名無しさん :2014/11/02(日) 16:39:28.49 ID:nVDzouXs.net 使ってない spreadsheet で間に合うので
96 :デフォルトの名無しさん :2014/11/02(日) 17:24:39.28 ID:/dK2F75C.net >>93 どうやるんですか?? >>93
97 :デフォルトの名無しさん :2014/11/03(月) 12:30:15.90 ID:lU3ZnnO9.net >>95 なるほど。。。どのくらいのデータ扱ってるんですか? 参考までに教えてください。
98 :デフォルトの名無しさん :2014/11/03(月) 19:27:50.34 ID:p3gGK/5S.net GoogleDRIVEでゴミ箱を削除してくださいとポップアップが出るようになったのですが スマホからもpcからもゴミ箱が表示されません。 ゴミ箱はどこに表示されるのでしょうか。 よろしくお願いします。
99 :デフォルトの名無しさん :2014/11/03(月) 19:47:07.46 ID:p3gGK/5S.net 解決しました
100 :デフォルトの名無しさん :2014/11/07(金) 00:08:03.23 ID:MQmGrs9M.net GAEから使えるのがありがたい
101 :デフォルトの名無しさん :2014/11/07(金) 17:42:40.98 ID:qD5n5Xcy.net >>94 もうそれ、サービス終わってるよ
102 :デフォルトの名無しさん :2014/11/08(土) 11:59:45.01 ID:UfYKgu7A.net >>101 そうですか。。。。 MS-Accessみたいなことできるお手軽DB実現したかったのにちょっと残念です。DBやるならGAEとかしかないのかな。。。
103 :デフォルトの名無しさん :2014/11/08(土) 16:15:22.81 ID:qwvGzBPO.net えっ
104 :デフォルトの名無しさん :2014/11/10(月) 08:44:52.32 ID:9rz69vME.net >>102 DBやるなら、AWSのRDSやらGoogle Cloud SQL、レンタルサーバのDBサーバ など有償のものを使うしか手立てはないですよ。ローカルのサーバをDDNSで 外からアクセス出来るようにして、GAからアクセスさせるってのも手ではありま すがね。
105 :デフォルトの名無しさん :2014/11/10(月) 11:43:50.35 ID:GGFW6CYo.net spreadsheetで間に合わないなら GAEのDBを使うのが一番安上がり
106 :デフォルトの名無しさん :2014/11/10(月) 15:50:15.20 ID:N/uHWaPu.net 2014-10-06 Angularが嫌い http://mizchi.hatenablog.com/entry/2014/10/06/162103 AngularJSは覚えることが多過ぎてあきらめた。mustucheテンプレートはイケテル。 => vue.jsおし。 MEANはnpmエコシステム体験ツアーに便利。(そのまま実用に突き進むのはゴールデンハンマーの罠) ↓ Vue.jsか日本語書籍をはじめノウハウの多いbackbone.jsがおすすめ。 Angular.jsは不自然なところが多い。JQueryのように自然に使えない。数年後にはEJB2のように滅んでいる感じ。 ↓ Angularそっちのけで、Vue.jsについて所感 2014-02-14 http://havelog.ayumusato.com/develop/javascript/e587-vuejs_impressions.html 2014-06-26 5分でわかるVue.jsと、jQueryで頑張ってはいけない理由 http://www.infiniteloop.co.jp/blog/2014/06/5min_vuejs/ Vue.js概要? 2014/04/25 - 2014/11/09 http://qiita.com/asip2k25/items/bd4bdccd5201d542953c Vue.js v0.11の変更点(予定)まとめ Oct 7th, 2014 http://blog.koba04.com/post/2014/10/07/vue-js-v011-changes/ Vue.js http://vuejs.org/ どこでも活躍できるテンプレートエンジン「Mustache」 http://blog.mach3.jp/2010/10/05/mustache-template-engine.html 2012-12-09 テンプレートエンジンmustacheを使ってみる http://d.hatena.ne.jp/Kazuhira/20121209/1355042467 mustache http://mustache.github.io/
107 :デフォルトの名無しさん :2014/11/10(月) 15:52:03.91 ID:N/uHWaPu.net 2014-02-13 軽量でパワフルなデータバインディングMVVM, vue.jsで遊んでみた http://mizchi.hatenablog.com/entry/2014/02/13/153742
108 :デフォルトの名無しさん :2014/11/10(月) 16:49:41.10 ID:N/uHWaPu.net AngularJS入門の巻き http://www.slideshare.net/itokami1123/angularjs-34533999 AngularJS入門の巻き2 http://www.slideshare.net/itokami1123/angularjs-beginner-20140629 AngularJS入門 http://dev.classmethod.jp/series/angularjs%E5%85%A5%E9%96%80/ AngularJS http://js.studio-kingdom.com/angularjs AngularJSの起動 http://js.studio-kingdom.com/angularjs/guide/bootstrap AngularJS 入門 Qiita http://qiita.com/lga0503/items/d8efddcad2574e1938f1 AngularJS の $locationProvider.html5Mode について Qiita http://qiita.com/shogogg/items/542bd6d18f777bcc24bc AngularJS's tutorial あなたとともにAngularJS (CoffeeScript) http://lab.hisasann.com/AngularJSTutorial/
109 :デフォルトの名無しさん :2014/11/10(月) 19:08:51.61 ID:aSJ0dFtw.net HTMLコンパイラ http://js.studio-kingdom.com/angularjs/guide/compiler
110 :デフォルトの名無しさん :2014/11/10(月) 19:40:20.32 ID:3cY12FBq.net >>105 spreadsheetにsql発行することってできない?
111 :デフォルトの名無しさん :2014/11/11(火) 08:57:46.26 ID:GakEMCkA.net >>110 QUERY関数
112 :デフォルトの名無しさん :2014/11/19(水) 16:17:29.20 ID:JZ2oYyd9.net ライブラリ作って公開したけど product ID が判り難いというか import (resource) 管理が面倒臭い感じがする
113 :デフォルトの名無しさん :2014/11/24(月) 10:56:25.69 ID:LXRxquBl.net Application Launcher for Drive (by Google) この拡張機能が勝手にインストールされたぞ。 Web上のGoogle Driveからファイルをローカルアプリケーションで直接開けるらしいが、 何も機能しないし、そもそも右クリックメニューの中にローカルアプリは何も表示されない。 全く意味ねー
114 :デフォルトの名無しさん :2014/11/24(月) 11:05:35.34 ID:LXRxquBl.net うゎ誤爆
115 :デフォルトの名無しさん :2014/11/24(月) 11:07:33.14 ID:I/tlYyaD.net うゎ誤爆
116 :デフォルトの名無しさん :2014/11/24(月) 11:16:24.85 ID:JmS/vGuj.net >>113-115
117 :デフォルトの名無しさん :2014/11/24(月) 12:38:47.81 ID:JyotAVq+.net 書いたプログラムを Google Drive で同期したフォルダから ローカルPCで開いてもプログラムがバックアップ出来てる訳じゃないんだね
118 :デフォルトの名無しさん :2014/11/27(木) 09:13:58.26 ID:oxY/sHU5.net Google Apps Script で出力した HTML の中で AngularJS 使おうとしたら 1.3 全く動作しない 1.2 一部動くがほとんどはまともに動作しない 使えねー
119 :デフォルトの名無しさん :2014/11/27(木) 09:21:12.55 ID:tn51YXgS.net >>118 俺はjQueryを使ってるが、使えるコードと使えないコードがあるので、それを うまく回避しながらやるのが腕の見せどころですよ。
120 :デフォルトの名無しさん :2014/11/27(木) 09:31:50.08 ID:oxY/sHU5.net CryptoJS も一部動作しない AES 使えねー プンプン
121 :デフォルトの名無しさん :2014/11/27(木) 12:53:30.42 ID:vSILU7Ix.net >>119 そういうのが楽しいと思っていた時期が私にもありました
122 :デフォルトの名無しさん :2014/11/27(木) 13:00:02.51 ID:vSILU7Ix.net >>118 vue.js使え
123 :デフォルトの名無しさん :2014/11/27(木) 20:46:04.08 ID:LqnFWsaO.net Vue.js 試してみたけどだめ TypeError: Cannot define property:$set, object is not extensible. TypeError: undefined is not a function 使えねー (GASが)
124 :デフォルトの名無しさん :2014/11/28(金) 10:46:46.51 ID:2Y9sS9bf.net >>118 AppsScriptはcaja経由でHTML出力されるので elementのidが全部置き換えられて死ぬみたい >>120 CryptoJSは使えてるよ
125 :デフォルトの名無しさん :2014/11/28(金) 10:51:53.89 ID:2Y9sS9bf.net >>123 たぶん原因は>>124 と同じだと思う
126 :デフォルトの名無しさん :2014/11/28(金) 10:58:23.40 ID:HA42UZYd.net ちなみに、俺は結構やりこんでるが、入力補完やワークフローみたいな ものも作ってるよ。 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/themes/smoothness/jquery-ui.css" /> <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script> <p><input type="text" id="hogehoge" /><br /> <script type="text/javascript">// <![CDATA[ $(function() { var hogehogeTags = [ "あいうえお", "かきくけこ", "さしすせそ", "たちつてと", ・・・・・ 中略 ・・・・・ "漢字1", "漢字2", "漢字3" ]; $( "#hogehoge" ).autocomplete({ source: hogehogeTags }); }); // ]]></script> これはテキストボックスに入力補完をスプレッドシートから持ってくる奴だが、 こういうのだったら動く。
127 :デフォルトの名無しさん :2014/11/28(金) 11:22:06.13 ID:BXi6AyWe.net Caja の書き換え抑制ってどうやるんだっけ?
128 :デフォルトの名無しさん :2014/11/28(金) 11:52:19.42 ID:LBNEaAKa.net >>127 function doGet() { return HtmlService.createHtmlOutputFromFile('htmledit') .setSandboxMode(HtmlService.SandboxMode.EMULATED); } とか、 function doGet() { return HtmlService.createHtmlOutputFromFile('htmledit') .setSandboxMode(HtmlService.SandboxMode.NATIVE); } とか
129 :デフォルトの名無しさん :2014/11/28(金) 12:01:22.01 ID:dYLaj0CI.net 以前はEMULATEDがデフォだったが 最近はNATIVEがデフォに切り替わった というところまでは読んだ このページ見るとNATIVEが書き換えないみたいなんだけど https://developers.google.com/apps-script/guides/html/restrictions Rewritten code In the EMULATED sandbox mode, Caja inspects and substantially rewrites all HTML and JavaScript before the page loads. This results in a substantial slowdown in loading times relative to the newer NATIVE mode. Because code is rewritten, it also becomes difficult to debug. In NATIVE mode, although comments are still stripped from client-side code, the code is only rewritten if it contains variables or named functions at the top level, or if it uses the typeof operator to refer to a variable directly. The examples below show how to avoid code rewrites in NATIVE mode. ✘Don't — code will be rewritten ✓Do — code will not be rewritten in NATIVE mode 図は逆だよね
130 :デフォルトの名無しさん :2014/11/28(金) 12:06:18.29 ID:LBNEaAKa.net >>129 まぁ、だからといって、どちらも制限があるのには違いないけれどね。 あくまでも、ドノーマルで実行するよりかは制限が緩いので、使えるかも って感じ。 なるべくシンプルに構築するのがHTML Servicesの基本だね。でなけれ ば、UiApp Servicesを使えって話になってくると思う。
131 :デフォルトの名無しさん :2014/11/28(金) 12:53:38.59 ID:dYLaj0CI.net 中の人の意見 http://stackoverflow.com/questions/17468330/htmlservice-caja-setting-textbox-value
132 :デフォルトの名無しさん :2014/11/28(金) 12:58:24.68 ID:dYLaj0CI.net memo http://googlestyle.client.jp/userguide/htmlservicev2.html#sec4 https://developers.google.com/caja/docs/gettingstarted/
133 :デフォルトの名無しさん :2014/11/28(金) 18:13:04.21 ID:QRvl6r74.net GoogleDrive を web server にしたった http://melpon.org/wandbox/permlink/eXrkFb2pv4EjHtSR
134 :デフォルトの名無しさん :2014/11/30(日) 13:51:09.63 ID:Q44JDfrW.net 遅すぎて使い物にならんね
135 :デフォルトの名無しさん :2014/11/30(日) 17:10:58.86 ID:Q44JDfrW.net spreadsheet を DB 代わりに使ってみたけど 排他処理もロックも何もしないと データめちゃくちゃになるなω
136 :デフォルトの名無しさん :2014/11/30(日) 17:14:32.64 ID:Q44JDfrW.net ということでメモ https://developers.google.com/apps-script/reference/lock/lock https://mashe.hawksey.info/2014/07/google-sheets-as-a-database-insert-with-apps-script-using-postget-methods-with-ajax-example/ http://stackoverflow.com/questions/12808674/locking-script-when-accessing-spreadsheet-doesnot-work http://stackoverflow.com/questions/16075446/how-to-protect-the-google-app-script-code-in-google-spreadsheet http://ramblings.mcpher.com/Home/excelquirks/dbabstraction
137 :デフォルトの名無しさん :2014/12/01(月) 06:51:47.55 ID:GLoHGVkg.net ロックかからんし ScriptProperties が deprecated になってるし なんなのこれ 無理して使うもんじゃないな
138 :デフォルトの名無しさん :2014/12/01(月) 07:08:43.79 ID:GLoHGVkg.net lock中の処理で SpreadsheetApp.flush(); 入れたら解決した なんか応答も速くなった希ガス
139 :デフォルトの名無しさん :2014/12/01(月) 09:25:06.84 ID:guOSxUv1.net 馬鹿には無理
140 :デフォルトの名無しさん :2014/12/01(月) 10:12:28.09 ID:ikZ1X/ON.net (前文略) 1. 突然変わる仕様 今回のAdvent Calendar中にも大きな仕様変更があり、おもいっきり影響をウケました。 GAS以外のGoogle系サービスは裏側の仕様が変わるので変わることを意識しておかないと精神的に病んでしまいます。 例えば今回大きかったのは 今まで.gs var dateString = Utilities.formatDate(new Date() , 'JST' , 'yyyy/MM/dd HH:mm:ss'); Logger.log(dateString); という風に書くと「日本時間(JST GMT+9)の日付文字列」が取得できました しかし仕様が変わりこのJST指定をしてもGMT+9の値が取得できなくなりました。 これから.gs var dateString = Utilities.formatDate(new Date() , 'Asia/Tokyo' , 'yyyy/MM/dd HH:mm:ss'); Logger.log(dateString); と書く必要があります。 これ以外にもちょこちょこと仕様変更があり、コードを直す必要があったりします。 どうすればいいの? ↓ http://qiita.com/soundTricker/items/21d3a39222fb1edbce57
141 :デフォルトの名無しさん :2014/12/01(月) 10:34:33.93 ID:ikZ1X/ON.net GoogleAppsScriptのScriptPropertiesが非推奨になっていた http://sugi.minibird.jp/gas/scriptproperties/
142 :デフォルトの名無しさん :2014/12/01(月) 12:23:57.99 ID:GrWyVyTu.net publish した直後は反応が遅かったりアクセスエラーになるなぁ 数分待ってからアクセスるると比較的速いしエラーも減る (それでも我慢できる速さってレベル) GAS を保存するサーバーと公開されるサーバーが違ってたり 同期取ってたりしてる感じだな・・・
143 :デフォルトの名無しさん :2014/12/02(火) 08:18:47.93 ID:m/U+kAA0.net >>140 そもそも、JST指定する方法が旧式で、おかしかったわけで。今回から 正しい取得方法に修正されたってだけの話。仕様変更が勝手に発生するのは いつもの事だが、それについては指摘はオカシイ。 >>141 非推奨になってたって 随分前から非推奨になってるんだが・・・・ 移行期間中だぞ。今は。インテリセンスの候補でも二重線引っ張ってあった だろうが。今更何を。
144 :デフォルトの名無しさん :2014/12/05(金) 08:40:33.92 ID:uibbdYqE.net >>134 遅くなる理由 https://developers.google.com/apps-script/guide_libraries Warning: A script that uses a library will not run as quickly as it would if all the code were contained within a single script project. Although libraries can make development and maintenance more convenient, you should avoid them in projects where speed is critical. Because of this issue, libraries should not be used in add-ons. https://developers.google.com/apps-script/best_practices#avoidLibraries https://developers.google.com/apps-script/add-ons/
145 :デフォルトの名無しさん :2014/12/05(金) 09:24:04.62 ID:NyP973bT.net 要するに結局使えねーってことじゃね
146 :デフォルトの名無しさん :2014/12/05(金) 12:21:33.66 ID:S74tDLHo.net パフォーマンスの良いGASの書き方 http://www.slideshare.net/soundTricker/gas-best-practice (このおっさんによれば70倍くらい簡単に速度変わるそうです)
147 :デフォルトの名無しさん :2014/12/05(金) 12:48:37.41 ID:3N+Ki0BW.net >>145 まぁ、例え効率の良い書き方をしたとしても、それでも全然ローカル でやるのに比べたら、比べるまでもなく遅いけれどね。
148 :デフォルトの名無しさん :2014/12/05(金) 17:28:33.29 ID:X46M6Pii.net プログラムは全くの素人なのですが、フォームに入力された内容をメールで送るスクリプトをネットからコピペしました。最初は上手くおくれたのですが、途中から http://i.imgur.com/8hI4jzt.jpg のようなエラーが出てメール送れなくなりました。解決策がわかりません。ご存知な方、教えて頂けますか?
149 :デフォルトの名無しさん :2014/12/06(土) 12:20:43.07 ID:cu1CMwBP.net Cacheが最大250文字のキーで各キー毎に100KBで最大6時間保持可能というところまでは読めたのですが KeyValueのペアは最大何個まで作れるのでしょうか? https://developers.google.com/apps-script/reference/cache/
150 :デフォルトの名無しさん :2014/12/06(土) 15:41:58.87 ID:7IWME+c9.net MailAppとGmailAppはどういうときに使い分けますか
151 :デフォルトの名無しさん :2014/12/07(日) 18:52:37.92 ID:uc0Y93wp.net 新しい Google スプレッドシート [ツール] メニュー > [スクリプト マネージャ] スクリプト マネージャが無いんですけど、どこへ行ったの?
152 :デフォルトの名無しさん :2014/12/08(月) 10:27:16.23 ID:eZuxZoZp.net learn more じゃなくて dismiss してひどいめにあった https://support.google.com/docs/answer/6082736?p=old_sheets_migrate&rd=1
153 :デフォルトの名無しさん :2014/12/10(水) 12:32:16.98 ID:2OX9Sm8y.net Internal Server Error Error 500 わろた あかんやろこれ
154 :デフォルトの名無しさん :2014/12/10(水) 12:56:29.75 ID:v5e5mm45.net >>153 何回かリトライするといける
155 :デフォルトの名無しさん :2014/12/10(水) 13:50:01.10 ID:evPa2cl4.net 状況が変わった ログイン出来るようになったけど ルートの画面で Google Drive was unable to load your items. Please refresh to try again. (Dismiss) って出て何も操作出来ない どうみても輻輳です本当にありがとうございました
156 :デフォルトの名無しさん :2014/12/12(金) 20:12:42.74 ID:ZKEOL7uD.net google plus apiもここで良いのかな? こういう大量に画像があるページから画像をぶっこ抜こうと思ってjson取得したんだけどな、15枚しか画像リンクを教えてくれないんだわ https://plus.google.com/109057690948151627836/posts/6Q6cv5KNYef#109057690948151627836/posts/6Q6cv5KNYef これがjsonの抜粋 http://xxxxxxxxxxxx.net/_/86/20141212201047-0.txt やり方分かる人いる?
157 :デフォルトの名無しさん :2014/12/13(土) 06:19:49.76 ID:KcZztYF+.net nextToken送ってるかい
158 :デフォルトの名無しさん :2014/12/13(土) 10:37:05.12 ID:LHF4FOqU.net >>157 アクティビティーのnextTokenは送ってるが、画像にもnextToken送れるんか・・?
159 :デフォルトの名無しさん :2014/12/16(火) 13:32:07.41 ID:PuXxa6T9.net 尾骶骨
160 :155 :2014/12/20(土) 15:58:34.92 ID:2lHjoIS9.net 自己解決した。スレ汚しスマソ
161 :デフォルトの名無しさん :2014/12/21(日) 17:54:05.71 ID:gQMH/TzB.net トリガーをいくつか設定してみたけど 違うプロジェクトに同じ名前の関数があるとき トリガーの一覧には関数名しか出て来ないので どのプロジェクトの関数が呼ばれるのかあとで判らなくなるな
162 :デフォルトの名無しさん :2014/12/22(月) 04:11:59.65 ID:bPTJ7mQh.net myFunction とか doGet とか言う名前のトリガーがいっぱいなんですね判ります
163 :デフォルトの名無しさん :2014/12/22(月) 07:19:01.01 ID:lHFqZpWk.net >>162 周りから頭悪いって言われてない?
164 :デフォルトの名無しさん :2014/12/22(月) 08:16:40.37 ID:1JxRKZUV.net >>162 頭の悪いレスですね
165 :デフォルトの名無しさん :2014/12/22(月) 10:30:02.86 ID:Kj8Ds363.net うちはtestDoGet()って名前のトリガーが多いな
166 :デフォルトの名無しさん :2015/01/06(火) 23:11:18.84 ID:Ubhx8o8Fm 特殊文字って入力できる?¥だとそのまま表示されて\でやるとどれも空白になるんだけど
167 :デフォルトの名無しさん :2015/01/07(水) 08:21:41.41 ID:7s8hjn62.net 古いけどメモ http://www.softantenna.com/wp/software/google-ime-dev/
168 :デフォルトの名無しさん :2015/01/07(水) 08:55:32.09 ID:7s8hjn62.net memo http://www.softantenna.com/wp/hard/linux-in-chrome-os/
169 :デフォルトの名無しさん :2015/01/07(水) 10:57:08.64 ID:aspvvccd.net >>167 >>168 消え失せろカス。
170 :デフォルトの名無しさん :2015/01/07(水) 12:21:43.55 ID:HwRBQ0K9.net いまどき2ちゃんにアフィ貼っても件数稼げないのにようやるわ
171 :デフォルトの名無しさん :2015/01/12(月) 13:52:24.61 ID:MUt+Twlt.net Google Drive のゴミ箱に溜まってたファイルを 永久に削除 を選んで消したのに残り容量が増えないぬ 先週くらいまではゴミ箱空にしたら容量増えたのに
172 :デフォルトの名無しさん :2015/01/14(水) 10:13:25.29 ID:pWmctPUO.net >>171 恐らくだが どのフォルダにも属していない、検索の時だけ出てくるファイルがあるよ。消したつもりになってるだけでね。
173 :デフォルトの名無しさん :2015/01/14(水) 13:03:30.08 ID:EnBoJmyV.net trash からも delete forever で確実に削除してたのに さっきログインしたら trash にあった 改めて消したら容量増えた ありがとう Google Drive ってたまにバグるみたいだぬ
174 :デフォルトの名無しさん :2015/01/20(火) 07:56:06.92 ID:F6HHv4j5.net 勝手にアップデートされて以来 GoogleDriveは執事として無能な 時間泥棒に成り下がってしまった
175 :デフォルトの名無しさん :2015/03/06(金) 13:27:50.63 ID:BXX0fucD.net AngularJS 2.0 は TypeScript で開発を進めることに http://techcrunch.com/2015/03/05/microsoft-and-google-collaborate-on-typescript-hell-has-not-frozen-over-yet/ Angular 2: Built on TypeScript http://blogs.msdn.com/b/typescript/archive/2015/03/05/angular-2-0-built-on-typescript.aspx
176 :デフォルトの名無しさん :2015/03/14(土) 19:02:02.06 ID:EXR76peq.net Siteで新規ページ作成で自動生成されるurl文字列をscriptで再現する方法はないでしょうか? たとえば「試験-しけん-シケン」と入力すると自動では「shi-yan-shiken-shiken」というURLになるけど このルールでスクリプトから新規ページ作成を行いたいと思っているのですが
177 :デフォルトの名無しさん :2015/03/16(月) 02:46:33.19 ID:1GyT2oWU.net 同じ名前でもう一つ作ってみ?
178 :デフォルトの名無しさん :2015/03/18(水) 22:55:28.68 ID:fCXDEV+f.net GASで任意のURLを開くことはできますか? スプレッドシート上でも別タブでもどちらでも構いません。
179 :デフォルトの名無しさん :2015/03/19(木) 21:40:48.17 ID:htgmHUmd.net >>178 自動的に開くのは無理 ダイアログ出してクリックさせて開くのはhtmlserviceで実現できる。
180 :176 :2015/03/20(金) 15:56:58.40 ID:+pnIcR/c.net やはりリンク作ったりするのが精一杯なんですね。 わかりました。
181 :176 :2015/03/20(金) 17:37:45.26 ID:+pnIcR/c.net HtmlService.createHtmlOutputにiframeタグを書いても インラインフレームの中に何も表示されないのは仕様ですか?
182 :デフォルトの名無しさん :2015/03/22(日) 13:09:15.36 ID:rj7656VH.net >>181 GAS上ではiframeタグは使用禁止ですよ。 sandboxmode.iframeは使えますがね
183 :176 :2015/03/22(日) 21:40:15.35 ID:Exm92v9O.net .setSandboxMode(HtmlService.SandboxMode.IFRAME); を付けてみてもダメでした。 もちろんNATIVEもダメでしたし、本当にあきらめるしかなさそうですね。 ちなみに表示させようとしていたページのURLは以下です。 http://www.google.com/search?btnI=I%27m+Feeling+Lucky&lr=lang_ja&ie=UTF-8&oe=UTF-8&q="+ss.getActiveCell().getValue()
184 :デフォルトの名無しさん :2015/03/26(木) 11:07:18.75 ID:r/Xr85WG.net Googleドライブ上にある複数のxlsを読み込んで、指定した文字を検索するhtmlをドライブ上で共有したいのですが この場合どうすればいいのでしょうか?script.google.comとかサッパリでした ある程度の英語とjavascriptは出来るので「ココ嫁」みたいなリファレンス貼ってくれるだけでも助かります
185 :デフォルトの名無しさん :2015/03/26(木) 13:13:42.53 ID:XgHUlE+o.net >>184 HTML ServiceとDriveApp そして、siteにそのウェブアプリケーションを配置。 これで出来る。
186 :デフォルトの名無しさん :2015/03/26(木) 13:16:41.94 ID:XgHUlE+o.net >>184 あと、手前味噌で申し訳ないが、色々作ってる http://eye4brain.sakura .ne.jp/
187 :デフォルトの名無しさん :2015/03/26(木) 15:18:18.76 ID:SuVdMCRs.net xls読めるの?
188 :デフォルトの名無しさん :2015/03/26(木) 18:55:43.03 ID:r/Xr85WG.net >>185 >>186 ありがとうございます、スクリプト参考にしてみます
189 :デフォルトの名無しさん :2015/03/26(木) 20:07:09.55 ID:xZ2N6kXB.net >>188 xlsxの全文検索をしてみましたが、出来ました。 fullText containsオプションを使えば可能です。 ただし、たけのこという文字がセルに入ってる場合、「たけのこ」ではヒットしますが、「たけ」ではヒットしません。そういう仕様だそうです。以下に完成品をまとめておきましたので、参考にしてみてください。 http://goo. gl/coMk0P
190 :182 :2015/03/27(金) 00:58:25.79 ID:DYcS+Siy.net 度々すみませんGoogleドライブに ・1.xls〜100.xls ・Data_list.xls とテキストシートがあって、1-100.xls上で行or選択範囲を指定して、その範囲内のテキストを使ってData_listで検索をし、結果を返すというモノを作りたいのですが @-1〜100まで全部一々スクリプトエディタで作成しなければならないんでしょうか?使いまわしできます? A-図形描写+スクリプト割り当てでイベントハンドラ作成する方法以外にシートから関数呼び出す方法はないんでしょうか? B-図形描写+スクリプト割り当てを1〜100まで毎回作成するの大変なんで使いまわしとかできないんでしょうか? C-関数の引数に行や選択範囲を指定できますか? 本当に初歩的な質問ばかりですみません openByUrl(Data_list)で読み込んでforで全部回す方法でmatchやったら検索は出来ました
191 :デフォルトの名無しさん :2015/03/27(金) 08:27:15.70 ID:XOU4xnaE.net >>190 スクリプトはライブラリ化すれば使い回しが出来ます。 http://goo. gl/ExZZSb
192 :デフォルトの名無しさん :2015/03/29(日) 15:09:18.54 ID:Kc5qzo13.net >>191 できました 毎度毎度ありがとうございます!
193 :デフォルトの名無しさん :2015/04/06(月) 19:06:09.55 ID:Uo28IzYD.net script.googleにてディレクトリに存在するファイル全て開いて検索するプロジェクトのgsファイルを作ってるんですが コード.gsて一度に開けるファイルの数や容量の制限ありますか?
194 :デフォルトの名無しさん :2015/04/07(火) 11:43:06.04 ID:Dj35uwLZ.net ちょっとした質問なんですけどDriveApp.getRootFolder()みたいに共有アイテムにある「textフォルダ」を取得する方法ってないですか?
195 :デフォルトの名無しさん :2015/04/09(木) 18:24:15.60 ID:Rhj0QTuK.net こっちで聴いてみては? http://kanae.2ch.net/test/read.cgi/php/1398600864/
196 :デフォルトの名無しさん :2015/04/11(土) 21:16:39.83 ID:yuSJQZvz.net 1.gmailの受信メールをチェック ↓ 2.特定タイトルのメールの送信者を抽出しリストアップ ↓ 3.別のリストとマッチングさせメール未送信者を特定 ↓ 4.未送信者に注意メールを送信 GAS初心者なのですが 上記のようなシステムを構築したいと考えています。 1.2.4はGASとスプレッドシートを使えば簡単に実装できそうなのですが 3もGASやappsのみで構築可能でしょうか? スプレッドシートのマッチングについて 少し調べて見ましたが、明確な回答は見つかりませんでした。 よろしくお願いします。
197 :デフォルトの名無しさん :2015/04/13(月) 07:45:32.11 ID:eHLkbahF.net >>196 可能 普通にリニアサーチでメアドリストと1つづつイコールかどうか 確認するループを作ればいいだけ
198 :デフォルトの名無しさん :2015/04/14(火) 08:06:25.22 ID:VGcTHgGl.net >>197 ありがとうございます!
199 :デフォルトの名無しさん :2015/05/20(水) 20:15:39.64 ID:L+8WGw0p.net 最近始めたんだけどこれmydriveにアップしたExcelを読み込む事は出来ないのかな getDataAsString()でも文字化けしたのしか取得できないし スプレッドシートに変換すりゃいいんだろうけどそのまま読み込む方法ないのかね
200 :デフォルトの名無しさん :2015/05/21(木) 08:22:41.16 ID:nwV8enKl.net >>199 だったら、文字コードでも指定すればいいんじゃねぇの
201 :デフォルトの名無しさん :2015/05/21(木) 08:29:47.62 ID:x9iUxaW9.net >>200 Excelは文字コード以前に形式違うからstringで取得できない
202 :デフォルトの名無しさん :2015/05/21(木) 09:50:23.52 ID:x9iUxaW9.net エクセルはどこでも話題になるけどDriveApp.searchFiles()で一応文章検索はできるから セルのstring情報はどっかに記録されてる ただ引き出して扱えるかどうか知らん
203 :デフォルトの名無しさん :2015/05/21(木) 10:56:25.53 ID:ESp1pCeJ.net 馬鹿には無理
204 :デフォルトの名無しさん :2015/05/21(木) 13:26:54.06 ID:RCwHiUWn.net 最高にキモいな
205 :デフォルトの名無しさん :2015/05/22(金) 12:42:30.36 ID:jHm+8nxR.net >>199 Drive APIを使えば出来るよ。 http://qiita.com/soundTricker/items/16e75762404f560e4ca2
206 :デフォルトの名無しさん :2015/05/23(土) 21:40:53.24 ID:P22nVuYt.net >>205 1年前のなんて古くて使いモンにならないってのがよくわかるな oauth 1.0ってアンタ
207 :デフォルトの名無しさん :2015/05/27(水) 08:07:09.69 ID:lvaBWQ33.net >>206 君はGoogleのドキュメントがろくにメンテされてないこと知ってんの? それと、GASで使うのにOAuthなんて使わないよw JavaScriptで使う場合には必要だがそっちだって、OAuth2.0でのコーディングに 関しては別のページにあるし。GASやGoogle APIを弄っている人間とは到底思え ない発言だなw
208 :デフォルトの名無しさん :2015/05/27(水) 11:08:24.77 ID:fMt5EoRl.net > それと、GASで使うのにOAuthなんて使わないよw ひょ、標準APIとの違いも解らない奴がココに居るのか ちょっとキミにはこのスレちょっと早い
209 :デフォルトの名無しさん :2015/05/27(水) 14:12:37.86 ID:GScIfku9.net 煽るだけで具体例のない言葉は何の役にも立たねって ばっちゃが言ってた
210 :デフォルトの名無しさん :2015/05/27(水) 15:16:08.57 ID:jmeRjzK/.net 知らないから自演も満足に出来ないんだろうが 煽り方が下手だと思う
211 :デフォルトの名無しさん :2015/05/27(水) 16:25:43.57 ID:smOTLbR3.net >>208-209 だから、使ってからほざけよ。 コード書いてみ?GAS内でDrive API使うコードをな。 実際に開発やってる奴に、釈迦に説法って言葉覚えておけよ三流。
212 :デフォルトの名無しさん :2015/05/27(水) 16:29:32.25 ID:smOTLbR3.net >>206 それとお前。 OAuth1.0だから何?そんなもの自分で2.0の実装でも換装すりゃいいだけの 話だろww 馬鹿なの?それとも2.0のコードでも書けとか言ってるわけ?馬鹿には無理だ から引っ込んでろ
213 :デフォルトの名無しさん :2015/05/27(水) 20:42:22.92 ID:iPQChm+t.net なんか急にonEditのe.userにメールアドレスが入ってこなくなったんだが 同じ現象の人いる?
214 :デフォルトの名無しさん :2015/05/28(木) 09:53:52.42 ID:/8nOg4qQ.net これで良くね ttp://stackoverflow.com/questions/26702330/why-does-google-apps-script-return-a-url-rather-than-a-pdf-file-when-i-try-to-cr
215 :デフォルトの名無しさん :2015/06/02(火) 10:59:19.63 ID:CxAq+Stxh 書式設定を変えるようなスクリプトを作っても反映されないんだけど、 スプレッドシートの既知の問題? 例えば下のスクリプトを実行すると、既に長い文字列が入ってるセルがあっても 折り返してくれない。 (ボタンはちゃんと「テキストの折り返し」になってるし、ボタン押せば折り返す) function test() { var sheet = SpreadsheetApp.getActiveSheet(); var range = sheet.getRange('A:A'); range.setWrap(true); } この問題って、既に書式設定してあるセルにフォームから文字列が入力されても 同じ事が起きるんだけど、地味に困ってる。
216 :デフォルトの名無しさん :2015/06/08(月) 08:54:21.97 ID:0Vy1Z1yY.net >>213 そんなのしょっちゅうあるぜ? session.userなんてメアド取れなくなったりとかね。 Googleって馬鹿だからバグ採りもせずにデプロイしてやがるのでこういうことがGoogle Apps for Workでも起きていてもんだいになってる。
217 :デフォルトの名無しさん :2015/06/08(月) 13:38:40.43 ID:rJB8iCDI.net Googleって独りよがりだよな
218 :デフォルトの名無しさん :2015/06/11(木) 09:07:55.30 ID:DJZgiAWM.net 書式設定を変えるようなスクリプトを作っても反映されないんだけど、 スプレッドシートの既知の問題? 例えば下のスクリプトを実行すると、既に長い文字列が入ってるセルがあっても 折り返してくれない。 (スクリプト実行後、ボタンはちゃんと「テキストの折り返し」になってるし、ボタン押せば折り返す) function test() { var sheet = SpreadsheetApp.getActiveSheet(); var range = sheet.getRange('A:A'); range.setWrap(true); } この問題って、フォームから文字列が入力されても既に書式設定してあるセルで 同じ事が起きるんだけど、地味に困ってる。
219 :デフォルトの名無しさん :2015/06/12(金) 10:07:42.64 ID:7lwiQU6T.net TwitterBotを作成しているのですが OAuth1 for Apps Script https://github.com/googlesamples/apps-script-oauth1/blob/master/samples/Twitter.gs にCONSUMER_KEYとCONSUMER_SECRETを入れてrunを実行しても投稿されません。 ログには Open the following URL and re-run the script 表示されるアドレスにアクセスするとSuccess!と表示されますが投稿されません。 どうしたら投稿できるようにできますか?
220 :216 :2015/06/12(金) 10:12:38.54 ID:7lwiQU6T.net >>219 動きました。すみません。
221 :デフォルトの名無しさん :2015/06/12(金) 16:05:55.82 ID:qp6MkQCv.net どういたしまして
222 :デフォルトの名無しさん :2015/06/12(金) 17:28:28.59 ID:7lwiQU6T.net atomのlinkのhrefを取得したいのですがどうすればいいのでしょうか function kochiRSS() { var sheet = SpreadsheetApp.getActiveSheet(); var row = 1; var feedURL = 'http://www.pref.kochi.lg.jp/news/index.atom'; var xml = UrlFetchApp.fetch(feedURL).getContentText(); var document = XmlService.parse(xml); var root = document.getRootElement(); var atom = XmlService.getNamespace('http://www.w3.org/2005/Atom'); var entries = root.getChildren('entry', atom); for(i in entries) { var title = entries[i].getChild('title', atom).getText(); var link = entries[i].getChild('link', atom).getValue(); var updated = entries[i].getChild('updated', atom).getText(); sheet.getRange(row,1).setValue(title); sheet.getRange(row,2).setValue(link); sheet.getRange(row,3).setValue(updated); row++; } sheet.sort(3, false); }
223 :デフォルトの名無しさん :2015/06/12(金) 18:11:48.05 ID:qp6MkQCv.net .getAttribute('href').getValue();
224 :219 :2015/06/12(金) 20:37:23.23 ID:RT2PlkdQ.net 220 できましたどうもありがとうございます。
225 :デフォルトの名無しさん :2015/06/13(土) 03:16:47.88 ID:NUKk6CPY.net どういたしまして
226 :219 :2015/06/13(土) 08:02:49.41 ID:YFXshuK4.net たびたびすみません。 RSSを取得するプログラムを作っているのですが RSS2.0は var items = root.getChild('channel').getChildren('item'); ATOMは var entries = root.getChildren('entry', atom); で取得できるのですが RSS1.0だとitemが<item rdf:about="記事のURL">なため var items = root.getChildren('item'); では取得できません。 どういう書き方にすれば取得できるようになるのでしょうか?
227 :デフォルトの名無しさん :2015/06/13(土) 08:38:19.04 ID:NUKk6CPY.net 馬鹿には無理
228 :デフォルトの名無しさん :2015/06/13(土) 20:19:34.38 ID:ZKnt+LAz.net なんだこいつ
229 :デフォルトの名無しさん :2015/06/14(日) 06:25:18.68 ID:Gz1SNEoH.net 馬鹿には(回答は)無理
230 :デフォルトの名無しさん :2015/06/14(日) 06:41:51.88 ID:l6qAkUnh.net 一部変な奴もいるけど気にせずに馬鹿はどんどん質問してくださいな
231 :デフォルトの名無しさん :2015/06/15(月) 13:48:50.97 ID:6FCFdlNB.net もっとやさしくしてください
232 :デフォルトの名無しさん :2015/06/15(月) 20:34:44.01 ID:TKCLtNo1.net 正直、DOM系の話題はなしにしたいものだ DOMの話題ってjsの使い方一辺倒になっちまうから GASそのものの本質を追究する姿勢が培われなくなってしまう
233 :デフォルトの名無しさん :2015/06/15(月) 20:57:28.70 ID:vJyBnBQX.net GASはハウツー的な日本語ドキュメントが少ないから仕方ないかと 誰かその辺りをまとめてくれると(俺も)助かるんだがなー…(チラッチラッ
234 :デフォルトの名無しさん :2015/06/15(月) 23:47:37.55 ID:YPgI+YQd.net >>226 >RSS1.0だとitemが<item rdf:about="記事のURL"> 属性はattributeと言う。 こんな感じかな。 items[0].getAttribute("about","rdf").getValue(); 上は未実証なので詳しくはreferenceを参照。 https://developers.google.com/apps-script/reference/xml-service/element#getAttribute(String,Namespace)
235 :223 :2015/06/17(水) 05:49:31.92 ID:pjaGN1aW.net ありがとうございます。 rdf:aboutのようなのは名前空間というみたいで XmlService.getNamespaceを指定すると使えるようです。 詳しくはこちらに載っていました。 https://msdn.microsoft.com/ja-jp/library/aa468565.aspx
236 :デフォルトの名無しさん :2015/06/17(水) 14:14:39.78 ID:T4rbUCsj.net いやここはGASのスレだしw XMLの基本を鼻高々に解説されても
237 :デフォルトの名無しさん :2015/06/17(水) 16:12:56.82 ID:7KhQ6AFD.net >>236 わかればよろしい
238 :デフォルトの名無しさん :2015/06/30(火) 15:54:55.56 ID:jfSOFpG/.net google apps script のウェブアプリケーションの公開するとき 指定したグーグルアカウントだけに利用させるって出来ないんですかい? 共有でそういうのあったんですけど、共有はコード見れるとかそういうのだったんで
239 :デフォルトの名無しさん :2015/06/30(火) 17:35:30.60 ID:0T0Q+C6j.net スレ違いだけどできないはずはないと思うよ appsにアカウント登録できるはず
240 :デフォルトの名無しさん :2015/07/01(水) 07:45:04.29 ID:WrSpGcQO.net >>238 1) googleアカウントでログインしてるユーザーだけに実行させることが出来る 2) アプリケーション側でどのアカウントで実行されているか把握することが出来る 1) と 2) を組み合わせれば可能
241 :235 :2015/07/01(水) 15:27:56.64 ID:s1huTgGg.net 出来たよありがとう "無ければ作れ"がGASでも通用したとか最高だ
242 :デフォルトの名無しさん :2015/07/01(水) 15:58:11.31 ID:WrSpGcQO.net おめおめ
243 :デフォルトの名無しさん :2015/07/04(土) 14:34:59.39 ID:PdgAmMn6.net GASに初トライしていて問題にブチあたりました。 解決方法があれば教えてください。 ■やりたいこと スプレッドシート内で 外部ページ情報を取得しリアルタイム・もしくはインターバル更新表示しい。 基本は自動更新 ■更新条件 スプレッドシートを開いた スプレッドシートのセルにユーザーから入力があった。 の両方です。 ■ためしたこと。 1.=ImportXMLを使って取り込み 単純な目的は果たせるがセルに埋め込むと取得データを加工するにしても限度がある。 また、同じURLを指定したセルが複数ある場合、同じデータなのにアクセスさせるのが無駄 2.GASでImportXML相当のことをしてみる セルから呼び出せる関数でUrlFetchApp.fetchを使ってみる。 当初の目的は果たせるようになったが、セルの数が多く、 またスクリプト実行テストを繰り返しているとあっというまに1日の呼び出し回数制限に達してしまう(無料アカなので2万回) 3.呼び出し制限に達しないようにするための工夫 URLから取得した情報をプールしておき、前回取得からのインターバル時間を経過したら再取得してキャッシュ更新。 または、キャッシュに存在しないデータを要求された場合もキャッシュ更新。 キャッシュ場所は、自分のスプレッドシート内にcacheシートを生成してそこに書き込んでおく。 4.3までのロジック実装は完了し、スクリプトエディタの関数実行テストまでは正常完了 続きます。
244 :デフォルトの名無しさん :2015/07/04(土) 14:44:48.33 ID:PdgAmMn6.net 4からが問題でして、エディタ内の関数単体テストでは、データ取得・キャッシュシート生成まで問題なく動作しました。 しかし、これの関数をセルから呼び出そうとするとエラーになります。 エラーはシートに対して操作権限がないといわれます。 調べたところセルで関数を呼び出した場合、 var ss = SpreadsheetApp.getActiveSpreadsheet(); var cacheSheet = ss.getSheetByName( g_stocksSheetName ); で取得したシートに対して、作成・修正・削除などの操作が出来ないようです。 つまりセルから呼び出した場合オブジェクトの参照関数しか呼び出しが許可されない? ss.insertSheet( 'cacheSheet' ) とか cacheSheet.getRange( 1, 1 ).setValue( new Date() ); もダメでした。 5.イベントハンドラを使ってみる しょうがないので、書き込み権限を与えてくれそうな仕組みがないかテストしていたところ onEvent,onOpenなどならいけそうだったので、 onEventから呼び出してみました。 すると、シート作成・データセットまではうまくいきますが、 UrlFetchApp.fetchでエラーになっているらしく、 上流で捉えた例外は fetch を呼び出す権限がありません でした。
245 :デフォルトの名無しさん :2015/07/04(土) 14:54:35.26 ID:PdgAmMn6.net 6.キャッシュの保存場所 自分に書き込めない場合、どっかに保存できないの?と思い調べてみると ScriptDb とか言うのがあるみたいですが、サービス終了予定の機能ぽいですし、 Google Cloud SQLとかいうのを使うしかない?有料?? ■知りたい事 ・1〜6の流れで問題となっているアクセス権を解決できる方法はありますか? ・無理な場合の代替え手法はありますか? ・そもそもアプローチが間違っている、こうしたほうが良いよ。 という感じでうs。 このまま、いろいろ渡り歩いていても遠回りになりそうな予感なので質問してみました。 よろしくお願いします。
246 :デフォルトの名無しさん :2015/07/04(土) 15:38:30.72 ID:IUri6wsi.net >>245 htmlservice + oauth2
247 :240 :2015/07/06(月) 03:19:41.60 ID:c4e3DSSP.net >>246 > >>245 > htmlservice + oauth2 ありがとうございます。 調べてみます。
248 :デフォルトの名無しさん :2015/07/07(火) 01:32:45.09 ID:OGGfcKdI.net htmlからツイにつぶやくのをやってたら (>_<)この顔文字が(>_<)こんななってたぶんそのせいででエラー吐くんだけどこれはreplaceすればいいのかな? こういう表記になる文字ってたくさんあるのかな?
249 :デフォルトの名無しさん :2015/07/07(火) 04:21:52.11 ID:FHtVzgus.net 君にふさわしい板はこっち http://kanae.2ch.net/php/
250 :デフォルトの名無しさん :2015/07/07(火) 15:42:58.38 ID:5Rsbcn5E.net >>248 おいてめーそれ「はじめてのホームページビルダー」レベルじゃねぇか
251 :デフォルトの名無しさん :2015/07/08(水) 23:01:03.10 ID:oRYg8bj0.net >>248 そういうのはエンコードすべきなんじゃないのか?
252 :デフォルトの名無しさん :2015/07/08(水) 23:17:38.40 ID:Nj43MlcH.net >>249 PHPはちょっと良くわかんないです gasですし >>250 そうなんですよね〜 初心者なんです >>251 エンコードですか 調べてみます
253 :240 :2015/07/12(日) 18:50:40.39 ID:yhZDzWcx.net >>246 > >>245 > htmlservice + oauth2 あれから調べてみましたが、これらを使ってどうアプローチしていいか分かりませんでした。 どういうアプローチを取って良いのか、もう少し詳しく教えていただけないでしょうか? 自分が上でやっていてダメだったアプローチは以下のAuthorization modesをみると納得なのですが https://developers.google.com/apps-script/add-ons/lifecycle これらの状況の中でどうやって目的を達成していいか分かりませんでした。 Htmlservice, oauth2ということだったので、 外部サイト情報から取得したキャッシュをHtmlにしてGoogleDrive側に保存すればいいのかな? とか思っていたのですが、 AuthMode.LIMITEDやAuthMode.CUSTOM_FUNCTIONでは他のサービスへのアクセスは Any services that don’t access user data とのことで、キャッシュを書き込めないようです。 実際に試してみましたが、スクリプト単体テストではOKでしたが、イベントハンドラから呼び出すとDrive周りの関数で権限がないといわれました。 oauth2に関してはいまいちよく分かりませんでした。 他社サービスIDなどで別サイトのサービスにアクセスする場合などの認証などに使ったりするようですが、 Googleのアカウントで自身にログインして何かをしろという事でしょうか? どちらにしろ、AuthMode.FULLで行えるような権限を得られないと、 ・キャッシュを作るための外部サイトアクセスとコンテンツ取得 ・取得したコンテンツから生成したキャッシュデータの保存(シートorファイル) が実現できないと思うのですが、どうでしょう?
254 :デフォルトの名無しさん :2015/07/12(日) 19:09:03.00 ID:slCoB0p4.net 設定間違えてるに+1
255 :デフォルトの名無しさん :2015/07/13(月) 17:53:46.10 ID:UxTEJ+9t.net node.js / io.js 動けばいいのにね
256 :デフォルトの名無しさん :2015/07/15(水) 20:57:05.83 ID:70iQnSqB.net 新たなるオライリー本か? http://www.amazon.co.jp/dp/B00TN97BE2
257 :デフォルトの名無しさん :2015/07/19(日) 04:21:49.78 ID:eNaDFGYO.net 分かる人がいたら教えて下さい function upload() { var clientId = '*************'; var imgUrl = 'http://www.google.co.jp/images/srpr/logo11w.png'; var service = getService(); //aouth2のなんか if (service.hasAccess()) { var url = 'https://api.imgur.com/3/image'; var response = UrlFetchApp.fetch(url, { //ここでエラーが出る method: 'post', headers: { Authorization: 'Client-ID ' + clientId, }, data: { image: imgUrl, type: 'URL' } }); var result = JSON.parse(response.getContentText()); return result; } else { こういうエラーが出ます {"data":{"error":"No image data was sent to the upload api","request":"\/3\/image","method":"POST"},"success":false,"status":400} どこが間違えてるんでしょうか imgur apiのページ https://api.imgur.com/
258 :デフォルトの名無しさん :2015/07/19(日) 05:55:09.18 ID:EU0ROg42.net ttp://www.google.co.jp/images/srpr/logo11w.png 404 The requested URL /images/srpr/logo11w.png'; was not found on this server.
259 :デフォルトの名無しさん :2015/07/19(日) 06:53:12.05 ID:eNaDFGYO.net 普通に繋がるんですが・・・ というか画像のURLに関しては色々試してます
260 :デフォルトの名無しさん :2015/07/19(日) 07:23:46.52 ID:EU0ROg42.net さっきはエラってたが
261 :デフォルトの名無しさん :2015/07/19(日) 13:37:40.69 ID:Npxm1YBj.net http://qiita.com/AKB428/items/a5f68a3288cc596975ae
262 :デフォルトの名無しさん :2015/07/19(日) 14:52:50.12 ID:Npxm1YBj.net data: { type: 'base64', image: 'hogehoge(base64data)hogehoge' } ためしてみたけど 400 Image format not supported, or image is corrupt. なんぞこれ
263 :デフォルトの名無しさん :2015/07/19(日) 16:20:37.89 ID:MA6NEEKT.net >>257 OAuth2の認証系をしっかり組んでないからじゃないかね。 http://wp.me/p5KJV2-9k
264 :デフォルトの名無しさん :2015/07/19(日) 17:02:15.86 ID:G63bEDLi.net >>257 もう一度よく、下記のURL見て組んでみるヨロし https://api.imgur.com/oauth2
265 :デフォルトの名無しさん :2015/07/19(日) 17:26:45.22 ID:eNaDFGYO.net >>263 >>264 そっちなんですね 読んできます ありがとうございます
266 :デフォルトの名無しさん :2015/07/20(月) 01:12:32.08 ID:M+3F+JJV.net 読んでも全然わかんないや(´・ω・`) ツイとかはコピペでなんとかなったけどimgurはあんまり見つかんないからやっぱ自力じゃ無理なのかな
267 :デフォルトの名無しさん :2015/07/20(月) 01:28:27.60 ID:M+3F+JJV.net getの方は出来たんだけどなぁ もうちょっと読んでみよ英語分かんないけど function getImage(id) { var service = getService(); if (service.hasAccess()) { var url = 'https://api.imgur.com/3/image/' + id; var response = UrlFetchApp.fetch(url, { method: 'get', headers: { Authorization: 'Bearer ' + service.getAccessToken() } }); var result = JSON.parse(response.getContentText()); return result; // Logger.log(result); } else { var authorizationUrl = service.getAuthorizationUrl(); Logger.log('Open the following URL and re-run the script: %s', authorizationUrl); } }
268 :デフォルトの名無しさん :2015/07/20(月) 04:39:02.07 ID:/UvV48hv.net >>257 のは匿名うp用の認証してるからOAuth2は関係ないね
269 :デフォルトの名無しさん :2015/07/20(月) 10:41:38.27 ID:11U3Dh8m.net Content-Type: application/json つけたらでけた
270 :デフォルトの名無しさん :2015/07/20(月) 23:29:34.40 ID:M+3F+JJV.net どこに付ければいいか分からないので適当に色々なところに付けてみましたが出来ませんでした もう少し詳しくお願いします
271 :デフォルトの名無しさん :2015/07/21(火) 20:08:20.82 ID:S4WMmXN0.net headers: { Authorization: 'Client-ID ' + clientId, Content-Type: 'application/json' },
272 :デフォルトの名無しさん :2015/07/21(火) 22:14:27.88 ID:cjPlPdED.net >>271 そう書くと保存の時に「プロパティ ID の後に : がありません。」ってエラーが出るんですけどなんでだろう headers: { Authorization: 'Client-ID ' + clientId, Content-Type: 'application/json' ←この行 },
273 :デフォルトの名無しさん :2015/07/21(火) 23:22:00.36 ID:cjPlPdED.net 'Content-Type': にしてみてもダメでした
274 :デフォルトの名無しさん :2015/07/22(水) 08:36:09.80 ID:FlFswPU7.net 馬鹿には無理
275 :デフォルトの名無しさん :2015/07/24(金) 07:31:33.29 ID:NfS3cn5h.net もっとやさしくしてください
276 :デフォルトの名無しさん :2015/07/24(金) 15:37:18.28 ID:YFrH4Ww5.net やさしくやさしくやさしくね
277 :デフォルトの名無しさん :2015/07/24(金) 20:21:19.80 ID:dvC3Xj8J.net いとしさとせつなさとこころづよさと
278 :デフォルトの名無しさん :2015/08/20(木) 11:36:44.28 ID:pV6cw7bo.net 詰んってる
279 :デフォルトの名無しさん :2015/08/26(水) 18:33:14.63 ID:AtwE5MzM.net http://kanae.2ch.net/test/read.cgi/php/1398600864/81
280 :デフォルトの名無しさん :2015/10/15(木) 18:03:33.74 ID:bdlPZJI1.net py
281 :デフォルトの名無しさん :2015/10/26(月) 00:51:32.73 ID:pJrmvVTd.net multipartで渡してエラー吐くと思ったらJSONで渡すんだねこれ…
282 :デフォルトの名無しさん :2015/10/28(水) 22:28:05.44 ID:58PwIK9B.net 独自関数(自作)でbackGroundの色が特定の色の場合にsumする関数をつくりたいんだけど、 引数でバックグラウンドの色ってとりだせるの? というより、適当に作ったんだけど、スクリプト保存しないと独自関数を使用しているセルが更新されなくて困ってる。
283 :デフォルトの名無しさん :2015/11/05(木) 20:42:24.52 ID:6t/dd9qY.net 何でもできるようになってきて すごくありがたく使わせてもらってるんだけど 実行速度が遅いのは何とかしてほしいなぁ
284 :デフォルトの名無しさん :2015/11/06(金) 18:30:44.33 ID:F7EIvq3A.net 遅いね あとREMOTE_ADDRとか取れなかった気がするのも痛い
285 :デフォルトの名無しさん :2015/11/18(水) 03:36:46.11 ID:CE5+T1br.net スプレッドシートの0:00とか時間表記でのものを時と分に分けて数値として扱いたくて getRangeで2次元配列で読み込んで時間の部分をsplit使って:で分けました でもSSの時間部分の書式が日付になるとWed Nov 18 2015 00:00〜みたいなDateで読み込まれるし 書式なしテキストにするとStringになって数値として扱えないんです(8:00だったら8と00になって足すと800になる) どうすればいいでしょうか?
286 :デフォルトの名無しさん :2015/11/18(水) 05:27:10.31 ID:2k4RwPb/.net あきらめる
287 :デフォルトの名無しさん :2015/11/18(水) 07:26:46.79 ID:nLopjri3.net >>285 固定させたいカラムを晒してくれないとわからない カラムによってはその機能が備わってるみたいだし
288 :デフォルトの名無しさん :2015/11/19(木) 00:23:18.88 ID:gRbsU57g.net *60は?
289 :デフォルトの名無しさん :2015/11/20(金) 06:21:50.68 ID:bl9/kj42.net ごめんなさい 自己解決しました Number()ってのをつかったらいけました
290 :デフォルトの名無しさん :2015/11/27(金) 15:20:14.09 ID:c/N8jVfb.net 火事お見舞い申し上げます。
291 :デフォルトの名無しさん :2015/12/03(木) 15:49:15.48 ID:5y9yFaIO.net test
292 :デフォルトの名無しさん :2015/12/16(水) 14:14:14.45 ID:kHfROXFw.net グローバルでconstを使うと、 「TypeError: 定数 **** の再宣言。」 とエラーが出るのですが、グローバルではconstは使えないのでしょうか?
293 :デフォルトの名無しさん :2015/12/17(木) 12:07:32.69 ID:Szn4FINI.net >再宣言
294 :デフォルトの名無しさん :2015/12/19(土) 21:20:25.74 ID:0J9ouBIM.net シート上のデータをまとめてカレンダーに移したいのですが GASからbatch requestで処理できますか? もしできるなら似たような事例でコードがわかるものを教えてください
295 :デフォルトの名無しさん :2015/12/20(日) 11:31:59.34 ID:8RLYRFXT.net 出来ますよ
296 :デフォルトの名無しさん :2015/12/20(日) 16:16:42.06 ID:8RLYRFXT.net どうやんの
297 :デフォルトの名無しさん :2015/12/21(月) 12:08:37.40 ID:Hf5X7byl.net >>294 CalendarApp使えばいいじゃん
298 :デフォルトの名無しさん :2015/12/22(火) 14:35:21.60 ID:Cg7y4/KF.net >>293 すみません、説明が不足していました。 constで定義した名前は他の場所では宣言していません。 ただ、グローバルでconstを使うと、再宣言していない定数でも 「TypeError: 定数 **** の再宣言。」とエラーになってしまいます。 (function内などのスコープではconstは普通に使えています。) constでなくvarを使うと再宣言のエラーは出ません。 また、const指定する定数の名前は何にしても再宣言のエラーが出ます。 constの使い方が間違っているのかもしれませんが、何かおかしい点があれば教えていただけないでしょうか?
299 :デフォルトの名無しさん :2015/12/22(火) 15:36:52.19 ID:WRvltcSm.net すごく初歩的な質問だと思うのですが原因が解りません どなたか教えて下さい 下記サイトを参考にスクリプトを作成したのですが http://chaika.hatenablog.com/entry/2015/09/03/143622 デバッグすると一番最初の var ss = evt.source.getActiveSheet(); の箇所で TypeError: undefined からプロパティ「source」を読み取れません。(行 3、ファイル「コード」) と出てしまいます ググったところ、スクリプトの作成元が間違っていると出たりするようですが 参考サイトではスプレッドシートから作成、とあるので間違いではないと思います かといって何が問題なのか解りません
300 :デフォルトの名無しさん :2015/12/23(水) 08:28:53.59 ID:2F8TsTF+.net 3. エディタのリソースをクリックして、**現在のプロジェクトのトリガー**を選択 4. 実行をonEditEvent、イベントをスプレッドシートから・編集時 にして保存
301 :デフォルトの名無しさん :2015/12/23(水) 13:31:42.44 ID:LnNJH8Hn.net >>300 296です その設定はやってあります 再度確認しましたがその通りになっています ですが、デバッグすると296の通りです https://i.gyazo.com/196e454d6eee012351e550aa5cbf3cd3.png
302 :デフォルトの名無しさん :2015/12/24(木) 01:20:26.04 ID:Icnst7JF.net 関数指定してデバッグボタン押しただけとか? まさかなー
303 :デフォルトの名無しさん :2015/12/24(木) 16:49:29.65 ID:4YM2CMve.net あるある
304 :デフォルトの名無しさん :2015/12/24(木) 20:07:56.13 ID:Dg+ThN48.net >>302 296です 私へのレスでしょうか? 何かやり方が間違っているのでしたら教えていただけませんか?
305 :デフォルトの名無しさん :2015/12/24(木) 21:14:24.02 ID:Icnst7JF.net いや、俺もトリガーの機能をここのやり取りで知ったぐらいだけど、 デバッグボタンを押すだけだったら onEditEvent(); と呼び出されるだけじゃない evtがundefinedなのはそのせいかなと思って 実際どうなん? 正式なやり方はしらんけど、Loggerでトリガーが起動された時に どんなオブジェクトが渡されてくるかを調べる そういうオブジェクトを自力で用意してonEditEventに渡す関数を作成する その関数をデバッグモードで起動 とかするんじゃないのかな ググってみればやっている人いるかも
306 :デフォルトの名無しさん :2016/01/31(日) 12:12:27.01 ID:Y0j0ifuu.net とりあえず、「Hello,World」から始めようと思ってやってみたんですが、 「Cannot call Browser.msgBox() from this context; have you tried Logger.log() instead? (line 1, file "helloworld")」 とエラーがでていきなり動きません。 エラー内容で検索してみたのですが、 同様のケースは見つからず困っています。 原因は何なのでしょう? ソースは以下の通りです。↓ function myFunction() { Browser.msgBox("Hello World!"); }
307 :デフォルトの名無しさん :2016/01/31(日) 12:40:01.06 ID:35YTNVlr.net スプレッドシートで やったら普通に動いたよ this contextとある様にどんな状況でスクリプトを実行しているかが問題だと思う
308 :デフォルトの名無しさん :2016/01/31(日) 19:52:12.09 ID:iHBYUhz2.net >>306 そもそも、Browser.msgBoxってスプレッドシートでしか使えませんよ。 なので、普通は例えば var ui = SpreadsheetApp.getUi(); ui.alert(“helllo world”); です。uiのgetUiの部分をDocumentApp.getUiにすればドキュメントでも 同じように使えます。Browser.msgBoxは現在は非推奨ですよ。
309 :デフォルトの名無しさん :2016/02/01(月) 15:04:44.00 ID:C4njzqYk.net >>306 > from this context
310 :デフォルトの名無しさん :2016/02/01(月) 17:37:08.92 ID:zFO6PW8k.net >>307 >>308 >>309 「Hello World」はスプレッドシート経由じゃないと実行できないんですね。 私はGoogleDriveからスクリプトを新規作成して実行していました。 だからエラーがでて動かなかったんですね。 ためしにスプレッドシート経由で動かしてみたところ、 無事、「Hello World」が表示されました。 教えていただいて、ありがとうございました。助かりました。
311 :デフォルトの名無しさん :2016/02/29(月) 07:51:01.35 ID:tfVkN3NW.net インスタのAPIで色々しようと思ったけどoauth2が全然分かんないや gasでインスタapi扱い方書いてるサイトとかないだろうか?
312 :デフォルトの名無しさん :2016/03/16(水) 16:45:59.48 ID:AoxyQu12.net 現在、Google DriveをAPI経由で使うための勉強をしています。 [root] +[個人的なフォルダ] +[公開している共有しているフォルダ] このような構成で、API経由で両フォルダ上にファイルの読み書きを想定しています。 ひの際に使うアクセストークンが知られてしまうと だれでも両フォルダのの中身をいじることができるようになってしまいます。 そこで質問なのですが、「公開している共有しているフォルダ」の操作だけを 許可するトークンは発行できるのでしょうか。 ひとつユーザを作って「公開している共有しているフォルダ」を共有し そのユーザでトークンを発行すれば期待どおりになるということはわかったのですが、 お金を削減したいので、ひとつの特権管理者ユーザだけで実現したいのです。 お詳しい方いらっしゃいましたら、どうか教えて下さい。
313 :デフォルトの名無しさん :2016/03/18(金) 22:40:22.81 ID:Q3hcmZkc.net >>312 googleアカウントでログインさせろ
314 :デフォルトの名無しさん :2016/03/21(月) 20:12:50.73 ID:49NnzOUU.net >>312 アクセストークン使わずにコーディングする。ヒントhScript.getOauthTokenだったかな。 PDF作成時にも使う手ですよ。
315 :デフォルトの名無しさん :2016/03/21(月) 20:13:28.35 ID:49NnzOUU.net ScriptAppだった。
316 :デフォルトの名無しさん :2016/04/10(日) 21:58:42.74 ID:q/cDt/0h.net GASのWebアプリケーションで質問です。 doGetで受けたパラメーターは e.parameter.xxxで取得できますが これをクライアントに渡す方法で悩んでます。 今はdoGetで受け取ったらUsetCacheに預けて html(template)側で<? ?>を使って取り出しています。 初心者ながら、これがスマートじゃない気がして、 違和感を拭いきれないのです。 スマートな方法を教えてください。
317 :デフォルトの名無しさん :2016/05/01(日) 16:22:45.99 ID:tKi6j9CT.net 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、 BitTorrentがオープンソースで開発されています 言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか? Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします https://twitter.com/Lyrise_al ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw The Covenant Project 概要 Covenantは、純粋P2Pのファイル共有ソフトです 目的 インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します 特徴 Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW) 接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です DHTにはKademlia + コネクションプールを使用します UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります) 検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません 17
318 :デフォルトの名無しさん :2016/05/02(月) 15:16:04.56 ID:aR8AOrvI.net YahooAPIのスレは無い?
319 :デフォルトの名無しさん :2016/05/27(金) 20:19:53.53 ID:wEIQ/dS/.net Google Apps Scriptって重くね? かなり処理量すくないスクリプト書いたんだけどモッサリしてる。 起動が遅いだけなのかなぁ。
320 :デフォルトの名無しさん :2016/05/28(土) 11:45:02.02 ID:YkPoIoOS.net 超遅いよ
321 :デフォルトの名無しさん :2016/05/28(土) 11:46:40.70 ID:YkPoIoOS.net コード更新後最初にアクセスしたときにプロセスが立ち上がる感じで 何度かアクセスするといくつかのプロセスが立ち上がるので 最初の数回は全部遅い感じがするが しばらくすると速くなってくる ただしプロセスのキャッシュ有効期限が過ぎるとまた最初からなので遅くなったり
322 :デフォルトの名無しさん :2016/06/13(月) 11:51:06.87 ID:0qOmRg0P.net 質問です。 スプレッドシート内にいくつかの図形を配置してるんですけど セルの値が編集された時、一個の図形(地図画像)を 更新(画像削除→画像再配置)したいです。 今は画像を削除→画像作成script と手作業でしています。 この作業をscripで出来ますでしょうか?
323 :デフォルトの名無しさん :2016/06/13(月) 15:00:26.33 ID:zgrawcOE.net 削除しなくても更新される
324 :デフォルトの名無しさん :2016/06/13(月) 20:58:26.01 ID:EAqpGAx8.net google siteってjavascript使えなくて、代わりにGAS使えってことなの?
325 :デフォルトの名無しさん :2016/06/17(金) 23:25:49.12 ID:ZmH+ZAWf.net >>324 gasはあくまでサーバーサイドなので クライアントサイドは普通にjs使えるのでは?
326 :デフォルトの名無しさん :2016/06/18(土) 14:05:20.70 ID:AGMP56Qn.net js埋めても変換されて出力されるって話では
327 :デフォルトの名無しさん :2016/07/03(日) 05:32:47.99 ID:AkQnhWCl.net >>324 元々サイトっていうより、Wikiなので。あのサービスは。 なので埋め込みのApps Scriptを使えって事です。 >>325 それはApps scriptのHTML Serviceの中の話です。
328 :デフォルトの名無しさん :2016/07/03(日) 05:33:09.52 ID:AkQnhWCl.net >>326 サニタイズされて無効化されますよ
329 :デフォルトの名無しさん :2016/07/26(火) 19:17:35.47 ID:SrT4PCno.net 実行している自分自身のFile IDを取得するにはどうしたらいいでしょうか
330 :326 :2016/07/28(木) 10:11:10.32 ID:LxRDdK5b.net 自己解決しました、やりたかったのは同じソースでも実行するfile idによって動作を変えたかった、なんですが、 ローカルで開発してgapps pushするときにうまく切り替えるようにしました、、、
331 :デフォルトの名無しさん :2016/07/28(木) 19:04:49.94 ID:O8Vfrh0P.net FileIDかどうかは知らんけどデプロイして変わったのを知りたいなら AppVersionみたいなのは実行中に取れた気がする (管理画面に表示されるやつと同じもの)
332 :デフォルトの名無しさん :2016/08/05(金) 07:48:44.14 ID:OmPlANC2.net 質問するスレ間違えてたみたいなのでここで改めて質問させてください http://hesonogoma.com/stocks/japan-all-stock-prices.html この株価データサイトのデータを定期的にスプレッドシートに表示させたくて ここ数ヶ月悩んでます 1 サイト下部にある Copy to Clipboad からコピーしてシートに貼り付ける というスクリプトは可能ですか?出来るならどうすればいいのでしょうか? 2 CSVファイルをダウンロード 本来はこのやり方を調べていました。が、flashで表示されているのでurlが判らず お手上げ状態に・・ 1が無理なら2を何とかしたいと思っております
333 :デフォルトの名無しさん :2016/08/05(金) 12:12:46.89 ID:LJe/qM3f.net 課金が必要
334 :デフォルトの名無しさん :2016/08/05(金) 12:16:56.28 ID:LJe/qM3f.net っつーか PritView でよくね ただの html 取れるぞ
335 :329 :2016/08/06(土) 08:04:08.54 ID:2dv1pXxg.net >>334 レス有難うございます。PrintViewでどうにかできそうですか! でもどうすればいいか解らないレベルなので とりあえず図書館でjavascriptの本を借りてきました 「はじめに」 読んでるうちに寝てもうたw
336 :329 :2016/08/06(土) 08:13:37.42 ID:2dv1pXxg.net ちなみに>332の2を試してみたときのコードが function getCsvSample() { var folderId = '***********'; var destfolder = DriveApp.getFolderById(folderId); var date = "2016-08-04"; var response = UrlFetchApp.fetch("http://hesonogoma.com/stocks/media/swf/copy_csv_xls_pdf.swf"); destfolder.createFile(date + '.csv', response.getContentText('Shift_JIS')); } です。拾ってきたコードをいじって実行したら 謎の文字化け集団が襲ってきました (ここで心折れる)
337 :デフォルトの名無しさん :2016/08/10(水) 23:27:34.29 ID:U9v+Tybh.net GASでスクレイピングしたいんですが、UrlFetchAppで取得したHTML(XMLじゃない)をDOM化するのってできますでしょうか? 正規表現で必要なところを取ってくるのは心が折れそうなので、セレクタで処理したいです。
338 :デフォルトの名無しさん :2016/08/11(木) 11:55:28.49 ID:v2n9djjr.net OK
339 :デフォルトの名無しさん :2016/08/11(木) 16:34:55.39 ID:qVxIjH10.net >>332-336 Shift_JIS ではなく、UTF-8 で保存すれば? その後、TeraPad などのエディタで、Shift_JIS に変換する
340 :329 :2016/08/13(土) 07:36:05.54 ID:VdLmMpzK.net >>339 レスありがとうございます 試してみたんですが、うまく変換できませんでした やっぱりurlが違うのかな、、 このスレの質問、回答がほとんど理解できてない程度ので もう少し基本からじっくり勉強してみます! >>332 の1だけ 引き続き質問を残させてください
341 :デフォルトの名無しさん :2016/08/13(土) 17:13:54.48 ID:byPJKfY1.net GAS関係なくね?
342 :デフォルトの名無しさん :2016/08/23(火) 14:00:18.41 ID:SYSHEBtV.net >>332 CSVならGASでドライブに1回保存してからインポートすれば? 次の実行時にドライブAPIでファイル消せば残らんし もしくはこれ http://qiita.com/ms32/items/7e180c1c1d00fa8df647 >>337 parserつかえ http://qiita.com/fireowl11/items/e703e35073b600528e7c
343 :デフォルトの名無しさん :2016/08/24(水) 01:12:18.88 ID:dEIn8nhr.net GASでgoogleAPIを叩いてgmailの下書きを作成するものを作ったのですが、 これを毎日作成(雛形をコピー)するスプレッドシードで使いたいと思っています。 スプレッドシートに書いてコピーすると、gAPIの紐付けプロジェクトが変わっているので設定しなおさなければ使えず、困っています。 スプレッドシートをコピーして、シート上のボタンを押したらすぐに下書きを作れる状態を作りたいのですが、どのような方法がありますか?
344 :デフォルトの名無しさん :2016/08/24(水) 09:46:43.51 ID:nL2g9QDB.net >>343 GASのGmailAppでダメ? ttp://qiita.com/minanami/items/87641f09192be1b5010b 個人的にはフォームから入力させた方がGUI的にいいと思うけど スプレッドシートに保存したいならその後GASで自動追加させとけばいいし
345 :デフォルトの名無しさん :2016/08/24(水) 15:58:08.87 ID:Ku8YOB4B.net >>343 ライブラリ化する
346 :デフォルトの名無しさん :2016/08/25(木) 08:04:24.21 ID:Y3c8VA1Y.net >>342 329です 参考にしてみます ありがとうございます!
347 :デフォルトの名無しさん :2016/08/25(木) 23:18:14.53 ID:5XLt8Aa8.net >>332 ,>>346 よっしゃ、俺がやってやらぁ!って思って意気込んでサイトみたら普通にJSONで取れた ttp://hesonogoma.com/stocks/data/japan-all-stock-prices.json
348 :デフォルトの名無しさん :2016/08/27(土) 08:39:19.05 ID:m8PsOLXX.net >>347 おお、、、これで目的は果たせそうです 皆さん長々とありがとうございました!勉強も少しずつ続けます
349 :334 :2016/08/27(土) 11:42:11.09 ID:RucMLpGl.net >>342 ありがとうございます。ですが、そのライブラリだと正規表現を使うのと全く変わらないです。 いっそのこと自作しようと思います。 ありがとうございました。
350 :デフォルトの名無しさん :2016/09/28(水) 22:05:17.24 ID:eXjFddOW.net ここ最近CalendarAppのアクセス頻度でエラーが出るようになった Googleはアナウンスなしで仕様変更してくるのやめてほしい
351 :デフォルトの名無しさん :2016/10/19(水) 12:06:30.27 ID:r6QG4f4p.net G Suite ω
352 :デフォルトの名無しさん :2016/10/19(水) 18:25:48.15 ID:V4/PZwvc.net 株価のサイトにはNASDAQとかもあるのか このJSONデータが無料ってすごいな
353 :デフォルトの名無しさん :2016/10/22(土) 17:05:09.77 ID:O48rD9qT.net >>350 ほんそれ
354 :デフォルトの名無しさん :2016/11/25(金) 23:29:15.59 ID:dTj7tfXq.net プロジェクトの.gsファイルって並び替えってできないんですか?
355 :デフォルトの名無しさん :2016/12/13(火) 18:03:00.36 ID: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 :デフォルトの名無しさん :2016/12/13(火) 21:30:54.00 ID:mRmuTzdU.net フォームの名前を<AAAについての確認>とすればいい。
357 :デフォルトの名無しさん :2016/12/14(水) 13:19:44.27 ID:UzzFPJML.net CK BOX って何かと思った
358 :デフォルトの名無しさん :2016/12/17(土) 01:48:09.89 ID:3C8QRPXl.net GASであるサイトをスクレイピングしたいけど、ログインしないと情報が取得できない。 クッキーをセットしたりすればログインしてアクセスできるけど、それってセキュリティ的に危険かな?
359 :デフォルトの名無しさん :2016/12/19(月) 23:51:02.67 ID:Hch485Lz.net GASでスプレッドシートをいじろうと思ってるのですか、まず有効なスプレッドシートを選択してくださいと。と表示されてできません。なにがダメなのでしょうか。下記のようにやっています。 var ss = SpreadsheetApp.OpenById(""); var sheet = ss.getSheetByName(""); SpreadsheetApp.setActiveSheet(sheet);
360 :デフォルトの名無しさん :2016/12/20(火) 12:59:03.44 ID:lAXr92yw.net IDは?
361 :デフォルトの名無しさん :2016/12/20(火) 19:57:35.71 ID:ktde9hau.net oops
362 :デフォルトの名無しさん :2016/12/21(水) 00:25:00.04 ID:nYEPRmnr.net ID、シート名ともにあってます… スプレッドシートからスクリプトエディタを使わないとできないのでしょうか?今は別にスクリプトファイルを作ってやってます
363 :デフォルトの名無しさん :2016/12/21(水) 08:27:21.58 ID:h8+/QyVK.net >>359 ”→'
364 :デフォルトの名無しさん :2016/12/22(木) 18:37:45.76 ID:0Tg51mYJ.net >>359 3行目は開いてるスプレッドシートに対してしか効かないとか。 試してないけど。 別に開かずとも変数sheetは取れてるだろうから、3行目は書かなくてもその後のやりたいことはできるのでは?
365 :デフォルトの名無しさん :2016/12/22(木) 18:40:37.70 ID:0Tg51mYJ.net >>364 もしくは、3行目を SpreadsheetApp.setActiveSheet じゃなくて ss.setActiveSheet ってできないかな?
366 :デフォルトの名無しさん :2016/12/22(木) 23:50:12.42 ID:TIDq1bhf.net >>359 試してはないけど、まずアクティブなシート取得しないとエラるっぽい http://nevernoteit1419.blogspot.jp/2012/01/blog-post_569.html?m=1 https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app#setActiveSheet(Sheet)
367 :デフォルトの名無しさん :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 :デフォルトの名無しさん :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 :デフォルトの名無しさん :2017/01/08(日) 21:45:18.24 ID:5b4VWoeT.net ローカルのものをGoogleDriveにupするAPIはあるよ
371 :366 :2017/01/09(月) 07:41:00.04 ID:kW/T2j6A.net >>370 早速の返信ありがとうございます いろいろ調べましたが http://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 :2017/01/12(木) 21:41:52.77 ID:35gbmkUr.net >>372 その、「ローカルのものをGoogleDriveにup」をフォームなどの表示なしに自動化したいのです
374 :デフォルトの名無しさん :2017/01/13(金) 00:01:00.63 ID:YkcCHApN.net >>373 デスクトップ版のGoogle Drive使って 自動同期でうpすれば?
375 :366 :2017/01/13(金) 23:07:28.92 ID:lbjer3ZB.net >>374 ありがとうできました。
376 :デフォルトの名無しさん :2017/02/02(木) 07:52:54.77 ID:hDfY8PDB.net 半年ほど前にお世話になった者です スプレッドシートでimportdata関数を使っていたんですが Loading......が頻発するので、やはりGASで対処したいのです データ取得までは出来てると思うのですが、シートに書き込む段階が全くおかしいようで・・ function fetchData(){ var response = UrlFetchApp.fetch("http://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 :2017/02/03(金) 06:23:34.32 ID:HRggU1Ve.net >>377 仕組みがよくわからないんですが、 ログにはデータ表示されるのでアクセスは出来ているはず・・・ ・・もしかしてアクセス権というのは違法性の問題とかですか!? すみません、だったら質問とりやめますが
379 :デフォルトの名無しさん :2017/02/03(金) 08:05:00.39 ID:HRggU1Ve.net 色々やってみたら一応なんとかなりました 1年ちょいのモヤモヤが一気に解消して、いま涙目になってますウォォ ありがとうございました!
380 :デフォルトの名無しさん :2017/02/03(金) 16:11:50.71 ID:Jl+ODihZ.net 役に立たんちんぽだな
381 :デフォルトの名無しさん :2017/02/15(水) 00:43:00.46 ID:8OzNcjl5.net エラーのメールいっぱいくるからトリガー止めようと思っても保存押したらサーバーエラーになっちゃう
382 :デフォルトの名無しさん :2017/02/15(水) 13:37:01.14 ID:8OzNcjl5.net "サービスで1日に使用しているコンピュータ時間が長すぎます”っていうエラー出るだけど どういうエラーか分かりますか? なにもいじってないのに昨晩から急に出るようになった
383 :デフォルトの名無しさん :2017/02/15(水) 13:39:42.93 ID:0zPxl8zN.net 無限ループ
384 :デフォルトの名無しさん :2017/02/15(水) 13:40:56.40 ID:8OzNcjl5.net なるほど なんで急になったんだろう
385 :デフォルトの名無しさん :2017/02/18(土) 13:34:37.67 ID:sYCIN7Mu.net 1日のMAXが累計1時間だっけか 処理回数が多いか、実行時間が長いんだろうな
386 :379 :2017/02/19(日) 12:34:42.66 ID:I5IVz31O.net 1日止めて何も変えずトリガー元に戻しましたが、今のところ問題無し 数は減らしましたがペースは変えず
387 :デフォルトの名無しさん :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 :デフォルトの名無しさん :2017/03/09(木) 00:32:07.05 ID:JhFIW3VD.net >>388 ありがとうございます。それってどのクラスから生えてますか? 一応、下のようになってみましたができませんでした。 sheet.getRange(1, 1).visible
390 :デフォルトの名無しさん :2017/03/09(木) 00:45:24.51 ID:9+K5Dr1K.net Visible
391 :デフォルトの名無しさん :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 :デフォルトの名無しさん :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 :2017/03/27(月) 00:25:00.99 ID:0WjH3gBI.net 微妙に勘違いされそうな書き方だったので追記 doPost2に飛んできたときはその中でトリガを削除しているので 「飛んでこなかった場合は全てのトリガを削除してからやり直してる。」ということです。
395 :デフォルトの名無しさん :2017/03/27(月) 01:50:47.06 ID:R2ENwT8H.net 100ms後にdoPost2に飛ばしたいってこと? 最終的になにがしたいかわからん そのidでなにすんの?
396 :デフォルトの名無しさん :2017/03/27(月) 07:58:56.68 ID:7fg5PAil.net PayPal IPNの処理が目的です。
397 :デフォルトの名無しさん :2017/03/27(月) 08:47:26.49 ID:VebtMPKj.net 目先の目的は「指定した時間後にdoPost2を実行したい」です。 100msが1秒になるにはまだ許容範囲ですが、 さすがに数十秒後やかなり待っても飛んでこないのはなにか設定がおかしいのかなと。
398 :デフォルトの名無しさん :2017/03/27(月) 20:46:24.21 ID:2rEhsR/n.net トリガーをつくるのではなく、Utilities.sleepじゃダメ?
399 :デフォルトの名無しさん :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 :デフォルトの名無しさん :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 :デフォルトの名無しさん :2017/05/05(金) 07:47:20.79 ID:SiZHVQw5.net 自己解決しました。(・ω<) テヘペロ
403 :デフォルトの名無しさん :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 :デフォルトの名無しさん :2017/05/14(日) 13:22:55.89 ID:v32VfkzT.net 行番号をコピーするの?アクティブセルの値じゃなくて?
405 :デフォルトの名無しさん :2017/05/14(日) 13:30:26.13 ID:v32VfkzT.net sheet_copyTo.getRange('B1').setValue(copyValue);
406 :デフォルトの名無しさん :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 :デフォルトの名無しさん :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 :デフォルトの名無しさん :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 :デフォルトの名無しさん :2017/06/25(日) 21:20:03.77 ID:xjvWfy2S.net getValuesで取得した二次配列の、あるインデックス番号Ary[n][n]から、セル番号を取得するにはどうすれば良いでしょうか? 又、それはAPIを使わず、javaの配列処理の中で完結できるものなのでしょうか?
414 :デフォルトの名無しさん :2017/06/26(月) 07:20:27.40 ID:POytUkXJ.net その二次配列はどのセル番号から取得したんだよ。
415 :デフォルトの名無しさん :2017/06/26(月) 11:16:36.54 ID:H+izVTcm.net modは義務教育で教えるべきだな
416 :デフォルトの名無しさん :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 :デフォルトの名無しさん :2017/06/26(月) 21:07:30.37 ID:YNcumjCY.net >>417 おしえてくださいばっかりでもうしわけありませんが、本当に素人でして。 コードやら参考のURLでもありましたらおねがいします。
419 :デフォルトの名無しさん :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 :デフォルトの名無しさん :2017/07/05(水) 18:12:42.59 ID:lervoDRk.net それ、ただのコメントでは?
422 :デフォルトの名無しさん :2017/07/05(水) 19:25:23.18 ID:aOT9LPA2.net >>421 コメント付けると補完が効くようになると聞きました
423 :デフォルトの名無しさん :2017/07/05(水) 19:46:41.16 ID:lervoDRk.net 波括弧で括ってないからかな?
424 :デフォルトの名無しさん :2017/07/06(木) 14:10:14.25 ID:flMfxcNT.net うちはできてる
425 :デフォルトの名無しさん :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 :デフォルトの名無しさん :2017/07/13(木) 13:23:39.30 ID:G6DCMcFU.net よそから持ってきたライブラリを使ってないか
427 :422 :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 :デフォルトの名無しさん :2017/07/13(木) 14:07:47.08 ID:G6DCMcFU.net そんなことはチュートリアルの一番最初に書いてある
429 :デフォルトの名無しさん :2017/09/26(火) 05:38:02.61 ID:uiCOOs0C.net ぐぐってきたけど、ここそんなに人気ないの?
430 :デフォルトの名無しさん :2017/09/26(火) 15:54:12.38 ID:dGip1y4C.net ऄ
431 :デフォルトの名無しさん :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 :デフォルトの名無しさん :2017/09/26(火) 19:49:32.88 ID:pQJJ1OIB.net ユーザーごとの情報はユーザープロパティに入れるべきでは?
433 :デフォルトの名無しさん :2017/09/27(水) 13:03:25.12 ID:Is6BRq5M.net >>432 ご助言ありがとうございます。 propaties serviceについて調べた見ましたが、ユーザープロパティとして保存した場合、他のユーザーからは一切アクセスできないものと思いました。 一部のユーザー(システム管理を行う数名)に対しては、データの参照ができるようにしたいと思ったおります(申請されたデータを承認するようなワークフローアプリを検討しているため。後出して申し訳ありません)
434 :デフォルトの名無しさん :2017/09/27(水) 14:45:10.73 ID:/heCrwKp.net サイズが十分小さければスクリプトプロパティかな。 たしか500KBくらいまで。 あるいは、スプレッドシートにスクリプトを付属させるんじゃなく、 独立プロジェクトにして、openByIdとかopenByUrlとかは?
435 :デフォルトの名無しさん :2017/09/27(水) 15:36:25.01 ID:Is6BRq5M.net >>434 ご助言ありがとうございます。 プロパティについては、思いの外データの種類が増えそうなため難しそうです。 スクリプトをスタンドアロンにして、openbyidがいいですかね、万一idがバレてしまった時のことが不安ですが、そういったことは起こらないと思っていい感じでしょうか。
436 :デフォルトの名無しさん :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 :デフォルトの名無しさん :2017/09/29(金) 08:18:30.31 ID:qX48jByc.net >>436 ありがとうございます。 ライブラリ化するということでしょうか。 getEmailする部分を別アプリ(アプリにアクセスしているユーザー実行)にして、spreadsheet操作をするアプリはオーナーとして実行する感じでしょうか。 調べてみます。
439 :デフォルトの名無しさん :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 :デフォルトの名無しさん :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 :2017/10/28(土) 19:55:11.76 ID:aeUdpVUN.net >>443 検索してなんとなくできそうなのでやってみます ありがとうございました
445 :デフォルトの名無しさん :2017/11/12(日) 02:54:44.20 ID:StX7DGK4.net GAS単体でajaxのようなwebページをクローリングすることは可能ですか? やっぱり外部を通さないと無理でしょうか
446 :デフォルトの名無しさん :2017/11/12(日) 17:25:52.88 ID:StX7DGK4.net 自己解決しました
447 :デフォルトの名無しさん :2017/11/13(月) 13:04:40.18 ID:8/cIJ70S.net スプレッドシートの制御をAndroidから行う方法をご教示頂けませんでしょうか。 内容としては複数列のソートを行いたいのです。 現状は列指定でソートをかけているのですが、列数が多く余分な時間がかかります。 PCからは実行できているのですが、同様の事がAndroid上から行えたらと思います。 実行用のトリガーがAndroidで使用できずに困っております。 現状トリガーは図形に対してスクリプト実行させていますが、タップしてもAndroidでは削除しか出てきません。
448 :デフォルトの名無しさん :2017/11/14(火) 18:34:16.47 ID:IvDpdEfa.net function onOpen()とmenuEntries.push使えば?
449 :デフォルトの名無しさん :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 :デフォルトの名無しさん :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 :デフォルトの名無しさん :2018/01/05(金) 01:26:13.05 ID:GBYhvW0R.net >>450 npmでjQueryをinstall webpackでbundle node-google-apps-scriptでアップロード って感じでいけないかな? 試してないのでできるか分からないけど
453 :デフォルトの名無しさん :2018/01/05(金) 10:44:01.68 ID:Vef7Ikrv.net 一部の機能なら普通に使える
454 :デフォルトの名無しさん :2018/01/06(土) 11:51:13.98 ID:HbY4/bGY.net どっかよそのAPI使うとか
455 :デフォルトの名無しさん :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 :デフォルトの名無しさん :2018/01/07(日) 12:29:16.75 ID:S38kpWyE.net キャッシュされたら困るからなー
457 :デフォルトの名無しさん :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 :デフォルトの名無しさん :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 :デフォルトの名無しさん :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 :デフォルトの名無しさん :2018/02/10(土) 06:53:00.00 ID:C1kfYYFU.net 1日1回、UrlFetchでページネイションされた数十ページを取得したいのですが 負荷軽減のため数秒は間隔を明けて取得したいです settimeoutでエラーがでるのは、GASでは使えないということなのでしょうか? 出来ないとしたら代替方法の検索のヒントなどを教えていただきたいです
463 :デフォルトの名無しさん :2018/02/11(日) 06:27:45.78 ID:E5AjV+At.net GASってひょっとしてfor(let data of datas)みたいな構文は通らないのか?
464 :デフォルトの名無しさん :2018/02/11(日) 06:46:30.86 ID:E5AjV+At.net for each(let data in datas)は通った GASまじか・・・
465 :デフォルトの名無しさん :2018/02/13(火) 22:38:42.10 ID:wCW429If.net >>462 setTimeoutはブラウザでしか効かないんじゃ Utilities.sleep(ミリ秒)使おう
466 :デフォルトの名無しさん :2018/02/13(火) 22:39:52.24 ID:wCW429If.net >>461 非表示じゃダメなの?
467 :デフォルトの名無しさん :2018/02/14(水) 06:29:23.38 ID:hdXXEhGY.net >>465 ありがとうございます
468 :デフォルトの名無しさん :2018/02/14(水) 12:43:37.10 ID:qm6gWFGH.net >>463 >>464 良し悪しはわからないけど for (var n in datas) { var data = datas[n]; ... } とかしてた
469 :デフォルトの名無しさん :2018/02/14(水) 16:40:58.15 ID:rMSOrK/H.net datum
470 :デフォルトの名無しさん :2018/02/16(金) 06:23:37.77 ID:W1XJdyx1.net ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の 両院で、改憲議員が3分の2を超えております。 『憲法改正国民投票法』、でググってみてください。国会の発議は すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
471 :デフォルトの名無しさん :2018/04/06(金) 09:46:20.39 ID:OGpTmhME.net すみません、ちょっとお門違いなんですが、 Microsoft系でGoogle Apps Scriptに相当するようなサービスって何でしょうか?
472 :デフォルトの名無しさん :2018/04/06(金) 12:08:48.32 ID:sTfZcU1Y.net OneDrive
473 :デフォルトの名無しさん :2018/04/08(日) 08:48:02.53 ID:ExM2Rgcj.net officeアドイン(javascript api)
474 :デフォルトの名無しさん :2018/04/08(日) 09:35:01.80 ID:iYd8ya2H.net vba excelだけじゃなく、officeは全部使える
475 :デフォルトの名無しさん :2018/04/08(日) 11:45:51.95 ID:YK+KPtHu.net Python for Excel
476 :デフォルトの名無しさん :2018/04/08(日) 12:44:04.55 ID:x+tHn1VY.net Google Spreasheetみたいにクラウドに置いたときに、 定期的に動かしたり、Webアプリとして呼び出せたりするんでしょうか?
477 :デフォルトの名無しさん :2018/04/27(金) 08:48:50.80 ID:azia2EcY.net 共有スプレッドシートで自分だけのスクリプトを動かすことができますか?
478 :デフォルトの名無しさん :2018/04/27(金) 12:00:12.58 ID:DjfFcydV.net できる
479 :デフォルトの名無しさん :2018/04/27(金) 12:30:17.67 ID:309OLMv4.net >>478 どうやればできますか?
480 :デフォルトの名無しさん :2018/04/27(金) 14:10:43.72 ID:ouRrzssA.net 【マイトLーヤとPS4】 FFとDQの最新作、VR開発は危険、プレーヤーの日常感覚を損なうおそれ http://rosie.5ch.net/test/read.cgi/liveplus/1524621704/l50
481 :デフォルトの名無しさん :2018/04/27(金) 17:49:08.26 ID:ash3pEtl.net >>479 多分このスレの上の方に書いてある
482 :デフォルトの名無しさん :2018/04/30(月) 09:57:45.45 ID:OTdR2Ule.net スプレッドシートでハイパーリンクになっていないセルの、テキストとURL取得するには、どうすれば良いですか?
483 :デフォルトの名無しさん :2018/04/30(月) 21:10:05.12 ID:k1zO9vV2.net >>482 ハイパーリンクになってないならできない そもそもセルにurlがvalueとして入力されてるなら別だが
484 :デフォルトの名無しさん :2018/05/13(日) 17:28:07.61 ID:T6Bs0Y7u.net しょうもない質問ですが職場などで何て呼んでるでしょうか ジーエーエス? グーグルアップス? こないだガスって言ってる人がいて自分の職場では全く統一されていないです
485 :デフォルトの名無しさん :2018/05/13(日) 20:20:04.93 ID:j+nJMGjP.net >>484 ガスって呼んでる ??ってなる人には「Google Apps Scriptの略」って付け加える
486 :デフォルトの名無しさん :2018/05/14(月) 12:07:03.70 ID:2SPouDsA.net >>485 ありがとうございます ガスが一般的なんですかね
487 :デフォルトの名無しさん :2018/05/14(月) 13:31:22.77 ID:dnGRWxRE.net >>484 ぎゃす
488 :デフォルトの名無しさん :2018/05/23(水) 19:22:31.65 ID:Au5e7VGg.net 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 WX5I9
489 :デフォルトの名無しさん :2018/05/24(木) 10:41:34.45 ID:cPlRxlDn.net WX5I9
490 :デフォルトの名無しさん :2018/05/25(金) 01:08:25.88 ID: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 :デフォルトの名無しさん :2018/05/25(金) 03:33:33.31 ID:JRXZZDGl.net elems[0]
492 :デフォルトの名無しさん :2018/05/25(金) 08:23:06.06 ID: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 :デフォルトの名無しさん :2018/05/25(金) 09:48:46.51 ID:JEsKWWiQ.net google apps script pdf margin でググったらstackoverflowとかヒットするけど見てみた? 俺は見てないけど。
494 :デフォルトの名無しさん :2018/05/25(金) 13:10:56.83 ID:zfLEVsZm.net 日々の記録をgoogle apps script で記録してたんだが1ヶ月忙しくて 記録の確認してなかったら先月4月26日以降の記録が取れてなかった プロジェクトを動かすと「承認が必要です」で前もやったことがあるような 画面がでて一つ一つのプロジェクトを自動実行させるために承認設定をした 100ぐらいプロジェクトがあるんだが一つ一つを手作業で承認させるのが 大変だし前もこんなことをさせられた記憶があるんだが 承認を一回で全てのプロジェクトを設定する方法とかないですかね?
495 :デフォルトの名無しさん :2018/05/25(金) 16:14:05.22 ID:XO9fqtgP.net っていうかしばらくしたらまた承認求められそうでこわいな
496 :デフォルトの名無しさん :2018/05/26(土) 08:10:21.44 ID:hhovu7qg.net >>493 ありがとうございます 設定することができました!
497 :デフォルトの名無しさん :2018/05/27(日) 18:16:43.31 ID:AVKJ/EkR.net google apps scriptでLZHを解凍したいと思っています。 以下のどちらかのコードはGASでも使用可能でしょうか? 又は、ほかに何か良い方法があるでしょうか? ttps://github.com/erlandranvinge/lh4.js/tree/master ttp://formats.kaitai.io/lzh/javascript.html 現在1つのテキストファイルが圧縮されたzipのblobを、 Utilities.unzip で解凍し、中のテキストファイルを利用しているのですが、 LZHでも同じ事ができるようにしたいと考えています。 上記ページのサンプルは見たのですが、 DOMが全く分からず、javascriptの理解も浅いため、 どう書けばよいのかわかりませんでした。 LZHのblobから解凍されたファイルのblobが得られれば理想的です。 アドバイスお願いしますm(_ _)m
498 :デフォルトの名無しさん :2018/06/01(金) 18:16:54.34 ID:zHSboa0n.net 質問です 色んなサイトを見ながら、Google spread sheetにスクリプトを作成しました このスクリプトを外部アプリから実行するにはどうすれば良いのでしょうか。 ちなみに外部アプリとはDiscordの事です。
499 :デフォルトの名無しさん :2018/06/01(金) 18:21:14.88 ID:Wbxpqrec.net オレオレAPIをくっ付ける
500 :デフォルトの名無しさん :2018/06/01(金) 19:56:50.22 ID:rK/pkJ29.net >>499 ありがとうございます。オレオレAPIは聞いた事無いですが調べてみます。
501 :デフォルトの名無しさん :2018/06/01(金) 21:11:40.39 ID:xvkHhoxN.net doGetかdoPost作ってHTTPで呼べばいいじゃない
502 :デフォルトの名無しさん :2018/06/02(土) 12:34:27.24 ID:yUEJ+BJS.net djangoみたいなdispatcherとかroutingの仕組みないかな
503 :デフォルトの名無しさん :2018/06/13(水) 21:43:33.53 ID:KouNon+v.net お手軽WebAPI作るときデバッグどうしてる? デバッグ用URLではHTTPリクエスト受け付けてくれないでしょ? リリース用URLじゃLogger使えないし コード変えてバージョン上げずに更新しても変更反映してないから バージョンだけが無駄に上がってく いい方法教えてください
504 :デフォルトの名無しさん :2018/06/14(木) 09:56:45.68 ID:b+x6hMO7.net デバッグ用のアカウント作って そっちからアクセスしたらデバッグモードで動くように作る
505 :デフォルトの名無しさん :2018/06/15(金) 20:11:23.83 ID:EMcl4RB2.net > そっからアクセスしたら これは別アカに共有かけてそっちで開発し リリース段階で本アカで更新ってこと?
506 :デフォルトの名無しさん :2018/06/16(土) 06:04:47.49 ID:xpvZKcIC.net へ? デバッグするときのクライアントのアカウントだよ
507 :デフォルトの名無しさん :2018/07/04(水) 22:17:45.27 ID:gFgZc5FG.net PYT
508 :デフォルトの名無しさん :2018/07/05(木) 12:09:59.99 ID:6iN0hdr0.net なんだこいつ
509 :デフォルトの名無しさん :2018/07/09(月) 17:33:54.99 ID:se1rYzUR.net スプレットシートの中身をWEB経由でJSON形式で出力しているんだが ↓のようにリダイレクトされるんだが、このリダイレクトを抑止する方法ないか? https://script.google.com/macros/s/ 〜 ↓ https://script.googleusercontent.com/macros/echo?user_content_key= 〜 https://script.googleusercontent.com/macros/echo?user_content_key= 〜の方に直接飛んでも 何故か、一旦https://script.google.com/macros/s/ にリダイレクトされてからまたリダイレクトされるし…
510 :デフォルトの名無しさん :2018/07/09(月) 18:11:50.09 ID:1p1eFn95.net 503
511 :デフォルトの名無しさん :2018/07/09(月) 18:18:12.92 ID:kTTsYOtx.net 301 or 302
512 :デフォルトの名無しさん :2018/07/22(日) 00:26:34.52 ID:ZpQQ0pAE.net spreadsheetのgasについて質問です。 getLastColumnの仕様は、値が入ってる最終列を返すのでしょうか? 値が入っていない列を返すときもあって混乱してます。 あと、insertSheetの直後にgetLastColumnを呼び出すと0が返ってくるのですが、このとき、存在する最終列を取得する方法はないでしょうか。 このとき取得したい期待値はZ列の26です。(画面上Z列までセルが有効になっているように見えるため) これは26って固定値をもつのが気分的にいやっていうワガママです
513 :デフォルトの名無しさん :2018/07/22(日) 00:55:09.31 ID:ZpQQ0pAE.net getMaxColumnsってのがあった(>_<)
514 :デフォルトの名無しさん :2018/09/29(土) 19:38:05.42 ID:LLxAt+HQ.net GASの勉強は本とサイトどっちがいいですか? おすすめとかあったら教えて欲しいです
515 :デフォルトの名無しさん :2018/09/29(土) 20:16:29.09 ID:8vdhvdxP.net 【報道規制の、解禁を】 マ@トレーヤのUFO出現 http://matsuri.5ch.net/test/read.cgi/sky/1537927336/l50
516 :デフォルトの名無しさん :2018/09/30(日) 11:25:49.99 ID:ELKSxw7h.net ここまで読みました
517 :デフォルトの名無しさん :2018/09/30(日) 13:18:42.33 ID:XFe1Q8VS.net >>514 教えてください
518 :デフォルトの名無しさん :2018/10/01(月) 00:18:27.39 ID:IPuEyzUl.net >>514 俺はWebサイト派 Qiitaあたりの情報で十分に勉強できた
519 :デフォルトの名無しさん :2018/10/06(土) 02:08:54.46 ID: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 :デフォルトの名無しさん :2018/10/06(土) 10:06:26.13 ID:QZvBbzw3.net "ta"だけ渡してあとは好きに汁
521 :デフォルトの名無しさん :2018/10/06(土) 23:57:43.46 ID:MQLlRsEJ.net gas側でDOMは触れないですよ
522 :デフォルトの名無しさん :2018/10/09(火) 21:03:41.76 ID:J1hD0LSr.net Google apps scriptで図書館のホームページにログインしたいのですが、できません。 どうすればログインできるのでしょうか? function myFunction() { var payload = { "username" : "XXXXXXXXXX", "j_password" : "XXXXXXX", } var options = { "method" : "POST", "payload" : payload, "followRedirects" : false } var url = "https://opac.toshokan.city.fukuoka.lg.jp/licsxp-opac/j_security_check?subSystemFlag=0" 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 = "https://opac.toshokan.city.fukuoka.lg.jp/licsxp-opac/WOpacUsrLendListAction.do" response = UrlFetchApp.fetch(topUrl, options); var content = response.getContentText("UTF-8"); Logger.log(content) }
523 :デフォルトの名無しさん :2018/10/11(木) 19:13:50.65 ID:KKlTShrO.net driveにあるmp3ファイルに画像を貼り付けて、mp4にする。それをフォトに保存するscriptって作れますか? 可能であれば教えて頂けると幸いです。
524 :デフォルトの名無しさん :2018/10/12(金) 05:14:25.86 ID:1iFt3dhJ.net できますよ
525 :デフォルトの名無しさん :2018/10/12(金) 07:52:54.61 ID:C1pVYns8.net >>522 ブラウザの自動操作は、iMacros, Selenium IDE とか、 Ruby で、Selenium Webdriver を使うとか
526 :522 :2018/10/12(金) 09:19:01.30 ID: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 :デフォルトの名無しさん :2018/10/14(日) 21:11:05.91 ID:Qblq+S/g.net >>526 ありがとう ただ、できればgasでしたいのよね
528 :522 :2018/10/14(日) 23:38:23.09 ID: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 :2018/10/14(日) 23:40:22.51 ID:hWarSIQ5.net >>528 修正 >CSS セレクターで、入力欄を指定して、入力する部分を表示がないよね CSS セレクターで、入力欄を指定して、入力する部分がないよね
530 :デフォルトの名無しさん :2018/10/19(金) 01:04:33.18 ID:IuczYWmH.net excelマクロをきっかけにVBA勉強してて結構楽しかったから、GASもやってみようと思う VBAとGASの習熟の難易度で、どっちが難しいとかある? スプレッドシートは便利そうで興味あるんだけど、マクロ使えないのが自分の中で枷になっててね 興味沸いてる
531 :デフォルトの名無しさん :2018/10/19(金) 03:41:20.06 ID:xKxj3Rj7.net javascriptなんでやって損はないぞ
532 :デフォルトの名無しさん :2018/10/19(金) 08:16:54.08 ID:GydxY9Hg.net カレンダーを検索したり編集したりできますか?
533 :デフォルトの名無しさん :2018/10/19(金) 12:11:04.45 ID:jQ8EJjtV.net gasの方が簡単 pythonからも出来るよ
534 :デフォルトの名無しさん :2018/10/20(土) 01:56:59.75 ID:cKgpkxwO.net スプレッドシートにもマクロ機能ついてた気がする。
535 :デフォルトの名無しさん :2018/10/23(火) 00:29:05.49 ID:JwGBt6eq.net GASの本スレってここ? もっと情報交流したいよう(´・ω・`)
536 :デフォルトの名無しさん :2018/10/23(火) 14:24:33.23 ID:yFsvvFWj.net 交換じゃなくて一方通行のスレ
537 :デフォルトの名無しさん :2018/10/23(火) 16:20:43.87 ID:fX6+Gv53.net APIは本家でRTFMだしなあ 便利なライブラリとか開発環境とか教えてくれれば交流になるかも
538 :デフォルトの名無しさん :2018/10/23(火) 20:39:33.94 ID:mSpmNxQX.net claspの話でもしようぜ
539 :デフォルトの名無しさん :2018/10/24(水) 20:01:07.64 ID:GW9EQyzD.net VBAと同じ感覚でGAS勉強して職場で軽く披露してみたけど、思いのほか抵抗感強くて焦った 上司がセキュリティおじさんで困ったちゃん
540 :デフォルトの名無しさん :2018/10/24(水) 23:39:10.32 ID:yiYSryh5.net 上司が正しい
541 :デフォルトの名無しさん :2018/10/26(金) 12:21:46.80 ID:sU5wuxUl.net >>539 業種や職種によるが、うちなら完全アウト。
542 :デフォルトの名無しさん :2018/10/26(金) 13:19:49.44 ID:xb+RGQ0c.net 上場会社とかになるとそれくらい情報の取り扱いが厳しくなるのかな こっちは100人ぽっちの中小だから想像できないわ
543 :デフォルトの名無しさん :2018/10/26(金) 16:46:23.98 ID:8hqqerJ0.net 上場は隔離
544 :デフォルトの名無しさん :2018/10/26(金) 19:22:56.70 ID:ZfJ/Stj8.net Googleがお洩らしするからでしょ。
545 :デフォルトの名無しさん :2018/10/26(金) 22:40:04.49 ID:THXYApLL.net 会社としてgsuite導入してるとこならどんどん使って良い てかそんな会社があったら自分が入りたい
546 :デフォルトの名無しさん :2018/10/26(金) 23:57:14.18 ID:IDCNATjR.net >>539 だけど、Googleでもセキュリティの心配されるんだね 過剰にセキュリティに拘って便利なツールを使わないのはどうなんだろう 海外の企業とかどうしてんの?
547 :デフォルトの名無しさん :2018/10/27(土) 00:07:34.80 ID:B9LZkkMM.net セキュリティというか保守的な日本企業はクラウドが嫌いって話
548 :デフォルトの名無しさん :2018/10/27(土) 00:32:34.74 ID:QkHwtfgJ.net googleなんて危険の筆頭だろ
549 :デフォルトの名無しさん :2018/10/27(土) 00:35:10.36 ID:5J0lMEEl.net 技術的な事は分からんが >>547 が言ってるのは>>548 みたいな人の事か?
550 :デフォルトの名無しさん :2018/10/27(土) 00:54:46.00 ID:QkHwtfgJ.net 個人的には嫌ってないよ 大事なものは暗号化してからうp汁
551 :デフォルトの名無しさん :2018/10/27(土) 02:09:59.56 ID:zu36BJom.net 大事なものを暗号化してメールで送るのはいいけど そのパスワードを次のメールで送る日本企業
552 :デフォルトの名無しさん :2018/10/27(土) 03:00:25.65 ID:g1pi9PrZ.net それを得意げに語る上司もセットで マジであれはなんなんだ 社会に出て驚いた事ベスト3に入る程の衝撃だったわ
553 :デフォルトの名無しさん :2018/10/27(土) 11:57:29.17 ID:R2aCZi1a.net >>551 別のメールに別けてるだけマシ
554 :デフォルトの名無しさん :2018/10/27(土) 15:12:14.87 ID:v0X4VL4w.net >>551 上の下〜中の下ぐらいの企業で常態化してるな 誰が流行らせたのだろうか?
555 :デフォルトの名無しさん :2018/10/29(月) 03:15:47.62 ID:Oa9CImgn.net そういう中身の伴わない、見た目を取り繕うだけの作業は今の若者はメチャクチャ嫌う 後輩指導する時に、そんな馬鹿な事はやらなくていいと指示したら、俺が上司に怒られた じゃあ上司から直接後輩に指導してくださいと言ったら、それはお前の仕事だと逃げる 前の会社の話
556 :デフォルトの名無しさん :2018/10/29(月) 11:17:29.02 ID:rTl7m6mf.net >見た目を取り繕うだけの作業 kwsk
557 :デフォルトの名無しさん :2018/10/29(月) 18:29:21.95 ID:Oa9CImgn.net >>556 上で言われてた金庫とその鍵を一緒に送るような行為だよ あとは、excelが警告を出すって理由でcsvファイルのマクロ加工が許されなかったり、その判断基準が分からなかった 会社は中小零細なんかじゃなくて、従業員数百いる中堅企業だったから、入社してから余計に驚いた
558 :デフォルトの名無しさん :2018/10/30(火) 14:31:07.59 ID:p4LrBCE7.net 社員の偏差値低そう
559 :デフォルトの名無しさん :2018/10/30(火) 18:21:19.53 ID:aexQ9Irm.net セキュリティの固さと本人の鍵紛失率は比例だから悩ましいのよね
560 :デフォルトの名無しさん :2018/11/08(木) 12:09:12.86 ID:EkjzBgW6.net 人いないな
561 :デフォルトの名無しさん :2018/11/15(木) 11:08:41.99 ID:PvDTioib.net 質問いいですか?
562 :デフォルトの名無しさん :2018/11/15(木) 11:10:59.21 ID:1bc0l4Fz.net たぶん
563 :デフォルトの名無しさん :2018/11/15(木) 19:19:33.65 ID:PvDTioib.net ちょっと待ってくださいね
564 :デフォルトの名無しさん :2018/11/16(金) 00:29:03.17 ID:r0xHlJjv.net 次の方どうぞ
565 :デフォルトの名無しさん :2018/11/16(金) 10:59:11.72 ID:9iOixtPe.net 二島返還と四島返還はどちらが良いですか
566 :デフォルトの名無しさん :2018/11/16(金) 11:33:55.39 ID:13Ic4Jcn.net >>565 こちらの処方箋を薬局にお持ちください。 次の方〜
567 :デフォルトの名無しさん :2018/11/16(金) 12:30:48.55 ID:24hcK0zy.net スプレッドシートのセルの条件で書式を変えるやつなんですけど セルの保護を付けたり解除したりで背景色を変えることってできますか?
568 :デフォルトの名無しさん :2018/11/17(土) 01:59:09.69 ID:chEbFNdB.net >>567 それをgasでやるんだよ 条件書式じゃできない
569 :デフォルトの名無しさん :2018/11/17(土) 02:52:29.77 ID:iwPEBhZD.net セルの保護ってスクリプトでできたっけ? 調べてもできなかった記憶
570 :デフォルトの名無しさん :2018/11/17(土) 07:24:14.01 ID:7mXoRMgv.net セルが保護されてるか確認するコマンド?がわからないんです それのtrueかfalseでなんとかなりそうなんですが
571 :デフォルトの名無しさん :2018/12/02(日) 19:57:23.72 ID:rfLR8sju.net >>569 できますお https://developers.google.com/apps-script/reference/spreadsheet/protection
572 :デフォルトの名無しさん :2018/12/02(日) 20:00:16.84 ID:rfLR8sju.net >>551 しかも、自動で送ってんだよね。 通信の保護はSSLでやってんだから、ファイルのご送信保護にはなってないね。 まるで意味がない
573 :デフォルトの名無しさん :2018/12/02(日) 20:10:18.07 ID:rfLR8sju.net >>471 ない。 あるように思えるGraph APIはあくまでもREST APIだから、別途土台になる環境が必要
574 :デフォルトの名無しさん :2018/12/02(日) 20:16:19.12 ID:rfLR8sju.net >>509 じゃ、Apps Script APIでも使えばいいじゃん
575 :デフォルトの名無しさん :2018/12/13(木) 20:08:03.86 ID:XOkEi3bk.net 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注目かもしれんな
576 :デフォルトの名無しさん :2019/01/29(火) 00:33:59.60 ID:70mrLSKr.net HtmlServiceでもalertでもいいのですが、spreadシートを開いている状態で、1時間おきにダイアログを表示させたいのですが時間主導型でトリガーをセットしても、このコンテキストからは呼び出せないとエラーが出ます。 何かいい回避策はないでしょうか?
577 :デフォルトの名無しさん :2019/01/29(火) 15:21:21.69 ID:13bkThSC.net URL経由する
578 :デフォルトの名無しさん :2019/02/11(月) 11:51:49.34 ID:4YEc3wKR.net スプレッドシートでマクロ起動させるために図形描画して スクリプトを割り当てたらもう図形の編集や図形の削除ってできないんですか? 割り当て後は右上のプルダウンメニューがでてこないんです
579 :デフォルトの名無しさん :2019/02/12(火) 04:27:36.64 ID:orsbZOeu.net 右クリ
580 :デフォルトの名無しさん :2019/03/06(水) 10:06:07.80 ID:4SRpZFCQ.net グーグルアップスクリプトはプログラミング初心者におすすめできる
581 :デフォルトの名無しさん :2019/03/17(日) 12:45:23.95 ID:OqCo+XAc.net Googleカレンダーに添付ファイルを追加するコード教えて!
582 :デフォルトの名無しさん :2019/03/17(日) 12:52:04.24 ID:rD0zueCH.net python用のならあるよ
583 :デフォルトの名無しさん :2019/03/17(日) 12:56:12.90 ID:pH631X63.net これとコマンドラインgdriveでいろいろできそう
584 :デフォルトの名無しさん :2019/03/17(日) 12:59:07.48 ID:rD0zueCH.net ハゲめ
585 :デフォルトの名無しさん :2019/03/20(水) 11:14:54.71 ID:vprotu0m.net 内定先がGsuiteなんだけどどう勉強したらいいのかな?
586 :デフォルトの名無しさん :2019/03/22(金) 14:49:10.46 ID:f+WIg5g9.net こりゃ問題じゃね 【悲報】Googleマップ、ゼンリンとの契約解除で超絶劣化 ゼンリンも株価暴落 何がしたいんだ両社 https://hayabusa9.5ch.net/test/read.cgi/news/1553226352/
587 :デフォルトの名無しさん :2019/03/29(金) 18:43:30.56 ID:hWFg3V8b.net Googleカレンダーに添付ファイルを追加するのは諦めて、HYPERLINKで解決した。
588 :デフォルトの名無しさん :2019/03/30(土) 21:57:46.29 ID:CwhbRKdW.net GASではできないんじゃ? Calendar APIならできるかもよ 調べてないけど
589 :デフォルトの名無しさん :2019/04/04(木) 23:11:41.43 ID:Wk+4k4Yw.net GASを使ってnow関数の更新をとめる方法ってないでしょうか? 検索してもまったく出てこないんです
590 :デフォルトの名無しさん :2019/04/05(金) 00:03:09.93 ID:8TkW46B2.net 解決しました
591 :デフォルトの名無しさん :2019/04/08(月) 12:05:47.40 ID:/dR5dMe1.net API使わなくてもlinkメソッドで出来るけどね。ここは知ったかぶりする回答者しかいなから使えない。
592 :デフォルトの名無しさん :2019/04/20(土) 14:40:06.41 ID:tWWHyzwg.net 書き方がわからないんですけど、 VBから翻訳する方法ないですか?
593 :デフォルトの名無しさん :2019/04/20(土) 14:55:13.33 ID:tgvbScEy.net >>592 お前には無理 あきらめろ
594 :デフォルトの名無しさん :2019/04/20(土) 15:32:55.59 ID:tWWHyzwg.net >>593 あのー、方法を知らない人に聞いてないんですけどー。
595 :デフォルトの名無しさん :2019/04/21(日) 13:32:14.38 ID:tITQ2Bq3.net >>594 あきらめろ
596 :デフォルトの名無しさん :2019/04/21(日) 15:32:49.13 ID:4kO5c1T5.net >>595 だからやり方のわからない人には聞いてないんですよ。 ちなみに書き方はわかったのでもういいです。
597 :デフォルトの名無しさん :2019/05/05(日) 17:57:44.17 ID:rLPrkeGk.net googleフォーム 名前 趣味 好きな理由 趣味 好きな理由 で得たデータ 名前 趣味 好きな理由 趣味 好きな理由 (名前の入力内容) (趣味の入力内容) (好きな理由の入力内容) (趣味の入力内容) (好きな理由の入力内容) を (名前の入力内容) (趣味の入力内容) (好きな理由の入力内容) (趣味の入力内容) (好きな理由の入力内容) と並べ替えたいのですが、どのようにすれば可能でしょうか? ご存知の方ご教示お願い致します
598 :デフォルトの名無しさん :2019/05/05(日) 18:39:32.86 ID:ZbhvsmlF.net 無理じゃね
599 :デフォルトの名無しさん :2019/05/06(月) 18:42:19.72 ID:o0+2Jvom.net あきらめろ
600 :デフォルトの名無しさん :2019/05/08(水) 22:37:52.06 ID:v2zfKxp6.net フォームと連携されたシートをアレコレ弄るのはあんまりオススメしない 別シートにその形になるようにスクリプト組めば?
601 :デフォルトの名無しさん :2019/05/13(月) 00:46:09.37 ID:31F8kOtz.net 前職を退職してしばらく経過している、VBAとPHPしかできないウンコちゃんなんですけど、 これから勉強するならVBAとGASどっちがおすすめですか? 中小企業でのGSuiteの普及具合ってどう?
602 :デフォルトの名無しさん :2019/05/13(月) 07:51:29.08 ID:UqvxTptL.net 知らんがな まぁjavascriptと同じ感じだからGAS覚えとけば 使う機会あるか知らんが
603 :デフォルトの名無しさん :2019/05/13(月) 08:41:07.41 ID:pa8yLa6W.net 本当にうんこだな
604 :デフォルトの名無しさん :2019/05/15(水) 20:51:09.77 ID:UMUjFXwO.net もしかして、スプレッドシートって、テキストボックス配置出来ない? ボタンを押したときに、テキストボックスに入れた値を引数にしてGAS実行とか無理?
605 :デフォルトの名無しさん :2019/05/16(木) 11:37:04.16 ID:Ox4fjiQE.net きみにはむり
606 :デフォルトの名無しさん :2019/05/16(木) 19:08:38.58 ID:mGxnipSl.net >>604 できるわ!!GASをなめんな
607 :デフォルトの名無しさん :2019/05/16(木) 22:27:53.89 ID:aE3zz80C.net あ、ごめん、Excelレベルのやつ。 下手に触ると、変形したり消えちゃったりする、 図形のじゃなくて。
608 :デフォルトの名無しさん :2019/05/16(木) 22:52:16.37 ID:M/iLkUxO.net セルじゃあかんのか
609 :デフォルトの名無しさん :2019/05/16(木) 23:54:06.79 ID:aE3zz80C.net セルだと、「ここに値を入れるんだぞ」って感じじゃないので。 なんて言うか、例えば格子状に線が引かれている方眼紙みたいな年賀はがきがあって、 そこに住所とか氏名書いたら、物凄く萎えると思うの。
610 :デフォルトの名無しさん :2019/05/16(木) 23:57:14.94 ID:H3GEaKSc.net 表だからね
611 :デフォルトの名無しさん :2019/05/17(金) 09:29:57.48 ID:Eosg7Npq.net まずSpreadSheetにその機能があるのか? テキストボックス付きのExcel表を変換したらどうなる?
612 :デフォルトの名無しさん :2019/05/17(金) 20:43:55.99 ID:S7b1x4Z7.net >>611 何か変な画像(?)みたいなのに置き換えられた。
613 :デフォルトの名無しさん :2019/05/18(土) 10:19:31.77 ID:wL0pdwUB.net HTML ServiceとUI使えばダイアログボックスやサイドバーに htmlを使ってテキストボックスやボタンとか表示させることができるよ
614 :デフォルトの名無しさん :2019/05/18(土) 10:45:56.21 ID:4RzeW/b4.net getidとgeteventbyidって何が違うの?
615 :デフォルトの名無しさん :2019/05/18(土) 11:59:38.42 ID:7IJ3He79.net 名前が違うじゃんばーか
616 :デフォルトの名無しさん :2019/05/18(土) 19:20:28.95 ID:4RzeW/b4.net どんだけ惨めな負け組人生を送ったら、そんなことが書けるんだろう・・。
617 :デフォルトの名無しさん :2019/05/18(土) 20:31:24.15 ID:P5JmHxRD.net >>616 涙拭けよw
618 :デフォルトの名無しさん :2019/05/19(日) 13:24:59.15 ID:j/nghwCk.net 負け犬だからその違いもわからないっていうw
619 :デフォルトの名無しさん :2019/05/21(火) 22:07:00.33 ID:Jja3BPK6.net >>614 getIdのドットの前のオブジェクトは何? それ次第 getEventIdはカレンダーイベントオブジェクトでしょ? だからカレンダーイベントのidが取得できる
620 :デフォルトの名無しさん :2019/05/21(火) 22:07:54.48 ID:Jja3BPK6.net >>614 getEventByIdだったw イベントidでイベントを取得するメソッドだね
621 :デフォルトの名無しさん :2019/05/22(水) 22:43:46.56 ID:bxcYYOqD.net >>620 カレンダーイベント配列のgetId。 だから、何でカレンダーイベントのIdを取得できるのがもう一つあるのかなと。 しかも取得結果が違うし。 getIdは、長い暗号 + メールアドレスみたいな文字列が返ってくるけど、 getEventByIdは、全然違う文字が返って来たり、空だったりする。
622 :デフォルトの名無しさん :2019/05/23(木) 03:29:55.06 ID:4J3/T4Xu.net sheet.getRange().sort(column); の様な処理で column 列が式の場合、式の文字列でソートされますが この関数は演算結果に対して行う手法はあるのでしょうか? 無いようなら getDisplayValues で配列に取り込み、 放り込みなおして sort するのが比較的手数が少ない方法ですかね?
623 :デフォルトの名無しさん :2019/05/23(木) 08:12:12.16 ID:nodzy/aN.net 式でソートされないけど
624 :デフォルトの名無しさん :2019/05/23(木) 14:01:08.81 ID:4J3/T4Xu.net 検証不足で他の要因で一部にソート異常があったので思い込みにはまってました、お恥ずかしい
625 :デフォルトの名無しさん :2019/06/06(木) 07:53:11.68 ID:0GC4e250.net スプレッドシートでExcelのマクロみたいなことをしたいのですが オススメの参考書などありますでしょうか?
626 :デフォルトの名無しさん :2019/06/06(木) 22:33:31.61 ID:17p7tBKQ.net ググって調べるのが一番だと思うけど。 俺も欲しかったので、Amazonで調べたけど、 内容がすぐに陳腐化するらしい。 アップデートが頻繁なのも善し悪しだな。
627 :デフォルトの名無しさん :2019/06/08(土) 17:29:30.36 ID:h5srjJt3.net Javascriptの基礎的な言語知識と GAS独自のオブジェクト たとえばスプレッドシートなら Spreadsheet, sheet, rangeなどが分かればある程度のものは 組めるようになると思う
628 :デフォルトの名無しさん :2019/06/16(日) 20:09:51.82 ID:ZtozgK8X.net gmailの着信をトリガーにする方法はありますか? 今は1分間隔でスクリプトを動かしてるんだけど、 たまに経過時間でエラーがでちゃうので、1分間隔は厳しいのかなーとか。
629 :デフォルトの名無しさん :2019/06/17(月) 10:59:46.44 ID:lxO8a0KV.net 定期的に自動で再起動するスクリプトにしろ
630 :デフォルトの名無しさん :2019/06/19(水) 00:49:14.23 ID: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 :デフォルトの名無しさん :2019/06/19(水) 06:06:39.91 ID:/B51KqfV.net スマホのブラウザからは操作できないもんなの?
632 :デフォルトの名無しさん :2019/06/19(水) 14:23:03.68 ID:HMJH3ram.net >>631 なぜかスマホのブラウザからでも編集、gasの動作しないです どうも閲覧専用アカウントのような、閲覧しかできない状態になっているように見えます ブラウザはios版GoogleChromeで、グーグルアカウントはこのシートとgasを書いたオーナーアカウントでログイン済みです PCブラウザで同アカウントでログインして、gasの正常動作とシート編集などできる事を確認しているアカウントです スプレッドシートのgasが、アプリはブラウザでもスプシアプリでも何でもいいので、 スマホで動作している方いらっしゃいませんでしょうか?
633 :デフォルトの名無しさん :2019/06/30(日) 09:01:10.73 ID:1wPBDcFD.net >>629 625じゃないんだが、再起動ってどうやってするの
634 :デフォルトの名無しさん :2019/06/30(日) 12:46:38.69 ID:KJzE6gx5.net >>633 たとえばコレとか https://kido0617.github.io/js/2017-02-13-gas-6-minutes/
635 :デフォルトの名無しさん :2019/07/25(木) 19:54:13.01 ID:zHpGKaXB.net Gmail時間予約送信のGmailApp実装はまだですか?
636 :デフォルトの名無しさん :2019/07/26(金) 10:10:58.05 ID:ycINWf6e.net 馬鹿には無理
637 :デフォルトの名無しさん :2019/07/27(土) 23:05:56.23 ID:8PWCZyQY.net >>635 トリガーあるじゃん
638 :デフォルトの名無しさん :2019/07/29(月) 00:59:59.45 ID:Dem7abun.net トリガーも使ってます、定期送信用に。 ただ、不定期にspreadsheets上で複数宛先に一括送信する場合、毎回宛先も内容も違うので、念のため事前にgmail上でチェックしたいのです。
639 :デフォルトの名無しさん :2019/08/19(月) 10:56:02.24 ID:zd9MQlzl.net google driveやonedrive、amazon s3をFTPで利用できるアプリを開発しました。 よかったら使ってみてください。 webifi http://www.loxsols.com/pukiwiki/index.php?webifi
640 :デフォルトの名無しさん :2019/09/12(木) 02:28:38.82 ID:9g2OFR39.net Java Script知らない場合は先にJava Script勉強したほうがいいですか?
641 :デフォルトの名無しさん :2019/09/12(木) 20:34:14.26 ID:hHaUU8VW.net そうだね
642 :デフォルトの名無しさん :2019/09/12(木) 20:36:48.23 ID:hHaUU8VW.net でもES5の仕様がほとんど使えないから ちょい古めのJavaScriptで書くことになる
643 :デフォルトの名無しさん :2019/10/04(金) 01:45:57.83 ID:zbpSxYO6.net ドキュメントにあるデータ名・URL・オーナー名・作成日・更新日を一覧化したいんだけど、指定したオーナーのデータのみ吐き出したい。 これってできる?
644 :デフォルトの名無しさん :2019/10/04(金) 15:10:08.55 ID:JXWhYfPM.net どうして出来ないと思ったの?
645 :デフォルトの名無しさん :2019/11/01(金) 14:08:33.21 ID:NFOS1XEp.net スプレッドシートのonOpenで自分のホルダー名知りたいのですがdriveappの一部が仕様でエラーになります。何か裏技無いでしょうか?
646 :デフォルトの名無しさん :2019/11/01(金) 17:12:50.47 ID:ep+Mqrpb.net 自己解決、onOpenじゃなくて現在のプロジェクトのトリガーでスプレッドシートの起動時にvoldの関数を実行すると登録したら動きました。擬似的なフォルダ構造でやれそうです。
647 :デフォルトの名無しさん :2019/12/22(日) 20:08:35.90 ID: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 :デフォルトの名無しさん :2019/12/27(金) 01:23:41.12 ID:XkxDMtdZ.net >>647 for文の前に、まるっとgetValue's' とか?
649 :デフォルトの名無しさん :2019/12/27(金) 01:26:28.31 ID:XkxDMtdZ.net >>648 あと、各行の結果も(二次元)配列に入れておいて最後に setValue's' かな
650 :デフォルトの名無しさん :2019/12/31(火) 15:27:19.03 ID:ZLSJA6hu.net インストール不要だからVBAより便利そうですね。 最近勉強を始めました。
651 :デフォルトの名無しさん :2020/01/01(水) 00:53:00.78 ID: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 :デフォルトの名無しさん :2020/01/01(水) 10:23:10.87 ID:so4DvMIc.net 今後は、VBAからGASに置き換わる感じかな?
653 :644 :2020/01/01(水) 16:06:51.26 ID:Xdbev+rH.net あけましておめでとうございます。 >>648 ,>>651 ありがとうございます。 結果的に下記内容で実行時間を1カレンダー入力を2秒未満に済ませることができました。 カレンダー追加済と日付の指定を探しに行く範囲を限定しただけですが... 前提となるシートの内容が、 上から順に案件番号(3列目,C列)と案件名(10列目)は振られるものの、 カレンダーへの反映は予定日(11列目)が決まり次第のため、 入力済かの判定列(15行目)は途中で空欄が含まれるものでした。 >>651 の内容をすることを正月休みの宿題にすることにします。
654 :644 :2020/01/01(水) 16:07:06.72 ID: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 :デフォルトの名無しさん :2020/01/15(水) 22:19:02 ID:22NAEhTT.net GASに、VBAのAdvancedFilter相当の機能はありますか? ORとANDの組み合わせが自由自在のやつ。
656 :デフォルトの名無しさん :2020/01/15(水) 22:25:11 ID:22NAEhTT.net ↑出来れば、他の閲覧者の画面に影響しないタイプのフィルタで。
657 :デフォルトの名無しさん :2020/01/16(木) 22:23:48 ID:kEtPLYqM.net >>655 Query とか?
658 :デフォルトの名無しさん :2020/01/16(木) 23:53:39.30 ID:zIX3nnAn.net クエリ? 自シート内でフィルタではなく、他シート(または別範囲)に書き出す感じですか。
659 :デフォルトの名無しさん :2020/02/25(火) 14:03:43.81 ID:eF9AatYa.net apps scriptでCSV読み込んでそれをgoogleドキュメントに差し込みしてそのあと印刷したいってできる?
660 :デフォルトの名無しさん :2020/02/25(火) 15:37:53 ID:FzVRg2bh.net ok
661 :デフォルトの名無しさん :2020/02/26(水) 14:11:00 ID:OdP3ovVD.net app script初回に他のアクセスするファイルの許可って途中からでも許可できるファイル増やせる?
662 :デフォルトの名無しさん :2020/02/29(土) 17:58:43 ID:pn9TVa1r.net エラー聞き取れませんでした
663 :デフォルトの名無しさん :2020/03/04(水) 19:02:19.80 ID:DcIeIIMH.net 豚切りスマソ ファイル名の同じpdfファイルを毎月同じ日にダウンロードして、Googleドライブに保存したいんだけど、そんなことできる? 例えばこれ https://www.mizuhobank.co.jp/market/pdf/mid/midcba.pdf
664 :デフォルトの名無しさん :2020/03/04(水) 19:24:29.51 ID:RbQqNGaU.net test
665 :デフォルトの名無しさん :2020/03/07(土) 09:26:16.72 ID:1EWZ7xdf.net >>663 できる
666 :デフォルトの名無しさん :2020/03/07(土) 10:04:47 ID:M14eFJOx.net GASで他人が作ったライブラリを追加したのですが、その内容を確認する方法はあるのでしょうか?あるのでしたらその方法を教えていただきたいと思います。 Twitterに投稿をするアプリの紹介している同人誌があり Authを設定してそのライブラリに渡すことで実現しています。 ただ、そのライブラリは作者が開発したのもですので、 抜き取られていないかどうかを確認したいと思っています。
667 :デフォルトの名無しさん :2020/03/07(土) 15:43:27 ID:QH/1z6a5.net 今日初めてスプレッドシートでスクリプトを書き始めたド初心者です 変数にちゃんと値が入ってるか確認するためにLogger.log()でこまめにログを開くんですが、ログ表示にすごく時間がかかったり、スクリプトの中間辺りのLogger.log()だけ表示されていたりします 10〜20秒位待ってログを開き直すとちゃんと表示されるのですが、毎回待たされるのが地味にストレスです 素早く正しく表示させる方法はありますか? ちなみに変数に値を入れて、その中身を表示させるだけのシンプルなものでもそれなりに待たされます あとログウィンドウを移動させる際に、ウィンドウを持てる箇所の当たり判定が小さいのと、マウスカーソルが矢印から手に変わらないから、なかなか一発で動かせないのと、動かしたところでスクリプト画面にフォーカスしないからスクロール出来ないのも憎しみポイントですね
668 :デフォルトの名無しさん :2020/03/08(日) 00:48:31.73 ID:5hjyLnS+.net >>667 新しいエンジンが供用開始になったばかりなのでまだ buggy かも ログ表示は旧エンジンを使えばすぐ表示される あんまり回答になってないが
669 :デフォルトの名無しさん :2020/03/09(月) 10:51:06 ID:p6Z1SMlj.net >>666 その作者が公開設定してなきゃ確認する手段はない 有名どころのライブラリは公開してるのがほとんどだから、あやしいマイナーライブラリ使うより有名なTwitterライブラリ使ったら?
670 :デフォルトの名無しさん :2020/03/09(月) 11:19:24.38 ID:ZzLE3RUo.net >>668 ありがとう ログ表示快適になりました
671 :デフォルトの名無しさん :2020/03/10(火) 21:35:41 ID:ZDCF6+eP.net >>669 理解しました。アドバイスもありがとうございます。 有名なTwitterライブラリを探してみたいと思います。
672 :デフォルトの名無しさん :2020/03/12(木) 00:07:44 ID: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 :デフォルトの名無しさん :2020/03/12(木) 01:52:13.27 ID:cgiY/N73.net >>672 includesはもとのGASではArrayオブジェクトにないからエラーになるのが通常動作 V8とオブジェクト単位で使える使えないがそもそも違うので、少しはリファレンス読んだ方が良いよ
674 :デフォルトの名無しさん :2020/03/12(木) 13:27:32.42 ID:j9jxQsAx.net >>672 モバイル端末からはそもそもコンテナバインド型GASは実行できない 規約なり制限をきちんと読め
675 :デフォルトの名無しさん :2020/03/12(木) 15:12:36.46 ID:Aj8VN0Uo.net GASファイルを他の人にアップすることって可能?
676 :デフォルトの名無しさん :2020/03/13(金) 18:14:34 ID:5AsLHuse.net スプレッドシートに紐づけしたGASって他のスプレッドシート参照できないんだな いい勉強になったわ、自動化する時はGAS単独で作るしかないな
677 :デフォルトの名無しさん :2020/03/13(金) 18:40:07.18 ID:cgyHyg3G.net excelの何でもできる、痒いところに手が届くに慣れてると Googleスプレッドシートには絶望しかない
678 :デフォルトの名無しさん :2020/03/13(金) 18:58:46.30 ID:8vXfd8Hl.net やっぱりマクロで組んでよかった
679 :デフォルトの名無しさん :2020/03/13(金) 21:44:39.56 ID:8A2FfsSZ.net >>676 ? Get/Set可能では?
680 :デフォルトの名無しさん :2020/03/14(土) 01:13:49 ID:UZOR73gH.net >>676 できるでしょ
681 :デフォルトの名無しさん :2020/03/14(土) 01:18:50 ID:UZOR73gH.net >>677 どこまでいってもOpenDocument派生だからExcelより同じ派生のLibreOfficeにあるCalcが近しいから仕方ないかと
682 :デフォルトの名無しさん :2020/03/14(土) 03:57:51 ID:B3THKCTN.net >>680 いややってみたけど無理だったよ、スプレッドシートに紐づけしてるマクロの中で他のスプレッドシート開こうとしたら怒られたし権限がないって
683 :デフォルトの名無しさん :2020/03/14(土) 04:45:08 ID:B3THKCTN.net >>682 このコメントは間違いだった、ちゃんとアクセスできたわ 謝罪しておきます、スペルミスしてたのかなあopenByidでミスったか・・・
684 :デフォルトの名無しさん :2020/03/14(土) 15:29:14 ID:UZOR73gH.net >>683 変更履歴から直近の変更点は確認できるし、今後も同じような事にならんようになにが原因でできてなかったのかは明確にしとくと自分自身のために良いよ
685 :デフォルトの名無しさん :2020/03/15(日) 15:57:53.08 ID:uLtpsypH.net >>535 ここしかないのかな(´・ω・`)
686 :デフォルトの名無しさん :2020/03/23(月) 12:05:18.59 ID:Y7MCXH01.net cat テキスト | grep hogehoge 相当は テキスト.match(/.*hogehoge.*/g); でよさそうなのですが grep -v hogehogeに相当するのをGASでどう書けばいいのかわからないのですが、 どなたか教えてもらえないでしょうか
687 :デフォルトの名無しさん :2020/03/23(月) 12:47:32.23 ID: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 :デフォルトの名無しさん :2020/03/23(月) 21:04:49 ID:iyDg9ARV.net >>686 テキスト.match(/^(?!.*hogehoge.*).*$/gm); https://regex101.com/r/G4zn3F/1 GASでは試してないんだけど ES3でもnegative lookaheadには対応してたはず v8ならまず問題ない
689 :デフォルトの名無しさん :2020/03/23(月) 23:19:42.98 ID:dwpdUDvb.net VBAスレで相手にされなくなったからって、GASスレまで出向いてこないでくださいな。
690 :デフォルトの名無しさん :2020/03/24(火) 11:22:47 ID:JQ7YmFwi.net そろそろ潮時
691 :デフォルトの名無しさん :2020/04/03(金) 23:41:32.27 ID:r3V2xUir.net GAS極めようと思ったら、google cloud platformは必須かな?
692 :デフォルトの名無しさん :2020/04/04(土) 06:53:26.32 ID:k/Lp30S7.net google cloud platformってなぁに?
693 :デフォルトの名無しさん :2020/04/04(土) 22:17:09.10 ID:chSF5SQRn 【与沢翼】悪いですけど一流大学に行っても会社の「歯車」ですよ。成功者には中卒が多いですし 学歴なんて関係ないですよ。今を全力で生きれば必ず人生変えられますhttps://www.youtube.com/watch?v=zt09bVq1f5w 【与沢翼】金稼げなきゃ意味ないんですよ。周りの人達はただ足を引っ張ってくるだけです。 迷ってる暇があったら決断し行動しろ!稼げない奴は明確な目標がないんですよhttps://www.youtube.com/watch?v=2XK_xg4n-I8 【与沢翼】会社を作るのチョー簡単だから!25万くらいあれば誰でもできますよ。 個人だと舐められるし搾取されたくないならコレするしかないhttps://www.youtube.com/watch?v=vUDGR_Qb7KY 【与沢翼】起業するよりサラリーマンで成功する方が難しいですよ。 年収3000万くらいなら会社作って自分でやっちゃった方が早いですhttps://www.youtube.com/watch?v=iTW0HuG8Wf4 【堀江貴文】サラリーマンの無駄な仕組みと人生の消耗…もう辞めれば?https://www.youtube.com/watch?v=f6JJZwJilDQ 【落合陽一&ホリエモン】会社に全てを奪われる!特別なメリットがない限り 組織に自分の手柄を全て取られてしまうだけhttps://www.youtube.com/watch?v=XEhyfiSV_kk 【与沢翼】起業は怖いとか言うバカに伝えたい「サラリーマンの方がリスクあります」https://www.youtube.com/watch?v=BRdKMhuMOtc
694 :デフォルトの名無しさん :2020/04/06(月) 10:04:22.06 ID:o3kGovlh.net GCPとGASは別物 GCP使っててもGASは使わん事のほうが多い、逆も同じ
695 :デフォルトの名無しさん :2020/04/07(火) 00:19:15.67 ID:yujFP2M7.net GASでTwitterbot連動して投稿とかもうわけわかんねえ〜
696 :デフォルトの名無しさん :2020/04/07(火) 01:50:45 ID:JEfC632I.net >>695 GASでInstagram連携はめんどうだけど、Twitter連携は楽だろ
697 :デフォルトの名無しさん :2020/04/07(火) 03:46:14.96 ID:yujFP2M7.net 何故かツイートコメントに改行コード入れても改行されないし投稿時間は毎回変える感じだったら、改行なんてツイッターの中で何が改行コードなのかわからねえし参考になる記事見て同じコードで解決にならなかったわ
698 :デフォルトの名無しさん :2020/04/07(火) 08:11:25 ID:d1kIoLlr.net >>697 TwitterのTweetで渡す文字は一般的な改行コードしか存在しない 特別なものなんて使われてないから単純に文字列操作できてないだけかと
699 :デフォルトの名無しさん :2020/04/07(火) 12:51:23 ID:yujFP2M7.net >>698 なるほど、\nで改行したいって言ってたけど理論上無理だったのか
700 :デフォルトの名無しさん :2020/04/07(火) 13:31:44.40 ID:fttEuirm.net 馬鹿には無理
701 :デフォルトの名無しさん :2020/04/07(火) 17:48:04.87 ID:ivfSfUTD.net 改行コードは、 Windows なら、\r\n Linux なら、\n HTML なら、br タグ。<br>
702 :デフォルトの名無しさん :2020/04/08(水) 07:37:08.96 ID:lp3B4EHz.net GASはJavaScript使えるからVBより好きなんだけど、スマホで編集・実行出来ないのが辛い
703 :デフォルトの名無しさん :2020/04/08(水) 11:07:24 ID:yTKDGYFG.net 定期的に居るけど、そこまでスマホでプログラムを編集実行するか? プログラム書くのにスマホでとか効率悪すぎだろ
704 :デフォルトの名無しさん :2020/04/08(水) 12:59:45 ID:pfSjPaup.net VBAと比べてどうですか? 細かい事やろうとするとやはりVBAじゃないとできないかな〜と思ってます。 ただ、利用者環境にOfficeのインストールの手間がかからない事を考えると 今後はGoogleスプレッドシートが一番なのかな
705 :デフォルトの名無しさん :2020/04/08(水) 13:04:44 ID:lWfV0IAd.net VBAは蕁麻疹出るけど GASは掻いてて気持ち良い だがどんな場合でもGASが勝ってるかと言えばそうでもない
706 :デフォルトの名無しさん :2020/04/08(水) 14:07:32.20 ID:pfSjPaup.net >>705 JavaScriptは慣れてますが GASは初めてです。 おすすめの学習サイトがあったら教えてください。 インストールの手間が要らないので今後は、Googleスプレッドシートが覇権をとると思います。
707 :デフォルトの名無しさん :2020/04/08(水) 20:32:13.89 ID:lp3B4EHz.net >>703 「プログラム」レベルの編集は流石に誰も望まないだろ 拷問だぞw ちょっと出先でスクリプトの修正が出来ればいいんだよ そしてスマホでスクリプトの編集が出来ない=何かあった時に対応出来ないからって理由なのか、スマホでマクロが動かないのは普通に不便じゃない?
708 :デフォルトの名無しさん :2020/04/10(金) 20:01:31.97 ID:GEPNEjLB.net >>706 スプレッドシートとの連携でGAS使いたいならやりたい事次第で覚え方変わるかと V8に対応したいなら本家リファレンス1択 巷に出回ってるのは旧バージョンでの解説 GASはJavaScriptより使えるオブジェクトが絞られてたり構文の書き方が微妙に違ったりするから、変に嵌らないためにはどっち選んでも本家リファレンスは読むべき
709 :デフォルトの名無しさん :2020/04/10(金) 21:37:15.67 ID:oBjEAOlb.net >>708 > 構文の書き方が微妙に違ったりする これマジですか?
710 :デフォルトの名無しさん :2020/04/10(金) 22:41:48.79 ID:LG9l2UEQ.net 何で微妙に違う必要があるんだろうな。 VBAとVBSもそう。 微妙に違うことに何のメリットがあるのか。
711 :デフォルトの名無しさん :2020/04/11(土) 00:39:48.95 ID:zOl1Pfip.net >>708 ありがとうございます。 VBAと比べる出来る事は限られて来るとは思いますが やはり便利なので地道に学習していきます。
712 :デフォルトの名無しさん :2020/04/11(土) 07:35:40 ID:xPITD/62.net >>710 VBAはVB6派生でVBSとはもともと設計から違うから、その2つは比較するもんではない
713 :デフォルトの名無しさん :2020/04/11(土) 08:39:59 ID:BbiRDQqi.net 設計を分ける必要があったの? 完全に同じか、全然違うならわかるが、 8割くらい似せるって何の意味があるんだろう。
714 :デフォルトの名無しさん :2020/04/11(土) 10:18:26.09 ID:04DXL3Db.net 質問 gasでpwa作れますか?アイコンとかどうすればいいの?sw.jsは?
715 :デフォルトの名無しさん :2020/04/12(日) 02:51:36 ID:eC/oIIb+.net >>714 PWAは簡単にできる アイコンなんかは設定から好きにできる sw.jsも使える
716 :デフォルトの名無しさん :2020/05/11(月) 18:01:42 ID:WhXpohRR.net Google Formで条件分岐した先の選択肢をSpread Sheetから読み込んでFormを自動作成することってできます? できそうなら方法を教えていただきたいです 具体的には設問1はプルダウンで47都道府県を回答させてそれに応じて設問2は分岐 設問2は東京の人なら東京に関しての設問をSpread Sheetから読み込ませて作成するイメージです
717 :デフォルトの名無しさん :2020/05/11(月) 18:16:31 ID:MhpqGE2N.net OK やるがよい
718 :デフォルトの名無しさん :2020/06/16(火) 21:15:21 ID:72JD20DA.net google drive で、あるフォルダの中に同じ名前のサブフォルダが沢山ある場合にそれらを結合してくれるスクリプトを作りたいんですが、参考になる記事などありませんでしょうか? サブフォルダa サブフォルダa サブフォルダa サブフォルダb サブフォルダb を サブフォルダa サブフォルダb にしたいです。サブフォルダたちの中身は消さずに移動させたいです。
719 :デフォルトの名無しさん :2020/06/17(水) 03:30:26.35 ID:9RQxAjph.net >>718 https://stackoverflow.com/questions/38690483/merge-folder-with-the-same-name-in-google-drive-using-google-script
720 :デフォルトの名無しさん :2020/06/17(水) 03:35:08.78 ID:H0Dcbe9T.net 1つのフォルダ内に、同じ名前のサブフォルダが2つ以上作れるの? そんなファイルシステムを見た事がない
721 :デフォルトの名無しさん :2020/06/17(水) 04:34:34.17 ID:9RQxAjph.net >>720 ラベルみたいな感じだから、フォルダ名もファイル名も重複可能なのよ 1つのファイルを(シンボリックリンクではなく)複数フォルダに格納したりもできるので、普通のファイルシステム感覚で使うと戸惑うことがある
722 :デフォルトの名無しさん :2020/06/17(水) 09:21:58.91 ID:GES6ctGC.net フォルダ名もファイル名も当てに出来ない 頼りになるのはIDだけ しかもIDには階層構造が無いω
723 :デフォルトの名無しさん :2020/06/17(水) 16:52:03.32 ID:EftflnE3.net >>719 どストライクな回答ありがとうございます。 私がやりたいことそのもののようなので、 後ほどじっくり読んでトライしてみます。
724 :デフォルトの名無しさん :2020/06/22(月) 15:30:25.53 ID:uOpuzf64.net >>718 です 毎月同じ名前のフォルダをGoogleドライブにアップロードすると、同じ名前のフォルダが2つずつできてしまい困っていたため、このような質問に至りました。 このスクリプトを作って実験してみようも思い、 同じ名前のフォルダを複数アップロードしようとすると、「更新しますか?」というメッセージが出てきて、「更新」を選ぶと、重複なくファイルやフォルダがアップロードされました。 したがってスクリプトは不要になってしまいました。 私の記憶だと以前は特に尋ねられることもなく、同じ名前のフォルダやファイルが二重に出来てしまっていた気がするのですが、、、、改善されたんですかね?
725 :デフォルトの名無しさん :2020/07/01(水) 13:06:41.87 ID: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 :デフォルトの名無しさん :2020/07/01(水) 13:10:17.98 ID:IfUrt5hg.net parseint
727 :デフォルトの名無しさん :2020/07/08(水) 18:10:45.46 ID:B6DwYS1M.net spreadsheetで、セルの罫線の設定有無を取得したいのですが、 setBorder()はあってもgetBorder()が見当たりません 罫線の有無を取得する方法は何かありませんか
728 :蟻人間 :2020/07/08(水) 19:08:08.66 ID:wtc6YQgJ.net >>727 簡単じゃないようだ。 https://stackoverflow.com/questions/48754286/retrieving-google-sheets-cell-border-style-programmatically 事前にSheets APIを有効にする必要がある。
729 :デフォルトの名無しさん :2020/07/09(木) 13:54:25.74 ID:eUqS/uTt.net >>728 ありがとうございます! 英語は不得手ですが、読みながら試してみたいと思います
730 :デフォルトの名無しさん :2020/07/23(木) 00:44:11.36 ID:9dNzv7wt.net GASを今日知ったレベルですが 複数1000件程度のpdfファイルがあります。 そのタイトルを一気に1つのスプレッドシートに入れることはできますか? 可能であればそのフォルダの階層別のタイトルも入るのがベストですが、難しければファイルにタイトルのみで充分です。 よろしくお願いいたします。
731 :デフォルトの名無しさん :2020/07/23(木) 00:44:34.10 ID:9dNzv7wt.net ファイルはもちろんGoogleドライブに入っています。
732 :デフォルトの名無しさん :2020/07/23(木) 00:45:59.77 ID:4rdlbzE6.net プロセスの秒数制限に引っかかるとかあったな 1000件くらいなら問題無いか
733 :デフォルトの名無しさん :2020/07/23(木) 03:09:29.37 ID:8onqYysW.net ファイル名はgasで取得するよりローカルで取得するのが楽なのでは
734 :デフォルトの名無しさん :2020/07/23(木) 08:38:50.13 ID:R7OYz0iq.net ありがとうございます。ローカルというとWindows側での操作ですね。調べてみます。 他にもGoogleフォームでタイトルが違うだけのものを100くらい作らないといけません。 質問ばかりですみませんこの件で消えますので
735 :デフォルトの名無しさん :2020/08/24(月) 04:01:35.49 ID:ZBsYaTP4R デキる人ほどフリーランス化する?★働き方改革https://www.youtube.com/watch?v=ALflcwYOJtQ 年収890万円以下は社会のお荷物★騙される労働者https://www.youtube.com/watch?v=CAp-ZrJpF54 騙されたくなかったら勉強しろ★他人のルールは損をするhttps://www.youtube.com/watch?v=s176O6qKuPw 底辺の99%は一生底辺★10年後が見えない同僚たちhttps://www.youtube.com/watch?v=4Mfiwn2sPD8 稼ぎたければ働くな★4千万円ぽっちも稼げないのはなぜ?https://www.youtube.com/watch?v=Fi7bILN4wes サラリーマン思考では儲からない理由https://www.youtube.com/watch?v=iW6oAo0q0ZI
736 :デフォルトの名無しさん :2020/09/26(土) 16:10:20.48 ID:PfG/B09Z.net GASの開発環境を英語にするのは、Googleアカウントの言語を変更する以外に方法はありませんか? 目的はExceptionなどのエラーを英語で出力してほしいんです。 今日はプロパティの設定でバグが出ているようなんですが、以下のように日本語だと本来の意味とはニュアンスが異なりますし、IssueTrackerで「Data storag error」検索したらすでに報告されているのが分かったので余計な問題判別をせずに済みます。 日本語「データの保存容量エラー」 英語「Data storage error」
737 :デフォルトの名無しさん :2020/10/23(金) 18:22:51.85 ID:bYAKNzy9.net gmailにおいて、添付を外して転送ということって可能でしょうか? 調べてみた所添付の付け方ばかりが出てきてしまい...
738 :LINE-LaBot :2020/11/17(火) 22:09:42.09 ID:oYeoYLE+.net Google Apps Script とLINE Messaging APIでLINE BOTを作ってます。 よかったらどうぞ、スクリプト配布中 https://linelabot.info/
739 :デフォルトの名無しさん :2020/11/28(土) 17:03:40.23 ID:p5SSQZH6Q みずほが週休3日・4日を導入、副業もオッケーに!ただし給料は80%、60%に下がるが、あなたならどうする?https://www.excite.co.jp/news/article/Jcast_kaisha_396186/ みずほFG 週休3〜4日制導入へ 新型コロナで働き方見直しhttps://www3.nhk.or.jp/news/html/20201006/k10012651181000.html 副業OK時代!初心者に人気の副業を試してみて…メリット・デメリットとはhttps://news.yahoo.co.jp/articles/2a38649705f3257595512daee1a073c231affc51 「労働時間の見直し」に先鞭をつけた みずほフィナンシャルグループhttps://blogos.com/article/490192/ 給料ダウンの危機を副業でカバーしたい…副業している人はどんな仕事でいくら稼いでいるの?https://news.yahoo.co.jp/articles/e56796283f3e4feea64cb3042ea7b4d7c01714e4 副業を会社に報告しない理由TOP3、3位会社が禁止している、2位告知されていない、1位は?https://dime.jp/genre/990902/ 副業年収1億超のmotoさんに聞いた!「本業」で成果を上げて自分の市場価値を高める方法https://ddnavi.com/interview/679189/a/ フリーランス向け報酬即日払いサービス『先払い』が大規模リニューアルし正式リリースhttps://prtimes.jp/main/html/rd/p/000000042.000047439.html 国内最?級!副業・フリーランスエンジニアに特化した、仕事探しの求?アプリ 『doocyJob(ドーシージョブ)』、iOS版アプリを2020年10月6日(?)リリースhttps://prtimes.jp/main/html/rd/p/000000005.000038976.html
740 :デフォルトの名無しさん :2021/01/21(木) 19:41:41.78 .net google doumentで画像から文字起こしとか簡単にできそうですね 他にいい方法があるのかもしれませんが
741 :デフォルトの名無しさん :2021/01/28(木) 22:05:48.39 ID:2E/cb6LF.net 共有ドライブのファイルをマイドライブにコピーするにはどうすればいいですか? ずっと前は右クリック→コピーを作成 で出来ていた気がするのですが、 何故か今はショートカットが作成されてしまい、コピーが出来ないようです
742 :デフォルトの名無しさん :2021/02/17(水) 22:04:25.41 ID:yF2gYpL6/ 「コンサル・IT業界」を俺が全解説する やりたい事ない就活生は全員集合!https://www.youtube.com/watch?v=zJReZO1ND6c&t=2003s 努力不足でSESに転職https://www.youtube.com/watch?v=enk3CgyuFDo 【転職】日系大手企業から外資系企業への転職は困難な道だhttps://www.youtube.com/watch?v=2HESzMFgN4M 【就活】非体育会系はどう戦うべきなのか?https://www.youtube.com/watch?v=x6aW7E538KY 「圧倒的努力」と言いたがる奴wwwhttps://www.youtube.com/watch?v=kI-ZkKhQLZY
743 :デフォルトの名無しさん :2021/02/26(金) 14:16:01.31 ID:uwtwTRSf.net GAS触りたての赤ちゃんですが スプレッドシートからキーワード検索してHTMLに出力しようと 少し作ってみたらクッソ時間がかかるんですけどそういう使い方は向いてないんですかね? プログラムの書き方が悪いだけなら良いのですが 本ちゃんのスプレッドシートは40000行くらいになります
744 :デフォルトの名無しさん :2021/02/26(金) 18:51:11.59 ID:yh0R3Tzg.net スクリプトの実行時間が何十秒かを過ぎると処理を終了する仕様があったような気がする
745 :デフォルトの名無しさん :2021/02/26(金) 19:15:51.46 ID:X0cz5fa1.net >>743 そんなかからんと思うけどその時間とキーワードと各セルの文字数までわからんとなんとも言えん
746 :デフォルトの名無しさん :2021/02/26(金) 19:19:22.27 ID:gv3Dvayc.net どなたか>>741 をお願いします
747 :デフォルトの名無しさん :2021/02/26(金) 19:22:12.53 ID:yh0R3Tzg.net >>741 スレ違い
748 :デフォルトの名無しさん :2021/02/26(金) 19:50:13.87 ID:iwep5/hd.net >>743 スプレッドシートのアクセス(呼び出し)の「回数」が多いとめちゃ遅くなるよ なるべく高速化とかの解説サイトとかあるから参考にしてみたら?
749 :デフォルトの名無しさん :2021/03/01(月) 10:12:40.06 ID:vgd9986a.net いったん全部読み込んで処理すればいいかと。 本番と同規模のダミーデータでテスト忘れず。
750 :デフォルトの名無しさん :2021/03/01(月) 10:25:00.27 ID:rO9qQ6pi.net >>748 HTML側でスプレッドシート開いて二次元配列に放り込んでからテーブルに出力してんですけど実用に耐えないくらい時間かかります。 functionで二次元配列に入れるべきなのかな 配列の受け渡しとかいまいちわかんない
751 :デフォルトの名無しさん :2021/03/01(月) 12:44:15.12 ID:V9NClIIm.net コード載せたら添削してあげるよ
752 :デフォルトの名無しさん :2021/03/01(月) 17:03:50.84 ID:PbAWyOdW.net APIを使った方がいいかもね
753 :デフォルトの名無しさん :2021/03/03(水) 18:08:09.09 ID:/zPRpQHx.net Browser.msgBox('hoge'); var ui = SpreadsheetApp.getUi(); ui.alert('hoge'); どっちもAndroidスプレッドシートアプリでは動かず一時停止状態のままになってしまいます どうすれば回避できますかね? 処理が終わるまでshowModalDialogで操作させないようにする処理も泥アプリでは動かなくて困っています…
754 :デフォルトの名無しさん :2021/03/03(水) 21:30:50.23 ID:hlvdZ6yU.net >>753 スマホでは色々制限があって無理です
755 :デフォルトの名無しさん :2021/03/05(金) 11:04:43.54 ID:wmkFGJMv.net 詳しい方助けてください。 当方結婚式のプロフィールムービーを制作しています。 今後、Googleフォームを使って、テロップ入力、写真をお客様自身でアップロードする仕組みを作れと言われて困っています。 問題となっているのが、フォームでの回答後、アップロードした写真がファイル名しかわからない点です。 そこで、アップロードした写真ファイルを一覧化し、PDF化したうえでお客様へ自動返信出来ないかと考えてみました。 GASを使ってなんとか・・と思いましたが、ネットを探してみても方法が見つからず、途方にくれています。 どなたかお力添えをお願いできないでしょうか?
756 :デフォルトの名無しさん :2021/03/05(金) 16:48:28.45 ID:tfvc3NNv.net スプレッドシートに出力してそれをpdf化すれば?
757 :デフォルトの名無しさん :2021/03/06(土) 02:12:47.82 ID:D36VxduV.net 何でフォームじゃなきゃ駄目なのか分からんが、 そんな指示を出すような奴は、 フォームとフォームっぽい何かがあったとしても、違いなんか分かりゃしないぞ。
758 :デフォルトの名無しさん :2021/03/06(土) 17:23:31.98 ID:eKT9Xq9d.net >>755 できるけど、フォームじゃ何枚も写真をアップさせるのキツそう Googleフォトかドライブにあらかじめアップさせて HtmlServiceで画面作ったほうがいいんじゃないの?
759 :デフォルトの名無しさん :2021/04/06(火) 23:13:17.50 ID:ao+gKvtS.net scrapingのライブラリでParser とcheeriogs以外で良いのあります? cheerioよさそうだけどjquery知ってる前提でドキュメントが無くてjquery知らないからきつい。メソッドとかjqueryのやつ使えるの?
760 :デフォルトの名無しさん :2021/04/13(火) 17:26:12.26 ID:o3TSl1rF.net 自宅からスプレッドシートのdoPostに1分毎にテキストを送ってセルに書き込むだけの実験中なのですが、 実行数の所からログを確認すると2000回に1回くらいステータスが「失敗しました」になっています。 自宅の記録ではステータスコードは200が返ってきています。 doPost内をtry~catchにいれてエラーメッセージを書き込もうとしましたが、何も書き込まれていませんでした。 doPostが起動していない…? なぜ失敗しているか分かる方いませんか。
761 :デフォルトの名無しさん :2021/04/13(火) 20:44:13.01 ID:YlnYj74B.net >>755 自作フォームは難しい。 様々なページを作らないといけない 要するにファイルアップローダー、 TeraTerm, Putty みたいな画面が欲しいのでしょ 各顧客用のフォルダを作って、そこへアップロードするのでしょ 自作するのはキツイ。 何かのサービスを使うべき
762 :デフォルトの名無しさん :2021/04/13(火) 21:04:50.52 ID:YlnYj74B.net >>759 jQuery で、スクレイピングするだけなら、 要素の取得、HTML・Text の所だけ読めばよい。 全部の文書を、読む必要はない let abc = $( '#abc' ).html( ); console.log( abc ); $( 'CSS セレクター' ) を書けば、jQuery オブジェクトが取得できる。 jQuery( 'CSS セレクター' )でも良い これを実行してみれば? console.log( window.$ ); console.log( window.jQuery );
763 :デフォルトの名無しさん :2021/04/13(火) 21:11:20.27 ID:YlnYj74B.net >>760 doPost は同期処理なのか? 非同期処理なら、コンテキストが異なるから、 try〜catch で捕捉できないのでは? async/await なら、捕捉できるのか?
764 :デフォルトの名無しさん :2021/04/13(火) 21:28:22.61 ID:c7k7neBn.net なんでjsの話してんの
765 :デフォルトの名無しさん :2021/04/22(木) 01:56:49.59 ID:zbsSdEd/.net GASからWindows APIを介してWindowsアプリに指示してWindowsアプリの自動操縦て出来ます? これのスプレッドシート+GAS版を作りたいんですが。 https://youtu.be/r_9JLzXMsk4
766 :デフォルトの名無しさん :2021/04/22(木) 21:51:19.63 ID:IEn85Cov.net スプレッドシートのrange.getValues()のreturnで日付が勝手にDate object に変換キャストされるのいらんのだけど 文字列にできますか
767 :デフォルトの名無しさん :2021/04/22(木) 22:12:53.54 ID:Bcy1rpDS.net >>766 Utilities.formatDateで変換してください
768 :デフォルトの名無しさん :2021/04/23(金) 01:28:15.06 ID:KvwPc6n1.net やっぱ自分でstringに戻すしかないのですね どうも
769 :デフォルトの名無しさん :2021/04/23(金) 01:36:47.27 ID:Mr1QFRKK.net >>765 できない GASはローカルで動いてるわけじゃないからね
770 :デフォルトの名無しさん :2021/05/19(水) 06:26:47.48 ID:+jFbNy+f.net トリガーを使って、"Sheet1"というシートのA1セルが変更された時のみ他の処理をさせたいのですが、 どのように掛けば良いでしょうか SpreadsheetApp.getActive(); からシート名も取れると思いますが、引数からオブジェクトを指定するなどはできないでしょうか VBAで書くと以下のような感じです Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Sh.Name = "Sheet1" Then Debug.Print "sheet1が変更されました" End If End Sub
771 :デフォルトの名無しさん :2021/05/19(水) 09:54:24.41 ID:iHfxsQ4v.net >>770 function onEdit( e ) { if (e.source.getSheetByName() === "Sheet1" && e.range.getRow() === 1 && e.range.getColumn() === 1) { //なんか処理 } }
772 :デフォルトの名無しさん :2021/05/19(水) 21:19:17.86 ID:+jFbNy+f.net >>771 おっほおおおおおありがとうございますうううううう!!!! めっちゃ助かりました、この一歩があればあとは 超特急で勉強できそうです、ほんま助かりました
773 :デフォルトの名無しさん :2021/05/25(火) 09:12:15.05 ID:7Zlc4Jvy.net function pswV1(contract){ var url = "https://api.pancakeswap.info/api/tokens/" + contract; var content = UrlFetchApp.fetch(url).getContentText("UTF-8"); var obj = JSON.parse(content); return Number(obj.data.price); } この関数作って使ってるんだけど、 定期的に再実行させるにはどうしたら良いのかな? 可能なら1分に1回再実行させたい。
774 :デフォルトの名無しさん :2021/05/25(火) 12:30:25.88 ID:UFi3lRqC.net トリガー使えばええやん
775 :デフォルトの名無しさん :2021/05/25(火) 14:37:01.15 ID:7Zlc4Jvy.net >>774 セル内で引数付けて使用してる関数をトリガーで定期実行するにはどうするの? そういうサンプルがみつからない。
776 :766 :2021/05/25(火) 15:16:25.01 ID:7Zlc4Jvy.net とりあえずトリガー設定してみたけど最短1時間しかないね。 取得してるのは仮想通貨のレートだから最長でも5分程度にはしておきたい。
777 :766 :2021/05/25(火) 15:20:50.17 ID:7Zlc4Jvy.net ごめんなさい。 1分ありました。
778 :766 :2021/05/25(火) 15:23:17.48 ID:7Zlc4Jvy.net 何度もすまん。 無効な引数でエラーになる。 やはりセル内で使用する関数にトリガーは使えないのでは?
779 :デフォルトの名無しさん :2021/05/25(火) 19:19:13.82 ID:bqN1UUYu.net そのセルの情報も書け
780 :766 :2021/05/25(火) 19:47:34.24 ID:7Zlc4Jvy.net セル内は =pswV1("0x27327672d1dc51f4dc58c9f413e1fa7e7ad8245e") としています。 いまのところロード時とタブ切り替え時の任意リロード時のみ実行されます。
781 :デフォルトの名無しさん :2021/05/25(火) 20:07:56.28 ID:bqN1UUYu.net >>780 それはトリガーじゃ無理だねぇ その関数使うセルって複数ある?
782 :766 :2021/05/25(火) 20:25:01.51 ID:7Zlc4Jvy.net >>781 複数あります。 いまのところ5個くらいですが日々変動します。 トリガーがダメならセル内から呼び出す関数からは引数とセル位置だけグローバル配列に入れておいて トリガーから呼んだ関数でまとめて通信させる方法もあるのかなと考え始めてます。 まだ実装してないので動くかわかりませんが。
783 :デフォルトの名無しさん :2021/05/25(火) 21:36:08.76 ID:FW9zXdEp.net >>782 それか1分おきにどこでもいいからセル書き換えるようにすれば勝手に再計算されるのでは
784 :デフォルトの名無しさん :2021/06/03(木) 05:38:31.48 ID:B8Ey28oS.net GASでPhantom JS cloudで動的なページをスクレイピングする時に、どうやらページが重くて表示に時間がかかるため取得できない値があります すでに表示されたサイトに対してjQueryで取得したりPythonとseleniumを使って driver.get(url) time.sleep(30) html = driver.page_source みたいに待機時間を作ればちゃんと取得できるので値は確かに存在しており、GASでうまくいかないのは待機時間がないせいだと思います Phantom JS cloudでも待機時間を入れたいのですが可能でしょうか?どこに入れればよいのでしょうか?
785 :デフォルトの名無しさん :2021/06/07(月) 12:08:43.93 ID:tyfu3spt.net フォームの選択肢ラジオボタンA,B,Cの それぞれにバラバラの回答数上限を設定する方法を教えてください。さらにラジオボタン横に残数があるとなお嬉しい
786 :デフォルトの名無しさん :2021/06/07(月) 13:30:55.90 ID:pl6618+T.net >>784 GAS は知らないけど、 Ruby, Selenium Webdriver, Nokogiri では、 要素の検索の timeout を長くするとか、 driver.manage.timeouts.implicit_wait = 30 それか、sleep するとか、 driver.navigate.to url sleep 30 doc = Nokogiri::HTML( driver.page_source )
787 :デフォルトの名無しさん :2021/06/10(木) 08:31:00.19 ID:rZOQ7XKm.net 機能の23時にはちゃんと動いていたスクリプトが、今朝試してみたらエラーが出てしまってる function doPost(e) { const getdata = JSON.parse(e.postData.getDataAsString()); //略 } という関数を使ってるスクリプトがいくつかあるんだけど、全部 TypeError: e.postData.getDataAsString is not a function というエラーが出るようになってしまった 同じ人いる?
788 :780 :2021/06/10(木) 08:31:48.52 ID:rZOQ7XKm.net >>787 誤字失礼。昨日の23時です。
789 :デフォルトの名無しさん :2021/06/11(金) 01:04:22.78 ID:W2MDAmi/.net >>787 だけど、同じ問題を報告してる人がいた そして今は治ってる https://issuetracker.google.com/issues/190539183
790 :デフォルトの名無しさん :2021/06/12(土) 21:54:06.58 ID:yi8Rxd+W.net 見当はずれな質問も可能性高いんですが, GASでうんこした時間をカレンダー登録するだけのスクリプト書いて, ウェブアプリとしてデプロイしてAndroidのchromeのショートカット作って それをデスクトップに保存して,そのアイコンをクリックすれば自分の Googleカレンダーにうんこした時間登録できるとこまではできたんですが, webショートカットなので当然chromeが起動してエラー画面が表示されちゃう これをクリックしたらwebページも出さずに処理させる方法ってあるんでしょうか?
791 :デフォルトの名無しさん :2021/06/13(日) 00:34:56.20 ID:drIN04VN.net >>790 claspで実行すれば? https://github.com/google/clasp https://takuya-1st.hatenablog.jp/entry/2021/06/08/021238 Androidってのがスマホから実行するって意味ならゴメンだけど
792 :デフォルトの名無しさん :2021/06/13(日) 00:57:33.48 ID:TPT9gOWH.net >>791 ありがとうございます. やっぱりそういう目的のものではないんですなあ…… スマホは常時持ち歩いているのでうんこするときに便所でワンクリックで うんこした時刻を記録したいという目的なのでスマホから実行させたいんですよね やっぱりアプリ作るしかないのかしら(´・ω・`)
793 :デフォルトの名無しさん :2021/06/13(日) 19:42:39.72 ID:lkc6O7cF.net >>792 TermuxのCUIからリクエスト送れないかね
794 :デフォルトの名無しさん :2021/06/13(日) 22:42:32.09 ID:TPT9gOWH.net >>793 Termux 上で >>791 が教えてくれたclaspをインストールして…… って事ですかね. 現状でもブラウザ開くけど目的の「ワンクリックでうんこした時間を記録」 は叶ってるので,まあうんこした時間記録するだけなのにAndroid上でLinux 環境セットアップしたくないかなって気はする. ……Termuxで実行するときってその実行コマンドをショートカットにして デスクトップにおけますん?
795 :デフォルトの名無しさん :2021/06/14(月) 01:54:11.31 ID:btOps/6G.net >>794 bashで書いたのをctrl + rとかで呼び出せばいいんちゃう
796 :デフォルトの名無しさん :2021/06/14(月) 14:10:38.65 ID:G+aGjkZp.net >>792 iPhoneだと↓みたいな感じでできるみたいだから https://ntwmachine.com/shortcut-gas Androidでも↓みたいなアプリでできそうじゃない? HTTP Request Shortcuts https://play.google.com/store/apps/details?id=ch.rmy.android.http_shortcuts
797 :デフォルトの名無しさん :2021/06/14(月) 17:48:55.22 ID:WNlBtQy0.net >>794 TaskerとTermux用Taskerプラグイン買えばショートカットとか色々なトリガーでコマンド実行できる
798 :デフォルトの名無しさん :2021/06/14(月) 21:57:18.79 ID:m506649G.net >>790 のやりたいこととやってみたことを100%理解してるわけじゃないけど、詳しくないなりに考えたのが、自分ならうんこした時間をカレンダーに記録するスクリプトと連携したスプレッドシートがあったとして、IFTTTでボタンウィジェットを押したらそのスプレッドシートに何でもいいから行が追加されるようにして、うんこ記録関数のトリガーはスプレッドシートが更新された時に発動するようにする
799 :デフォルトの名無しさん :2021/06/15(火) 16:38:21.05 ID:0GdnjUqP.net >>790 キチンとhtml出力して、html内にウインドウ閉じるJavaScriptを入れるってのはダメですか?
800 :デフォルトの名無しさん :2021/06/15(火) 22:38:27.71 ID:Pikc/bWs.net うわー皆さんいろいろアイディアありがとうございます. >>799 試してみたんですがAndroid環境だと画面閉じないですね… >>798 単純にうんこした時間をGoogleカレンダーに登録したいだけなんすよね… なのでスプレッドシートとかは使いたくなくて,コードは var date = new Date(); CalendarApp.getDefaultCalendar().createEvent("💩",date , date) こんな感じで十分なので,できればこれをandroid上でアイコンに割り当てて一発実行したいのです. >>795 ターミナル開く手間は避けたくて…… >>796 >>797 このどっちかででけそうな気がしてきたのでちょっと試してみます!
801 :デフォルトの名無しさん :2021/06/15(火) 22:54:32.69 ID:Jy0S46aa.net 絵文字かわヨ
802 :デフォルトの名無しさん :2021/07/13(火) 10:23:44.28 ID:CjZmk7C6.net 共有しているスプレッドシートの 「編集者は権限を変更して共有できます」のチェックボックスを外す(無効にする) ソースコードを教えてください setShareableByEditors(shareable) を使えばできるようなのですが 使い方が分かりません よろしくお願いいたしますm(_ _)m
803 :デフォルトの名無しさん :2021/07/13(火) 10:54:14.06 ID:Vr6vzxIM.net >>802 その関数の引数をfalseにするだけやろ
804 :デフォルトの名無しさん :2021/07/14(水) 18:54:15.93 ID:GFXnTS4Q.net グループ内で簡易なうpろだとして使いたいのですが、ファイルのアップロード、コメントが記入できて、 アップロード先のURLとコメントをスプレッドシートにリスト化してくにはどうしたらいいんでしょうか? ファイルのアップロード、コメント記入してそれをスプレッドシートにリスト化、それぞれは出来たんですが組合わせると動作しません。 なにかサンプルになるようなページを教えていただけると助かります…
805 :デフォルトの名無しさん :2021/07/15(木) 15:20:59.29 ID:ygp86UHP.net シートを作る うpするGASを書く アップロード先のURLとコメントをスプレッドシートにリスト化 >ファイルのアップロード、コメント記入してそれをスプレッドシートにリスト化、それぞれは出来たんですが もっと具体的に 出来ればソースとか晒すべき
806 :デフォルトの名無しさん :2021/07/15(木) 21:16:55.83 ID:gFOIdhYR.net >>800 >>795 >ターミナルを開く手間は、避けたい どこかに、ショートカットを作れないの? 例えば、Windows ならデスクトップにショートカットを作って、 リンク先に、コマンドプロンプトを起動して、 Ruby でスクリプトファイルを実行する C:\Windows\System32\cmd@.exe /k "ruby C:/Users/Owner/Documents/script.rb" 注意。書き込めないので、間に@を入れました
807 :デフォルトの名無しさん :2021/07/18(日) 21:16:48.01 ID:hteKw5EV.net スプレッドシートのトリガー onSelectionChangeの挙動ホント悪すぎる ここらへんVBAと比べてダメ過ぎだな
808 :デフォルトの名無しさん :2021/07/29(木) 06:32:21.24 ID:RJZsh/tv.net スプレッドシートのグラフもひどいよ。 setOption(‘vAxes.1.title’,’hoge’)とかも
809 :デフォルトの名無しさん :2021/08/01(日) 21:02:43.56 ID:zu2woDem.net スプレッドシートとhtmlserviceで簡単なwebアプリ作ろうと思ったのですが、ユーザー毎のデータも扱う場合、どうやるのがいいんでしょうか。 アプリの実行者を「ログインしているユーザー」にすると、スプレッドシートへのアクセス件が必要だから、他の人のデータにアクセスされそうで怖い。 だからといって、実行者を「自分」(開発者)にすると、操作してるユーザーが誰なのかを判別できないし・・。
810 :デフォルトの名無しさん :2021/08/05(木) 11:42:49.43 ID:eMHroxtV.net >>809 ユーザーごとのデータってどんなの? スプレッドシートの1行で表現できないもの?
811 :デフォルトの名無しさん :2021/08/08(日) 03:08:43.28 ID:JLttzwiP.net >>810 user | name | score aaa@gmail.com | taro | 85 bbb@gmail.com | jiro | 75 みたいにスプレッドシートをDBとして使うWEBアプリの場合、 アプリを「自分(開発者)」として実行すると、ログインユーザーのemailが取得できないから、スプレッドシートから当該ユーザーのデータを取得できない 「アクセスしているユーザー」として実行すれば、ログインユーザーのemailが取得できるけど、このスプレッドシートへのアクセス権を与えないといけないので、他のユーザーの情報も全て見れてしまう ので、普通はどうするものなのかが知りたいです。(有償のworkspaceは使わない前提です)
812 :デフォルトの名無しさん :2021/08/10(火) 05:15:26.61 ID:MjVqGGgl.net >>811 なるほどね 普通がどうだかわからないけど メアド自動収集をあきらめてユーザーに入力させるか スプレッドシートをDBにするのをやめてCloudSQLを使う かなぁ
813 :デフォルトの名無しさん :2021/08/10(火) 11:13:59.22 ID:9wi/dlAk.net GAS には、ユーザー認証機能があるの? 認証は、Firebase Authentication じゃないの?
814 :デフォルトの名無しさん :2021/08/19(木) 04:51:29.28 ID:l+iKsjPF.net const spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); const pivotSheet = spreadsheet.getSheetByName('a'); const pivotTables = pivotSheet.getPivotTables(); pivotTables.forEach(pivotTable => { const pivotValues = pivotTable.getPivotValues(); pivotValues.forEach(pivotValue => Logger.log(pivotValue)); }); こんなかんじでpivotTablから値をとりたいのですが、ログとしては pivotValueという値しか返ってこないのですが、なんででしょうか? pivotValue.getValue() のようなことがしたいんです。具体的な数値が返ってくるような。
815 :デフォルトの名無しさん :2021/08/19(木) 08:07:07.49 ID:hKprbQAC.net >>814 何も調べてないうえにやったこともないけと、文脈から察すると Logger.log(pivotValue.getValue()) じゃない?
816 :デフォルトの名無しさん :2021/08/19(木) 12:03:47.46 ID:l+iKsjPF.net >>815 getValue()は使えないみたいなんですよね、not a functionになって getValueでしてみたらnullが帰ってきて謎... ぐぐってもサンプルが出てこなくてまいりましたわ
817 :デフォルトの名無しさん :2021/08/19(木) 13:20:16.21 ID:JpyvyW0f.net 公式のリファレンス読みなさい
818 :デフォルトの名無しさん :2021/10/13(水) 00:47:48.09 ID:Qk99MJFD.net >>811 Webアプリのコードで自分の分だけしかアクセスできないように書けばいいだけだろ? それともクライアントから任意のコードをサーバ側で実行させられるわけなの?
819 :デフォルトの名無しさん :2021/10/13(水) 01:39:22.36 ID:sH5qc9+o.net >>818 何言ってだ
820 :デフォルトの名無しさん :2021/10/17(日) 20:46:12.87 ID:Nd7q+jNJ.net ピボットテーブルで出力したテーブルの特定の文字列のセルを非表示にしたいのですが やり方が御座いましたらご教示お願いいたします 条件付き書式で一致すれば文字を白にするといった「見えなくする」ではなく セルをコピーしてもコピーされない状態にしたいです よろしくお願いいたします
821 :デフォルトの名無しさん :2021/11/01(月) 23:15:46.54 ID:Q50KTbzj.net 公式見てもわからなかったんですが、 新しいスプレッドシートを作る関数→できる そのスプレッドシートに何か書き込む関数→できる そのスプレッドシートのスクリプトエディタをいじってスクリプトを付ける関数→? できるんでしょうか?
822 :デフォルトの名無しさん :2021/12/02(木) 21:38:11.37 ID:FXlnpm0p.net >>821 多分できない あらかじめコピー元テンプレート用のスプレッドシートを用意しておいて スクリプトも仕込んでおけばいけるかなと思ったけど 実行権限の付与ができないから無理じゃね
823 :デフォルトの名無しさん :2021/12/18(土) 23:17:06.97 ID:a3T2SFZh.net はじめまして。 質問ですが、GoogleスプレッドシートのGAS(Google Apps Script)で、 「計算結果のみ」を別のスプレッドシートへコピーする方法を教えてください。 var ss_copyFrom = SpreadsheetApp.openById('コピー元のシートID'); var ss_copyTo = SpreadsheetApp.getActiveSpreadsheet(); var sheet_copyFrom = ss_copyFrom.getSheetByName('シート名'); var sheet_copyTo = ss_copyTo.getSheetByName('別のスプレッドシートのシート名'); var copyValue = sheet_copyFrom.getRange('W3:W200').getValues(); sheet_copyTo.getRange('B4:B201').setValues(copyValue); 上記でコピーそのものはできていますが、表示されるのが コピー元であるスプレッドシートに入力されている「=T4-U4-V4」の結果 (コピー先のT列、U列、V列には何も入っていないため、「1899/12/30」が表示されています)で、 本当に表示させたいのはコピー元のスプレッドシートで「=T4-U4-V4」が計算された結果の数値「1」なのです。 GASについてはド素人(今月から使い始めました)で、ネット検索で色々調べてみましたが、 これといった解決策がわからず、困り果てています。 何とかお知恵を貸していただけますよう、お願い致します。
824 :デフォルトの名無しさん :2021/12/19(日) 02:11:05.33 ID:TUb0vitt.net >>823 単純にスプレッドシートの表示形式が数値か日付かって話じゃないの
825 :デフォルトの名無しさん :2021/12/19(日) 11:32:13.88 ID:RkNKFft4.net >>824 その通りでした...ありがとうございます。 表示形式を数値に変えたら、ちゃんと「1」がでました。 こんな単純なことに気づけないとは...失礼しました。
826 :デフォルトの名無しさん :2021/12/20(月) 12:14:27.96 ID:ViJtvVZ6.net スプレッドシートのメニューバー変わりましたよね? 拡張機能からスクリプト画面選ぶようになってる… 調べたら10月から順次変わってる…?今日気付いたんですが2ヶ月掛かって更新されたってことでしょうか?
827 :デフォルトの名無しさん :2021/12/20(月) 14:36:16.49 ID:Xy/RGdSX.net うちのは10月末に変わってたよ。
828 :デフォルトの名無しさん :2022/01/15(土) 18:08:24.36 ID:OIci5frO.net web版のエディタが使いにくい。 ファイル+のとこのペイン?っていうの?あれが邪魔で小さくしたくてデベロッパーコンソールでイジってるんだけどどのcss変えれば小さくできますか?
829 :デフォルトの名無しさん :2022/01/17(月) 18:17:08.30 ID:ymAJekA/.net スライドからスクリプト開いてスクルプト書きました。 スライドからそのスクリプト実行したくて、onOpen()でスライド表示時の右サイドバーにスジュリプト起動ボタンを表示するようにしました。 ところが、スライド開いた時にこのonOpenが実行っされません。 トリガーに登録せよ!という情報もあったのですが、トリガー登録画面には、「スライドを開いた時」的なものは無く、 「カレンダーを開いた時」のようなものしかありませんでした。 スライドを開いた時に、スクリプト起動させるボタンのようなものを表示して、そこからスクチプトを起動したいです。 方法があれば教えてください。
830 :822 :2022/01/18(火) 10:50:27.27 ID:Y4BAPieC.net 解決しました。下記に載ってました。 Https://myfunc.jp/items/00015/index.html
831 :デフォルトの名無しさん :2022/02/20(日) 03:04:59.59 ID:kcCfXnh0.net 指定した文字列Aと背景色の2条件で集計したいのですが、書き方を教えて下さい。 文字列Aだけ、背景色だけ、などはいくつか見つけられたのですが、組み合わせ方が分かりません…。
832 :デフォルトの名無しさん :2022/02/21(月) 21:47:26.46 ID:UKJTHoUK.net https://script.google.com/ このページって何処からたどり着くんですか? googleドライブとかから新規にスクリプトを作成するのは出来るんですけど 何処にも上記のリンクが無いです
833 :デフォルトの名無しさん :2022/02/28(月) 14:47:01.29 ID:QEzJwIFm.net 出来そうで出来ないというか検索してもやりかたが見つからなかったので 知ってたら助けて欲しい 【やりたいこと】 エクセルファイルをGASでスプレッドシートに変換してスプレッドシートにする 但しエクセルファイルの各シートのセルにはエクセル特有の文法で記載された計算式や関数がふんだんに使われているものとする 【ひっかかっていること】 単純にGASでDriveAppやDrive.Filesを用いてエクセルファイルをスプレッドシートに変換するだけだと 変換されたスプレッドシートのセルにはエクセルの特有の文法で記載された計算式や関数が移植されてきただけで スプレッドシートではエクセル特有の文法で記載された計算式や関数は処理できないのでやりたいことが出来ない状態 なのでエクセルのセルに埋め込まれてる計算式で求められた計算値だけをスプレッドシートに移植したい
834 :デフォルトの名無しさん :2022/02/28(月) 20:31:28.47 ID:PjfLudyf.net 関数で計算されてるデータを全て数値などに置き換えた物をアップすれば簡単じゃね? データとして貼り付ければ一瞬だしマクロ組めるでしょ。
835 :デフォルトの名無しさん :2022/03/01(火) 18:33:50.02 ID:VTA82jsu.net そのエクセルが他から提出されてくるもので数百単位であるので 個々にそのマクロを仕込んだものを実行するというのは大変かなぁ できればエクセルはそのままで一括で読み込んで GASのなかでやっちゃいたい 無理げかなぁ
836 :デフォルトの名無しさん :2022/03/01(火) 18:59:33.32 ID:CkaReruZ.net そういう後だしするからアドバイスするだけ無駄ってのが出てくるんだよね
837 :デフォルトの名無しさん :2022/03/02(水) 20:59:04.21 ID:CHjRcKIO.net >>833 スプレッドシートでは処理できない、って言う時点でGASじゃ無理でしょ。 どうしてもやりたいなら、下記くらいしか思いつかない。 @その数式と同じ動きをする関数を自分でGASで実装する AWinのタスクスケジューラとか使って、VBAでExcel文字列化するなりCSV出力するなりして、それをGASでスプレッドシート化する。GoogleドライブアプリでWinとドライブを同期する
838 :デフォルトの名無しさん :2022/03/02(水) 21:59:04.64 ID:vYgwEkZg.net しょうがないから一つヒント 同じフォルダ、若しくは特定のフォルダに入ってるExcelのファイルを全て文字に変換して保存するマクロを組めばOK 何百あろうが一瞬 全てのブックの全てのシートへループでぐるぐる回すだけだから、そんなに難しくないよ
839 :デフォルトの名無しさん :2022/03/11(金) 16:04:46.03 ID:GfEhxdTj.net GASのソースコード内でタイムゾーンを変更することはできるのだろうか? GASのエディタにあるjsonに書いて指定するというのは見つけたが、それだとコード内でgoogleドライブから開いたスプレッドシートには適用されなかった GASのエディタではTokyoにしてても開いたスプレッドシートはPacificになってる
840 :デフォルトの名無しさん :2022/03/11(金) 21:23:44.78 ID:gLuUS5Uy.net それはスプレッドシート自体の設定いじる
841 :デフォルトの名無しさん :2022/03/11(金) 21:27:52.87 ID:gLuUS5Uy.net もしくはGoogleアカウント設定のプロフィールのタイムゾーンいじると それ以降作成したスプレッドシートはデフォルト変わってるはず
842 :デフォルトの名無しさん :2022/03/11(金) 21:31:24.19 ID:0mAcmeni.net >>841 デマ回答やめろ😡
843 :デフォルトの名無しさん :2022/03/16(水) 10:48:26.08 ID:JIpzCEZ0.net スプレッドシートの複数列を指定して二次元配列に入れる場合のやりかたはわかるんだけど 離れた二つの列を指定することって出来る? range = Sheet.getRange("D2:E1000"); array1 =range.getValues(); Logger.log(array1); 例えばこれだとD列2行目からE列1000行目までの2列分のデータを二次元配列に格納されるけど これをD列2行目からD列1000行目とN列2行目からN列1000行目のデータを二次元配列に入れたい D列とE列は隣り合ってるけど D列とN列は隣り合ってないからうまく実現できない
844 :デフォルトの名無しさん :2022/03/16(水) 11:31:39.30 ID:y8PMgdeo.net Rangeも配列で指定すればいいんじゃね
845 :デフォルトの名無しさん :2022/03/28(月) 04:13:33.54 ID:XbT1Q7Sk.net const files1 = DriveApp.getFolderById(folderId1).getFiles(); const files2 = DriveApp.getFolderById(folderId2).getFiles(); こんな感じで異なるフォルダに格納されてるファイルをgetFiles取得した場合 その結果のfiles1とfiles2を合体させてfiles3にするようなことってできる? いまだとファイルの数だけ繰り返すっていうのでfiles1を回すループ処理とfiles2を回すループ処理という感じで見栄えが悪いから 2つをマージしたfiles3を回すループ処理って感じにしたい
846 :デフォルトの名無しさん :2022/03/28(月) 09:02:53.32 ID:/mas85k3.net 無理なのでループ処理部分をメソッド化するなりしてどうぞ
847 :デフォルトの名無しさん :2022/03/28(月) 11:53:32.50 ID:XbT1Q7Sk.net えぇ〜… 残念
848 :デフォルトの名無しさん :2022/03/31(木) 12:20:31.27 ID:A0O2N5qb.net GASでセルの値を変更させて変更後の値を読み取ってって一連の処理をしたいんだけど 一連の処理が終わるまでシートに表示される値がリフレッシュされないらしく 処理としてはセルへ値を出力してるけど読み取る値が出力前の値になってる 強制的にシートに表示される値を最新にすることってできないの?
849 :デフォルトの名無しさん :2022/03/31(木) 13:19:55.86 ID:5pPwE+XM.net コードを貼れ
850 :デフォルトの名無しさん :2022/04/01(金) 06:42:07.95 ID:68FipywF.net setvalueで値をセルに入れるのってリアルタイム反映じゃなくて スタックしてて処理が終わるみたいな切りがいいところで まとめて反映する仕様じゃないのけ? クラウドベースの実行だからサーバー側の負荷軽減のためだと聞いたが コード云々でなんとかなるなら知りたい
851 :デフォルトの名無しさん :2022/04/08(金) 13:56:00.62 ID:PYg//+II.net getValues()で取得したのはrangeで指定したのが1列分のデータであっても2次元配列になっちゃうけれど getValues()の後ろに続けて.flat().filter(String).map(String) と付ければ1次元配列に変換できることを ネット上で検索してたら見つけた range = sheet.getRange("C2:C1000"); result = range.getValues().flat().filter(String).map(String); 実際に上記のようなコードで試したところ確かに1次元配列に変換はされてるけど 空白セルの要素が配列から消滅してしまってる "A","B","","F","D" 上記のように要素数5個で3番目の要素が空欄の配列が欲しいのだが "A","B","F","D" 上記のように空欄の要素が消滅して前詰めされた要素数4個になってしまってる 空白セルの要素も残したいんだけど、どうやったらいいのだろうか?
852 :デフォルトの名無しさん :2022/04/08(金) 18:27:03.86 ID:tiBN51P7.net >>851 filter()とmap()要らなくない?
853 :デフォルトの名無しさん :2022/04/08(金) 20:09:46.76 ID:PYg//+II.net >>852 そうなのかな ここの記事を読んだんだけど https://iwb.jp/google-apps-script-getvalues-two-dimensional-array-concat/
854 :デフォルトの名無しさん :2022/04/08(金) 20:12:32.05 ID:PYg//+II.net result = range.getValues().flat() とりあえず .filter以下を消したら望んでた結果は得られた模様
855 :デフォルトの名無しさん :2022/04/08(金) 20:16:40.07 ID:tiBN51P7.net >>853 この記事は空白除去してるじゃん
856 :デフォルトの名無しさん :2022/04/08(金) 20:28:36.27 ID:uSpd3hvB.net セルに手入力された5:22とか8:24とかの見た目時間になってる単なる文字列を使って 時間の足し算をしたいんだが、なんかいいアイディアはないだろうか?
857 :デフォルトの名無しさん :2022/04/08(金) 20:30:57.57 ID:TDBa7GsZ.net 足し算自体はスプレッドシート上の計算式ではなく 値だけ変数に入れてhas上でやりたい
858 :デフォルトの名無しさん :2022/04/14(木) 12:07:06.46 ID:l9jSNk17.net スプレッドシートに数十個のボタンを図形描画してスクリプトの割り当てをしたんだが何回設定しても いつのまにかスクリプトの割り当てで割り当てたスクリプトが空欄に戻ってしまう これって何か制限があったりするのだろうか 一通り設定して最初のボタンから確認していくと空欄に戻ってしまってて ボタン押しても反応しない 設定した直後にボタン押すときはスクリプトが動いてるから最初から設定できてないわけではない
859 :デフォルトの名無しさん :2022/05/24(火) 07:38:06.26 ID:78erdOqF.net ClassroomAPIを使って ----- Classroom.Courses.CourseWork.list(クラスルームのID).courseWork.forEach(w =>{ 〜〜〜〜〜〜 }) ----- ってかんじで受講しているクラスで出された課題それぞれに対して処理をしているんだけど、 これだと提出済み課題に対しても処理してしまう。 提出済みか判定して、除外するためにはどうしたらいい?
860 :デフォルトの名無しさん :2022/05/27(金) 11:50:40.73 ID:S0cy91Tb.net 提出済みか判定して、除外す提出済みか判定して、除外すればいい
861 :デフォルトの名無しさん :2022/05/28(土) 11:07:36.06 ID:81XaDMLN.net FastAPI OCID
862 :デフォルトの名無しさん :2022/05/30(月) 11:13:52 ID:Z6OL71NL.net Google Apps Web API https://www.youtube.com/watch?v=i80Dy6PwWqE
863 :デフォルトの名無しさん :2022/07/22(金) 09:02:24.10 ID:CcjlX4kF.net 質問します ローカルにあるファイルをメールに添付して 指定時間に送信するみたいなことを gasでやりたいのですが、 ローカルファイルをGoogleドライブに取り込むところから躓いてます こういうやり方があるよ、とかこのHPが参考になる、みたいなのはありますか?
864 :sage :2022/07/28(木) 15:18:39.59 ID:5gdZfTov.net m5stackでボタンを押す → スプレッドシートに書き込み → 編集をgmailで送信 というのをしたいなと。 参考にしたのはこのページ https://knt60345blog.com/m5stack-googlespreadsheet/ 要はボタンを押すとスマホに通知がくるシステムを作りたいのです。ところがgmailの送信がされません。 やったこと 1.スプレッドシートに編集があったときに通知する → 手入力だと通知される。しかし、scriptによる編集では通知されない。 2.gas上で編集をトリガーにしてsendgmailを使う →失敗。おそらく1と同じ理由 3.スプレッドシートを編集するスクリプトの中にsendgmailを記述する →編集はされるがメールは送信されない sendmailの使い方を間違えているのかと思いましたがメールを送るだけのコードを実行するときちんと送れていました。 ヒントをもらえるとありがたいです。よろしくお願いします。
865 :デフォルトの名無しさん :2022/08/03(水) 00:57:44 ID:Mtys3/qj.net >>863 簡単なのはGoogle DriveアプリでPCと同期させる方法かと思います。
866 :デフォルトの名無しさん :2022/08/03(水) 15:39:22.24 ID:IS1ZoKH3.net >>863 ローカルファイルと言うことはトリガー実行じゃないんだよね? どういう操作を想定してるのかわからんけど、HTMLでダイアログ表示させるかdoGetでHTMLを表示させて そのHTMLとJSでローカルファイルは読めるよ https://tonari-it.com/gas-dialog-basic/ >>864 これで普通に出来たぞ function doPost() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1'); var range = sheet.getRange('A1'); var values = range.setValue('hoge'); GmailApp.sendEmail('test@example.com', 'subject', 'body'); }
867 :デフォルトの名無しさん :2022/08/04(木) 08:31:05.67 ID:CP8sLsBT.net >>865-866 回答ありがとうございます もう回答もらえないのかな?と諦めておりました 実はローカルファイルをトリガー実行(時間指定)でメールに添付させたいというのが希望する処理なのです グーグルドライブアプリからならキーも取れそうですね 会社からグーグルドライブアプリの設置許可貰えたらやってみます
868 :デフォルトの名無しさん :2022/08/26(金) 19:09:52.12 ID:fCaJRqVr.net 祝 有料化
869 :デフォルトの名無しさん :2022/08/26(金) 20:13:08.31 ID:shwkM977.net >>868 なんだそれ怖いこと言うなよ ソースどこ?
870 :デフォルトの名無しさん :2022/08/31(水) 11:27:16.40 ID:8zP5mkRm.net googleSpaceのタスクにGASでタスク登録って可能? 登録しようとしても GoogleJsonResponseException: API call to tasks.tasks.insert failed with error: Invalid task list ID って吐かれる IDはスペースのURL末尾を使ってる
871 :デフォルトの名無しさん :2022/09/15(木) 22:22:03.06 ID:ZhCJ57CK.net しばらく触ってないうちにスクリプトエディタが変わっていたんですが、新しいエディタでプロジェクトのコピーを保存したい場合ってどうしたら良いんでしょうか? 自作のスクリプトを使ってもらうのにコピーを保存してもらっていたので代わりの方法を探しています
872 :デフォルトの名無しさん :2022/10/25(火) 20:43:00.01 ID:czhOEshi.net Googleスプレッドシートの件で質問します。 A11からF11の列に、IMPORTRANGE()によって、他のスプレッドから取り込んだデータが入っています。行の数は未定(約300件ぐらい)です。 このままでは、元データのシートが更新されると、合わせてデータも更新されてしまいます。 この現在表示されているセルの値をそのまま、文字列としてセルに上書きするコードを記入したいのですが、どのように記述するとよいでしょうか?
873 :デフォルトの名無しさん :2022/10/26(水) 01:21:01.31 ID:Dg1k8nd7.net やりたいことがわからないのでもう少し詳しく書いてください
874 :865 :2022/10/26(水) 02:36:10.71 ID:wuQKMR4S.net すみません。自己解決しました。 スレ汚し申し訳ありませんでした。
875 :デフォルトの名無しさん :2022/10/26(水) 11:11:50.28 ID:t4LQIfXs.net 謝るより原因や解決方法を書いていってほしい 質問と解決法が揃ってればスレ汚しにならない
876 :デフォルトの名無しさん :2022/11/19(土) 22:03:44.91 ID:7xWc9dNP.net 初心者で勉強中ですがplain bodyとかの正規表現が難しくて泣きそう
877 :デフォルトの名無しさん :2022/12/16(金) 21:50:55.76 ID:/69Su096.net 1日一回gmailの中のメールをフィルタリングして集計してメールを遅るスクリプトを動かしてます。 今日までは毎日1回動いてましたが 本日近い時間帯で4回トリガーされていました。 このようなことが起こった方他におられませんでしょうか。
878 :デフォルトの名無しさん :2022/12/17(土) 09:05:35.61 ID:CgXXVcB1.net >>877 調べてみるのでソースだせる?
879 :デフォルトの名無しさん :2023/01/16(月) 23:18:09.81 ID:XkS+UaR1.net ボタンを押下したらテーブルを表示させたいんだけど、どうすればいいのでしょうか?
880 :デフォルトの名無しさん :2023/01/17(火) 00:42:43.29 ID:fU/PH7pE.net 質問ざっくりしすぎ
881 :デフォルトの名無しさん :2023/01/18(水) 09:15:14.72 ID:NRwxJvcS.net 毎月の商品ごとの売上グラフを作ってるんですけどAには赤、Bには青、Cには黃というように色指定は出来ますか? グラフの並び順に1番目から赤、青、黃という順序では出来るんですけど、順番が変動しても大丈夫にしたいです A2= if "A", Red "B", Blue "C", Yellow みたいに出来たらいいなと思ってます
882 :デフォルトの名無しさん :2023/01/20(金) 23:25:45.84 ID:E/iTFMTm.net 二次配列の中の特定要素を一個だけじゃなくて任意の数があるか確認する方法ってある?
883 :デフォルトの名無しさん :2023/01/21(土) 01:05:54.74 ID:tr5Udobt.net どういうこと? 何か日本語不得意なやつ多すぎね? 上手く質問できないなら具体例を書けよ 例えば [ [1, 2, ...], [3, 4, ...] ] という二次元があったとき、 ○○が○○であることを確認する方法ってある? みたいな
884 :デフォルトの名無しさん :2023/01/21(土) 04:21:13.49 ID:a0kfmYv3.net 日本語というかこういうのはちゃんと説明できないからコード書けないんでは
885 :デフォルトの名無しさん :2023/01/21(土) 16:40:27.15 ID:/REhm/9K.net ボタンが押下されたら表が動的に表示されるようにしたいのですが、動的に作成された表の値がundefinedになります。 下記の通りに書いたのですが、何故undefinedになるのでしょうか? <script> function displayTable() { var htmlTable = google.script.run.getTable_Area(); document.getElementById("createdTable").innerHTML = htmlTable; } </script> function getTable_Area() { return '<table>' + '<thead>' + '<tr>' + '<th>Result</th>' + '</tr>' + '</thead>' + '<tbody>' + '<tr>' + '<td>Date</td>' + '<td><input value=<?= new Date();?>></input></td>' + '</tr>' + '<tr>' + '<td>Area</td>' + '<td><input value=<?= getArea();?>></input></td>' + '</tr>' + '</tbody>' + '</table>'; }
886 :デフォルトの名無しさん :2023/01/21(土) 20:12:40.75 ID:tr5Udobt.net >>885 パッと見だけど displayTableはフロント側の関数だよね getTable_Areaはgoogle.script.run経由で呼び出してるからgs(バックエンド側)の関数だよね google.script.runはwithSuccessHandlerのコールバックでレスポンス受け取るから、変数htmlTableはundefinedになるんじゃね?
887 :デフォルトの名無しさん :2023/01/21(土) 21:05:36.17 ID:EDO4fSiJ.net >>886 >displayTableはフロント側の関数だよね >getTable_Areaはgoogle.script.run経由で呼び出してるからgs(バックエンド側)の関数だよね はい。それぞれフロントとバックエンド側になります。 withSuccessHandlerを以下の通りに使用し、実行したところundefinedは表示されなくなったのですが、表が表示されないということはcalculateArea()の書き方がいけないのでしょうか? <script> function calculateArea() { var htmlTable = ""; google.script.run.withSuccessHandler(function(data) { htmlTable = data; }).getTable_Area(); document.getElementById("createdTable").innerHTML = htmlTable; } </script>
888 :デフォルトの名無しさん :2023/01/21(土) 21:11:08.81 ID:tr5Udobt.net >>887 こうしてみて function calculateArea() { google.script.run.withSuccessHandler(function(data) { document.getElementById("createdTable").innerHTML = data; }).getTable_Area(); }
889 :デフォルトの名無しさん :2023/01/21(土) 22:20:43.38 ID:EDO4fSiJ.net >>888 ありがとうございます!表が表示されるようになりました! もし可能であれば、もう1点教えていただきたいのですが、 上記 function getTable_Area()には '<td><input value=<?= getArea();?>></input></td>' のようにgetArea()などの関数を表が作成される際に呼ばれるよにしています。 しかし、表示されたタブをみてみると <input value="<?=" getarea();?=""> になっており、エスケープ処理?がされているみたいです。 実際にアプリを開発する際は、何か別の方法でinputの値に関数の戻り値を代入しているのでしょうか?
890 :デフォルトの名無しさん :2023/01/21(土) 22:36:15.48 ID:tr5Udobt.net >>889 そのgetAreaはどっちの関数? フロント?バック?
891 :デフォルトの名無しさん :2023/01/21(土) 22:50:23.61 ID:EDO4fSiJ.net >>890 バック(gs)になります。
892 :デフォルトの名無しさん :2023/01/21(土) 22:59:56.13 ID:tr5Udobt.net >>891 これで良くない? function getTable_Area() { const a = new Date(); const b = getArea(); return '<table>' + '<thead>' + '<tr>' + '<th>Result</th>' + '</tr>' + '</thead>' + '<tbody>' + '<tr>' + '<td>Date</td>' + '<td><input value="' + a + '"></input></td>' + '</tr>' + '<tr>' + '<td>Area</td>' + '<td><input value="' + b + '"></input></td>' + '</tr>' + '</tbody>' + '</table>'; }
893 :デフォルトの名無しさん :2023/01/21(土) 23:07:30.06 ID:EDO4fSiJ.net >>892 なるほど。そのようにすればよかったのですか。 ありがとうございます!大変勉強になりました!
894 :デフォルトの名無しさん :2023/01/21(土) 23:20:48.89 ID:tr5Udobt.net >>893 全く説明してなくてごめんね テンプレートリテラル使うともっと簡潔に書ける https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Template_literals あと同期/非同期がわかるといいね
895 :デフォルトの名無しさん :2023/01/21(土) 23:41:09.53 ID:EDO4fSiJ.net >>894 いえいえ。重ね重ね、ありがとうございます! テンプレートリテラルを勉強して使ってみようと思います。 またご推察の通り、同期の問題も発生しておりますので、それも合わせて勉強してみます。
896 :デフォルトの名無しさん :2023/01/22(日) 09:05:30.28 ID:1NpPY/pK.net ERB(埋め込み・Embedded RuBy)なら、HTML 内で、 <% 〜 %> でRubyのコード片を実行するだけ(出力はしない)。 <%= 〜 %> でRubyのコード片を実行して出力する 例えば、a.html.erb が以下なら、 <% ary = [ "<a>", "あ" ] %> <% ary.each do |item| %> <input type="text" value="<%= item %>"> <% end %> a.html は、以下のように出力される <input type="text" value="<a>"> <input type="text" value="あ">
897 :デフォルトの名無しさん :2023/01/25(水) 19:23:10.13 ID:EJwoBEnK.net test
898 :デフォルトの名無しさん :2023/01/25(水) 19:23:43.80 ID:EJwoBEnK.net やりたいこと: Maps.newStaticMap()で作成した画像?をHTML上に表示させたい。 試したこと: index.htmlから呼ばれるtest.gsの関数内で var googleMap = Maps.newStaticMap().setCenter(centreY,centreX) を定義して return googleMap.getMapUrl(); でそのURLを取得しました。 そのURLをHTMLのIMGタグに <img src="〇〇〇" width="100px" height="100px"> と入れても画像が表示されませんでした。 HTML上でbodタグの中に画像を表示させようとしているのですが、ファイルアイコンが半分に敗れたものが表示されています。
899 :デフォルトの名無しさん :2023/01/26(木) 03:32:17.94 ID:n/mKepPR.net >>898 getUrlで取得されたURLにあるものって画像じゃないよね 画像じゃないものをimgタグにセットしても表示されないよ URLにあるものを画像化するか iframe使って表示させるか(未検証) どっちかのアプローチじゃないかな
900 :デフォルトの名無しさん :2023/01/26(木) 04:58:55.72 ID:p3aeborJ.net >>899 わかりました。 ありがとうございます。
901 :デフォルトの名無しさん :2023/02/02(木) 21:14:34.93 ID:d3AVgBUi.net GAS愛好家のみなさん ContactsAppからPeopleAPIへの移行状況はいかがですか? 勝手が違いすぎてよーわからん 公式すらあんまり情報ないしマトモな記事載せてるサイトもないですよね
902 :デフォルトの名無しさん :2023/02/03(金) 12:45:44.80 ID:0b57qUmd.net スプレッドシートについての質問をさせてください 条件付き書式で、フォントサイズを変更するにはどうしたらいいでしょうか 表で一定の値の数字以上はフォントサイズが大きくなる、という仕様にしたいです
903 :デフォルトの名無しさん :2023/02/05(日) 16:08:42.77 ID:2ccsuJcO.net >>901 どうぞ。 https://officeforest.org/wp/2023/02/03/google-apps-script%e3%81%a7contact%e3%82%92people-api%e3%81%a7%e5%bc%84%e3%82%8b/
904 :デフォルトの名無しさん :2023/02/15(水) 16:03:34.65 ID:b8FtSvc2.net GASじゃなくてスプレッドシートなのだけど、 検索窓閉じた時検索結果に跳ぶの避けられませんかね。
905 :デフォルトの名無しさん :2023/02/18(土) 13:58:20.49 ID:W3nKwjDO.net やりたいこと スプレッドシートに沢山ある あ い う とかいう文字列を i[あ.い.う...] t[a.b.c...] という配列使って一度に置換作業がしたい。 i[1]→t[1]みたいな感じで。 replafeとforの組み合わせでなんとかなるかな?と思ったのですが、リファレンス読む限りreplace(a,b)の置換のa部分に変数を用いることは出来ないようなので他の方法を探しています。 ご教授頂きたく。
906 :デフォルトの名無しさん :2023/02/18(土) 18:58:41.14 ID:W3nKwjDO.net >>905 自己解決。 というか諦めて別シートに呼び出した後substituteとxlookupの組み合わせで無理やり置換したのを表示させました。
907 :デフォルトの名無しさん :2023/02/19(日) 14:19:59.95 ID:bukleA+Y.net >>905 日立?
908 :デフォルトの名無しさん :2023/02/19(日) 22:06:54.53 ID:sztA44Ir.net >>905 spliceで置き換える https://gray-code.com/javascript/replace-item-for-array/
909 :デフォルトの名無しさん :2023/02/20(月) 02:05:22.77 ID:6OqVkYRD.net >>908 ありがとうございます!spliceメソッド使ってみます。 その前に1つずつ検索かけるのに手古摺ってますが、なんとかやってみたいと思います。
910 :898 :2023/02/20(月) 16:04:41.81 ID:4jGYSd8p.net 駄目でした… includesにしてもmatchにしても配列[ ]で指定するとうまく動いてくれません。 配列を作らずfor文で無理やりセルを置換させるという荒業で解決しましたが時間がかかり過ぎて実用的でなく。 やりたいこと table[[あ],[か],[さ],[た]...] before[あ][い]... after[ア][イ]... 以上の配列があり、 tableに対しbefore[i]を総当りで検索し一致したらafter[i]に置き換える。
911 :デフォルトの名無しさん :2023/02/20(月) 18:43:52.85 ID:czK6pNoa.net >>910 やりたいことがいまいちわからん こういうこと? # ひらがなをカタカナに変換 table = [['あ','ア'], ['い','イ'], ['う','ウ'], ['え','エ'], ['お','オ'] ]; before = ['あ','い','う','え','お']; after = before.map(b => table.find(a => b === a[0])[1]);
912 :898 :2023/02/20(月) 18:49:29.88 ID:83YdaF3i.net ありがとうございます。配列の中身は適当です…。 表と配列2種類の3つの要素があって、表にある配列1の要素を見つけたら配列2に置き換えるということをしたかったのです。 ですがお陰様でなんとかなりました! 二次元配列をflat()で一次元にして、splice使いました。 その後再度2次元配列に戻して元の形に直しました。
913 :898 :2023/02/21(火) 00:26:18.85 ID:B3qxCQs3.net >>911 mapメソッドはまだ理解できておらず…。 その一行で終わらせられるように勉強していきたいと思います。 結局以下のようになりました。ご教授ありがとうございました。 //1次元配列への変換。 let array = array.flat(); //array[x]とbefore[i]が一致したら置換(before→after) for(let x = 0 ; x < array.length ; i++ ){ for(let i = 0 ; i < before.length ; i++ ){ if(array[x] == be[i]){ array.splice(x,1,after[i]); } } //2次元配列に再変換、あとで貼付する。 let array2 = []; let numOfElements = 6;//表の元のTableが6列あったので。 for(let t = 0; 0 < array.length ; t){ array2.push(array.splice( t, numOfElements )); }
914 :デフォルトの名無しさん :2023/02/21(火) 02:43:28.40 ID:6tAoYaOK.net >>913 flat使わなくてもいい for(let i = 0; i< array.length; i++) { for(let j = 0; j< array[i].length; j++) { if(before.includes(array[i][j])) { array[i][j] = after[before.indexOf(array[i][j])]; } } } map使うなら array2 = array.map(r => r.map(c => before.includes(c) ? after[before.indexOf(c)] : c));
915 :898 :2023/02/21(火) 08:58:31.52 ID:B3qxCQs3.net >>914 そのarray[i][j]の[j]を入れるとindexOfにしてもincludesにしてもうちの環境?では何故かエラー出て読み込めなかったんですよ。( 確かcannot read properties of undefinedだった筈) それ外すとエラーなく読んだので仕方なくflat入れた次第です。 因みに arrayX=array[x] arrayY=array[y] みたいに入れ子しても駄目でした。
916 :898 :2023/02/21(火) 09:10:16.56 ID:B3qxCQs3.net 確認したらエラー全然違うし書いてること散々でした 訂正 出てたエラーは多分is not defined 下の入れ子は arrayX=array[x] arrayY=arrayX[y] みたいにしても同じエラーだったかと。
917 :デフォルトの名無しさん :2023/02/21(火) 23:07:45.74 ID:6tAoYaOK.net >>915 >そのarray[i][j]の[j]を入れるとindexOfにしてもincludesにしてもうちの環境?では何故かエラー出て たぶん配列の添字が範囲外になってるんだろうけど for文よりfor ofとかforEachのほうがシンプルにかける const array2 = []; for(let row of array) { let cols = []; for(let col of row) { if(before.includes(col)) { cols.push(after[before.indexOf(col)]); } else { cols.push(col); } } array2.push(cols); } const array2 = []; array.forEach(function(row, i) { row.forEach(function(col, j) { if(before.includes(col)) { array[i][j] = after[before.indexOf(col)]; } }); });
918 :デフォルトの名無しさん :2023/02/21(火) 23:08:33.93 ID:6tAoYaOK.net あと上のmapは省略しすぎてわかりにくかったのでアロー関数と三項演算子をやめたらこうなる const array2 = array.map(function(row) { return row.map(function(col) { if(before.includes(col)) { return after[before.indexOf(col)]; } else { return col; } }); });
919 :898 :2023/02/22(水) 11:50:37.27 ID:7vReBJfV.net >>917-918 何度もありがとうございます。 仰るとおり2度目の添字は一切読み込んでくれないので… >>918 のmap参考にしながら勉強させていただきます。 とりあえず長くなってしまったのでこの辺りで。また不具合出てきたら改めて質問したいと思います。 ありがとうございました!
920 :デフォルトの名無しさん :2023/02/28(火) 21:38:42.26 ID:8PRLUyLU.net スプレッドシートの共有で閲覧権限を持っている人の 印刷は可能でファイルのダウンロードだけ禁止することは可能でしょうか?
921 :デフォルトの名無しさん :2023/03/01(水) 10:13:26.28 ID:NPxLOyBL.net 共有アイテムのファイルにスターをつける方法を教えてください 宜しくお願いしますm(_ _)m
922 :デフォルトの名無しさん :2023/03/01(水) 14:17:21.21 ID:csCK6+UB.net sheetクラスを取得する方法ってgetSheetByNameとgetActiveSheetしかないよね? getSheetBySheetIdがないのが謎なんだけどシートはシート名で管理するしかない?
923 :914 :2023/03/12(日) 00:26:03.80 ID:ZZBXPzbK.net >>921 自己解決しました
924 :デフォルトの名無しさん :2023/03/24(金) 19:19:34.21 ID:GCLzu5nr.net Rangeオブジェクトから、セルアドレスの文字列を取得したい場合 Excelならr.Address()で相対参照や絶対参照を取得できますが GASで同じようなことできるメソッドあります? getA1Notation()だと相対アドレスでしか取得できないようで…
925 :デフォルトの名無しさん :2023/03/24(金) 20:40:28.68 ID:h6PMjTMa.net >>924 よく分かってないけどそれ意味あるの? ただの文字列なんだから相対も絶対もないような
926 :デフォルトの名無しさん :2023/03/25(土) 11:52:56.28 ID:TC3JXJ5y.net >>925 例えば A1のRangeオブジェクトから $A$1という文字列を取得できないかなと GASから条件付き書式を設定するのに使いたいです なぜ使いたいかというと 複数人で編集してコピペを繰り返すと条件付き書式が破壊されてしまうので それを上書きリセットするためです 逆に、条件付書式だけロックかけて切り取ったり貼り付けたり出来ない設定ができるならそれで十分なのですが…
927 :デフォルトの名無しさん :2023/03/25(土) 17:53:03.57 ID:nYxwu6kr.net >>926 >複数人で編集してコピペを繰り返すと条件付き書式が破壊されてしまうのでそれを上書きリセットするためです 通常の書式ならonEditで変更されたセルの書式を変更するだけでいいけど 条件付き書式をGAS上で扱ったことなかったから調べたけどちょっと面倒だね そんでよくよく考えてみたらそもそもGAS使うならonEditで書式変更すればいいだけだから条件付き書式を使う必要がないと思った
928 :デフォルトの名無しさん :2023/04/04(火) 12:37:38.49 ID:dAPefWGR.net スプレッドシートにスクリプト作成して権限付与して動作するように設定したあと そのスプレッドシートをコピーするとスクリプトもコピーされるようですが スクリプトの権限やトリガーは設定しなおしが必要のようです。 イメージ的には、vba付のExcelをコピーして別ファイルとして保存して 毎月のデータを作成していく、みたいなことがしたいんですが その辺コピーするだけで全部引き継がれるみたいな設定ないのでしょうか?
929 :デフォルトの名無しさん :2023/04/11(火) 18:45:08.89 ID:u8YBlLPL.net 類似画像を判別できるようなライブラリとか公開されてるコードありますか? 検索するとpythonだとImageHashってライブラリがあるんだけどGASで同じようなことしたい
930 :デフォルトの名無しさん :2023/04/21(金) 16:25:28.26 ID:vnxhj4My.net ごめんgoogleスプレッドシートの質問スレがみつからずこちらで質問させてください。 シートのある列をユーザーごとの閲覧を制限かけたい 有効な方法ありますか?
931 :デフォルトの名無しさん :2023/04/21(金) 16:53:56.40 ID:8VcMj5ya.net 閲覧の制限はファイル単位でしか出来ないでしょ シート、セル(列/行)単位は編集の制限しか出来ない
932 :デフォルトの名無しさん :2023/04/21(金) 17:40:05.18 ID:vnxhj4My.net ありがとうございます。 確かに「表示」→「保護されている範囲」でできそうだったけど。やっぱりだめでした。 諦めて、もう一つリンクしたファイルのシート作ってそちらに閲覧されたくない列を追加します。
933 :デフォルトの名無しさん :2023/05/02(火) 21:52:22.95 ID:39G20EoK.net Googleカレンダーに予定を追加するプログラムを使ってるんだけど、「場所を追加」ちゃんと場所を追加したいです 以下詳細 普通に手作業でGoogleカレンダーに予定を追加するときは、「場所を追加」に場所の名前を入力すると候補が出てきて、そこから選ぶと、そこに間に合うためには何時に家を出ればいいかの通知が来たり、Android版のGoogleカレンダーだと予定の背景がその場所の写真になったりします。 で、GASで予定を追加するとき、場所を指定するためにGoogleマップのURLを使ってるんだけど、それだとURLが表示されるのみで、上記の通知とか背景写真とかが実行されません。 公式ドキュメントでも {location: 'Conference Room'}とされており、Googleマップ上の場所を使う気がなさそうです。 ちゃんとした「場所の追加」は、ウェブ上でマウスで操作しないとできないのでしょうか?
934 :デフォルトの名無しさん :2023/05/03(水) 00:25:10.26 ID:2fvruydV.net >>933 URLじゃなくてその場所の名前か住所、もしくは緯度経度を入れればいいんじゃないの?
935 :デフォルトの名無しさん :2023/05/03(水) 03:09:39.55 ID:CT7gAj9T.net >>934 それが名前や住所を入れても、その文字列が表示されるだけのようです こんな感じ https://i.imgur.com/pn88z8w.jpg ブラウザかアプリで場所を選択した時には場所と認識されるのか、こう表示されます https://i.imgur.com/k3K5mhe.jpg
936 :デフォルトの名無しさん :2023/05/16(火) 22:03:10.90 ID:9Kd/3stA.net ゲッ!!(/||| ̄▽)y-ξ⌒◇ヾ( ̄  ̄;)ジュッ
937 :デフォルトの名無しさん :2023/07/08(土) 12:42:20.50 ID:CwJ0Byq0.net 質問させてください Googleフォームの送信時イベントで入力された値を取るために イベントを作成しましたが、どうしてもイベントパラメータがnullになってしまいます Webページにあるサンプルではeからいろいろな情報が取れるように書かれているのですが、nullとなってしまう理由がわからずに困っています function myFunction(e) { Logger.log("myFunction start") Logger.log(e) } — ログ 12:27:10 お知らせ 実行開始 12:27:10 情報 myFunction start 12:27:10 情報 null 12:27:10 お知らせ 実行完了
938 :デフォルトの名無しさん :2023/07/08(土) 17:00:03.61 ID:IeBiUrvH.net >>937 トリガーの設定してる?
939 :デフォルトの名無しさん :2023/08/22(火) 23:04:26.43 ID:+ZplHR9+.net GASではなく、スプレッドシートの質問なのですが、もし適切なスレッドがあったら誘導お願いします セルに例えば「130409.67」と入力し、 表示形式>数字>通貨(端数切り捨て) に設定すると、小数点以下が切り捨てではなく四捨五入されてしまいます。 これはなにか私の使い方がおかしいのでしょうか? また、他の方法でも良いので、内部的には小数点を保持しつつ、表示上だけ小数点以下を切り捨てる(非表示)する方法があれば教えてください。宜しくお願いします。
940 :デフォルトの名無しさん :2023/09/10(日) 09:27:06.36 ID:yM7j2B0I.net オhル
941 :デフォルトの名無しさん :2023/09/22(金) 13:52:01.19 ID:dkRHHNCe.net GTKは糞
942 :デフォルトの名無しさん :2023/09/24(日) 09:36:46.05 ID:2YTVyUlC.net 君は失格 やり治せ
943 :デフォルトの名無しさん :2023/10/20(金) 12:46:49.67 ID:/M3RKJCH.net GAS抜きで
944 :デフォルトの名無しさん :2023/10/20(金) 20:23:13.56 ID:c9EoYnQA.net >>939 =trunc(3.14, 0) で3と表示されるはず
945 :デフォルトの名無しさん :2023/10/31(火) 16:30:00.40 ID:qmiHWWBC.net >>944 ありがとうございます それを入力したセル(A1)の隣に、 =A1×8 とすると、24と出るので、内部で小数点以下を保持してないようです
946 :898 :2023/10/31(火) 17:43:19.30 ID:F7pL/7Za.net >>945 truncは切り捨てかな。 というかカスタム表示形式の # じゃ駄目なん?
947 :デフォルトの名無しさん :2024/03/10(日) 15:35:26.40 ID:H28l+VF2.net スプレッドシートについての質問です。 SBI証券のマイページからポートフォリオのcsvファイルをダウンロードすることができます。 GASにより、自動で、ポートフォリオの円グラフを作りたいのですが、スクリプトはコンテナバインドではなくスタンドアローンでないと駄目でしょうか? 毎日、csvファイルをダウンロードして、円グラフを描く予定なので、コンテナバインドだと駄目ですよね?
948 :デフォルトの名無しさん :2024/03/10(日) 15:38:07.27 ID:H28l+VF2.net でもスタンドアロンにすると、スプレッドシートを開くときに、ファイルのIDを指定しないと駄目ですよね。 このIDが毎日変わることになると思いますが、この部分をどうすれば楽ができるでしょうか?
949 :デフォルトの名無しさん :2024/03/10(日) 15:55:50.28 ID:vw/rAwFk.net なんでコンテナバインドじゃだめなの? トリガーで1日1回実行すればいいんじゃないの
950 :デフォルトの名無しさん :2024/03/10(日) 16:29:51.77 ID:H28l+VF2.net >>949 自動でダウンロードして来るとかそういうことを想定していますか? そういう技術はありませんので、手動でダウンロードしてきて、Google Driveにアップロードする。 これを毎日やろうと考えています。 そうするとファイル自体が毎日変わりますし、IDも変わってしまうのではないかと思います。 バインドを新しい他のファイルに引き継ぐことはできませんよね?
951 :デフォルトの名無しさん :2024/03/10(日) 16:50:03.03 ID:vw/rAwFk.net >>950 ファイルIDが変わってもファイルを保存するフォルダが固定なら そのフォルダのファイル一覧を取得すればいいんでは?
952 :デフォルトの名無しさん :2024/03/10(日) 17:01:06.12 ID:H28l+VF2.net >>951 なるほど、ありがとうございました。 そういうことができるんですね。 ということは、スタンドアロンである固定したフォルダからファイルの一覧を取得する。 SBI証券からダウンロードしてきたcsvファイルは、その日の日付をファイル名とする。 ファイルの一覧からその日の日付のファイルをオープンして、円グラフを作成する。 ありがとうございました。
953 :デフォルトの名無しさん :2024/03/11(月) 11:33:26.37 ID:Voh59fAx.net csvファイルに、 '+7441000 というデータがあります。 これをSpreadsheetとしてインポートすると、セル上で +7441000 と表示されます。 先頭に「+」がついていますが、扱いは文字列ではなく、数字です。 この「+」をGASを使って削除したいのですが、どうすればいいでしょうか? このセルを選択した状態で「fx」の右隣をみると「'+7441000」となっています。
954 :デフォルトの名無しさん :2024/03/11(月) 21:30:14.93 ID:Voh59fAx.net >>953 なんとか解決しました。
955 :デフォルトの名無しさん :2024/04/04(木) 12:51:32.09 ID:q67OTvc3.net getUi().showModelessDialog()の挙動おかしくなった? 他をクリックしたら閉じるようになったし移動も出来なくなった バグですか?
280 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★
本文 スレッドタイトル 投稿者