1 名前:デフォルトの名無しさん mailto:sage [2014/06/29(日) 11:07:03.38 ID:5HmND7Qc.net] Google Apps Script でのプログラミング等に関する質問スレです Excel や Access の VBA に不満のあるあなた web アプリだけでなくクライアントアプリからも利用したいあなた ローカルなデータベースやファイルだとバックアップに不安のあるあなた ム板に無かったので立ててみます Google Apps Script ttps://developers.google.com/apps-script/ Google Drive API ttps://developers.google.com/drive/ Getting Started with the Google Data Python Library ttps://developers.google.com/gdata/articles/python_client_lib ■関連スレ Google Maps API 質問箱 peace.2ch.net/test/read.cgi/tech/1131627583/ Microsoft SkyDrive API peace.2ch.net/test/read.cgi/tech/1385604796/ 【GoogleAppsScript】猿92【研究せよ!!!】 nozomi.2ch.net/test/read.cgi/php/1398600864/ GoogleAPIってどうよ? nozomi.2ch.net/test/read.cgi/php/1018614427/ Google App Engine for Python 6アプ目 nozomi.2ch.net/test/read.cgi/php/1358570953/ Google App Engine for java peace.2ch.net/test/read.cgi/tech/1317639323/ GoogleWebToolkit[GWT]について語ろう nozomi.2ch.net/test/read.cgi/php/1147975874/
809 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2021/08/10(火) 11:13:59.22 ID:9wi/dlAk.net] GAS には、ユーザー認証機能があるの? 認証は、Firebase Authentication じゃないの?
814 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2021/08/19(木) 08:07:07.49 ID:hKprbQAC.net] >>814 何も調べてないうえにやったこともないけと、文脈から察すると Logger.log(pivotValue.getValue()) じゃない?
816 名前:デフォルトの名無しさん mailto:sage [2021/08/19(木) 12:03:47.46 ID:l+iKsjPF.net] >>815 getValue()は使えないみたいなんですよね、not a functionになって getValueでしてみたらnullが帰ってきて謎... ぐぐってもサンプルが出てこなくてまいりましたわ
817 名前:デフォルトの名無しさん mailto:sage [2021/08/19(木) 13:20:16.21 ID:JpyvyW0f.net] 公式のリファレンス読みなさい
818 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 00:47:48.09 ID:Qk99MJFD.net] >>811 Webアプリのコードで自分の分だけしかアクセスできないように書けばいいだけだろ? それともクライアントから任意のコードをサーバ側で実行させられるわけなの?
819 名前:デフォルトの名無しさん mailto:sage [2021/10/13(水) 01:39:22.36 ID:sH5qc9+o.net] >>818 何言ってだ
820 名前:デフォルトの名無しさん mailto:age [2021/10/17(日) 20:46:12.87 ID:Nd7q+jNJ.net] ピボットテーブルで出力したテーブルの特定の文字列のセルを非表示にしたいのですが やり方が御座いましたらご教示お願いいたします 条件付き書式で一致すれば文字を白にするといった「見えなくする」ではなく セルをコピーしてもコピーされない状態にしたいです よろしくお願いいたします
821 名前:デフォルトの名無しさん mailto:sage [2021/11/01(月) 23:15:46.54 ID:Q50KTbzj.net] 公式見てもわからなかったんですが、 新しいスプレッドシートを作る関数→できる そのスプレッドシートに何か書き込む関数→できる そのスプレッドシートのスクリプトエディタをいじってスクリプトを付ける関数→? できるんでしょうか?
822 名前:デフォルトの名無しさん [2021/12/02(木) 21:38:11.37 ID:FXlnpm0p.net] >>821 多分できない あらかじめコピー元テンプレート用のスプレッドシートを用意しておいて スクリプトも仕込んでおけばいけるかなと思ったけど 実行権限の付与ができないから無理じゃね
823 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2021/12/19(日) 02:11:05.33 ID:TUb0vitt.net] >>823 単純にスプレッドシートの表示形式が数値か日付かって話じゃないの
825 名前:デフォルトの名無しさん mailto:sage [2021/12/19(日) 11:32:13.88 ID:RkNKFft4.net] >>824 その通りでした...ありがとうございます。 表示形式を数値に変えたら、ちゃんと「1」がでました。 こんな単純なことに気づけないとは...失礼しました。
826 名前:デフォルトの名無しさん mailto:sage [2021/12/20(月) 12:14:27.96 ID:ViJtvVZ6.net] スプレッドシートのメニューバー変わりましたよね? 拡張機能からスクリプト画面選ぶようになってる… 調べたら10月から順次変わってる…?今日気付いたんですが2ヶ月掛かって更新されたってことでしょうか?
827 名前:デフォルトの名無しさん mailto:sage [2021/12/20(月) 14:36:16.49 ID:Xy/RGdSX.net] うちのは10月末に変わってたよ。
828 名前:デフォルトの名無しさん mailto:sage [2022/01/15(土) 18:08:24.36 ID:OIci5frO.net] web版のエディタが使いにくい。 ファイル+のとこのペイン?っていうの?あれが邪魔で小さくしたくてデベロッパーコンソールでイジってるんだけどどのcss変えれば小さくできますか?
829 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 18:17:08.30 ID:ymAJekA/.net] スライドからスクリプト開いてスクルプト書きました。 スライドからそのスクリプト実行したくて、onOpen()でスライド表示時の右サイドバーにスジュリプト起動ボタンを表示するようにしました。 ところが、スライド開いた時にこのonOpenが実行っされません。 トリガーに登録せよ!という情報もあったのですが、トリガー登録画面には、「スライドを開いた時」的なものは無く、 「カレンダーを開いた時」のようなものしかありませんでした。 スライドを開いた時に、スクリプト起動させるボタンのようなものを表示して、そこからスクチプトを起動したいです。 方法があれば教えてください。
830 名前:822 mailto:sage [2022/01/18(火) 10:50:27.27 ID:Y4BAPieC.net] 解決しました。下記に載ってました。 Https://myfunc.jp/items/00015/index.html
831 名前:デフォルトの名無しさん mailto:sage [2022/02/20(日) 03:04:59.59 ID:kcCfXnh0.net] 指定した文字列Aと背景色の2条件で集計したいのですが、書き方を教えて下さい。 文字列Aだけ、背景色だけ、などはいくつか見つけられたのですが、組み合わせ方が分かりません…。
832 名前:デフォルトの名無しさん mailto:sage [2022/02/21(月) 21:47:26.46 ID:UKJTHoUK.net] https://script.google.com/ このページって何処からたどり着くんですか? googleドライブとかから新規にスクリプトを作成するのは出来るんですけど 何処にも上記のリンクが無いです
833 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 14:47:01.29 ID:QEzJwIFm.net] 出来そうで出来ないというか検索してもやりかたが見つからなかったので 知ってたら助けて欲しい 【やりたいこと】 エクセルファイルをGASでスプレッドシートに変換してスプレッドシートにする 但しエクセルファイルの各シートのセルにはエクセル特有の文法で記載された計算式や関数がふんだんに使われているものとする 【ひっかかっていること】 単純にGASでDriveAppやDrive.Filesを用いてエクセルファイルをスプレッドシートに変換するだけだと 変換されたスプレッドシートのセルにはエクセルの特有の文法で記載された計算式や関数が移植されてきただけで スプレッドシートではエクセル特有の文法で記載された計算式や関数は処理できないのでやりたいことが出来ない状態 なのでエクセルのセルに埋め込まれてる計算式で求められた計算値だけをスプレッドシートに移植したい
834 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 20:31:28.47 ID:PjfLudyf.net] 関数で計算されてるデータを全て数値などに置き換えた物をアップすれば簡単じゃね? データとして貼り付ければ一瞬だしマクロ組めるでしょ。
835 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 18:33:50.02 ID:VTA82jsu.net] そのエクセルが他から提出されてくるもので数百単位であるので 個々にそのマクロを仕込んだものを実行するというのは大変かなぁ できればエクセルはそのままで一括で読み込んで GASのなかでやっちゃいたい 無理げかなぁ
836 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 18:59:33.32 ID:CkaReruZ.net] そういう後だしするからアドバイスするだけ無駄ってのが出てくるんだよね
837 名前:デフォルトの名無しさん mailto:sage [2022/03/02(水) 20:59:04.21 ID:CHjRcKIO.net] >>833 スプレッドシートでは処理できない、って言う時点でGASじゃ無理でしょ。 どうしてもやりたいなら、下記くらいしか思いつかない。 @その数式と同じ動きをする関数を自分でGASで実装する AWinのタスクスケジューラとか使って、VBAでExcel文字列化するなりCSV出力するなりして、それをGASでスプレッドシート化する。GoogleドライブアプリでWinとドライブを同期する
838 名前:デフォルトの名無しさん mailto:sage [2022/03/02(水) 21:59:04.64 ID:vYgwEkZg.net] しょうがないから一つヒント 同じフォルダ、若しくは特定のフォルダに入ってるExcelのファイルを全て文字に変換して保存するマクロを組めばOK 何百あろうが一瞬 全てのブックの全てのシートへループでぐるぐる回すだけだから、そんなに難しくないよ
839 名前:デフォルトの名無しさん mailto:sage [2022/03/11(金) 16:04:46.03 ID:GfEhxdTj.net] GASのソースコード内でタイムゾーンを変更することはできるのだろうか? GASのエディタにあるjsonに書いて指定するというのは見つけたが、それだとコード内でgoogleドライブから開いたスプレッドシートには適用されなかった GASのエディタではTokyoにしてても開いたスプレッドシートはPacificになってる
840 名前:デフォルトの名無しさん mailto:sage [2022/03/11(金) 21:23:44.78 ID:gLuUS5Uy.net] それはスプレッドシート自体の設定いじる
841 名前:デフォルトの名無しさん mailto:sage [2022/03/11(金) 21:27:52.87 ID:gLuUS5Uy.net] もしくはGoogleアカウント設定のプロフィールのタイムゾーンいじると それ以降作成したスプレッドシートはデフォルト変わってるはず
842 名前:デフォルトの名無しさん mailto:sage [2022/03/11(金) 21:31:24.19 ID:0mAcmeni.net] >>841 デマ回答やめろ😡
843 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2022/03/28(月) 09:02:53.32 ID:/mas85k3.net] 無理なのでループ処理部分をメソッド化するなりしてどうぞ
847 名前:デフォルトの名無しさん mailto:sage [2022/03/28(月) 11:53:32.50 ID:XbT1Q7Sk.net] えぇ〜… 残念
848 名前:デフォルトの名無しさん mailto:sage [2022/03/31(木) 12:20:31.27 ID:A0O2N5qb.net] GASでセルの値を変更させて変更後の値を読み取ってって一連の処理をしたいんだけど 一連の処理が終わるまでシートに表示される値がリフレッシュされないらしく 処理としてはセルへ値を出力してるけど読み取る値が出力前の値になってる 強制的にシートに表示される値を最新にすることってできないの?
849 名前:デフォルトの名無しさん mailto:sage [2022/03/31(木) 13:19:55.86 ID:5pPwE+XM.net] コードを貼れ
850 名前:デフォルトの名無しさん mailto:sage [2022/04/01(金) 06:42:07.95 ID:68FipywF.net] setvalueで値をセルに入れるのってリアルタイム反映じゃなくて スタックしてて処理が終わるみたいな切りがいいところで まとめて反映する仕様じゃないのけ? クラウドベースの実行だからサーバー側の負荷軽減のためだと聞いたが コード云々でなんとかなるなら知りたい
851 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 18:27:03.86 ID:tiBN51P7.net] >>851 filter()とmap()要らなくない?
853 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:09:46.76 ID:PYg//+II.net] >>852 そうなのかな ここの記事を読んだんだけど https://iwb.jp/google-apps-script-getvalues-two-dimensional-array-concat/
854 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:12:32.05 ID:PYg//+II.net] result = range.getValues().flat() とりあえず .filter以下を消したら望んでた結果は得られた模様
855 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:16:40.07 ID:tiBN51P7.net] >>853 この記事は空白除去してるじゃん
856 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:28:36.27 ID:uSpd3hvB.net] セルに手入力された5:22とか8:24とかの見た目時間になってる単なる文字列を使って 時間の足し算をしたいんだが、なんかいいアイディアはないだろうか?
857 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:30:57.57 ID:TDBa7GsZ.net] 足し算自体はスプレッドシート上の計算式ではなく 値だけ変数に入れてhas上でやりたい
858 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2022/07/22(金) 09:02:24.10 ID:CcjlX4kF.net] 質問します ローカルにあるファイルをメールに添付して 指定時間に送信するみたいなことを gasでやりたいのですが、 ローカルファイルをGoogleドライブに取り込むところから躓いてます こういうやり方があるよ、とかこのHPが参考になる、みたいなのはありますか?
864 名前:sage mailto: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 名前:デフォルトの名無しさん mailto:sage [2022/08/03(水) 00:57:44 ID:Mtys3/qj.net] >>863 簡単なのはGoogle DriveアプリでPCと同期させる方法かと思います。
866 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2022/08/04(木) 08:31:05.67 ID:CP8sLsBT.net] >>865-866 回答ありがとうございます もう回答もらえないのかな?と諦めておりました 実はローカルファイルをトリガー実行(時間指定)でメールに添付させたいというのが希望する処理なのです グーグルドライブアプリからならキーも取れそうですね 会社からグーグルドライブアプリの設置許可貰えたらやってみます
868 名前:デフォルトの名無しさん [2022/08/26(金) 19:09:52.12 ID:fCaJRqVr.net] 祝 有料化
869 名前:デフォルトの名無しさん mailto:sage [2022/08/26(金) 20:13:08.31 ID:shwkM977.net] >>868 なんだそれ怖いこと言うなよ ソースどこ?
870 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2022/10/26(水) 01:21:01.31 ID:Dg1k8nd7.net] やりたいことがわからないのでもう少し詳しく書いてください
874 名前:865 mailto:sage [2022/10/26(水) 02:36:10.71 ID:wuQKMR4S.net] すみません。自己解決しました。 スレ汚し申し訳ありませんでした。
875 名前:デフォルトの名無しさん mailto:sage [2022/10/26(水) 11:11:50.28 ID:t4LQIfXs.net] 謝るより原因や解決方法を書いていってほしい 質問と解決法が揃ってればスレ汚しにならない
876 名前:デフォルトの名無しさん mailto:sage [2022/11/19(土) 22:03:44.91 ID:7xWc9dNP.net] 初心者で勉強中ですがplain bodyとかの正規表現が難しくて泣きそう
877 名前:デフォルトの名無しさん mailto:sage [2022/12/16(金) 21:50:55.76 ID:/69Su096.net] 1日一回gmailの中のメールをフィルタリングして集計してメールを遅るスクリプトを動かしてます。 今日までは毎日1回動いてましたが 本日近い時間帯で4回トリガーされていました。 このようなことが起こった方他におられませんでしょうか。
878 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2023/01/18(水) 09:15:14.72 ID:NRwxJvcS.net] 毎月の商品ごとの売上グラフを作ってるんですけどAには赤、Bには青、Cには黃というように色指定は出来ますか? グラフの並び順に1番目から赤、青、黃という順序では出来るんですけど、順番が変動しても大丈夫にしたいです A2= if "A", Red "B", Blue "C", Yellow みたいに出来たらいいなと思ってます
882 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 18:58:41.14 ID:W3nKwjDO.net] >>905 自己解決。 というか諦めて別シートに呼び出した後substituteとxlookupの組み合わせで無理やり置換したのを表示させました。
907 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 02:05:22.77 ID:6OqVkYRD.net] >>908 ありがとうございます!spliceメソッド使ってみます。 その前に1つずつ検索かけるのに手古摺ってますが、なんとかやってみたいと思います。
910 名前:898 mailto:sage [2023/02/20(月) 16:04:41.81 ID:4jGYSd8p.net] 駄目でした… includesにしてもmatchにしても配列[ ]で指定するとうまく動いてくれません。 配列を作らずfor文で無理やりセルを置換させるという荒業で解決しましたが時間がかかり過ぎて実用的でなく。 やりたいこと table[[あ],[か],[さ],[た]...] before[あ][い]... after[ア][イ]... 以上の配列があり、 tableに対しbefore[i]を総当りで検索し一致したらafter[i]に置き換える。
911 名前:デフォルトの名無しさん mailto:sage [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 mailto:sage [2023/02/20(月) 18:49:29.88 ID:83YdaF3i.net] ありがとうございます。配列の中身は適当です…。 表と配列2種類の3つの要素があって、表にある配列1の要素を見つけたら配列2に置き換えるということをしたかったのです。 ですがお陰様でなんとかなりました! 二次元配列をflat()で一次元にして、splice使いました。 その後再度2次元配列に戻して元の形に直しました。
913 名前:898 mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 mailto:sage [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 mailto:sage [2023/02/21(火) 09:10:16.56 ID:B3qxCQs3.net] 確認したらエラー全然違うし書いてること散々でした 訂正 出てたエラーは多分is not defined 下の入れ子は arrayX=array[x] arrayY=arrayX[y] みたいにしても同じエラーだったかと。
917 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 mailto:sage [2023/02/22(水) 11:50:37.27 ID:7vReBJfV.net] >>917-918 何度もありがとうございます。 仰るとおり2度目の添字は一切読み込んでくれないので… >>918 のmap参考にしながら勉強させていただきます。 とりあえず長くなってしまったのでこの辺りで。また不具合出てきたら改めて質問したいと思います。 ありがとうございました!
920 名前:デフォルトの名無しさん mailto:sage [2023/02/28(火) 21:38:42.26 ID:8PRLUyLU.net] スプレッドシートの共有で閲覧権限を持っている人の 印刷は可能でファイルのダウンロードだけ禁止することは可能でしょうか?
921 名前:デフォルトの名無しさん mailto:sage [2023/03/01(水) 10:13:26.28 ID:NPxLOyBL.net] 共有アイテムのファイルにスターをつける方法を教えてください 宜しくお願いしますm(_ _)m
922 名前:デフォルトの名無しさん mailto:sage [2023/03/01(水) 14:17:21.21 ID:csCK6+UB.net] sheetクラスを取得する方法ってgetSheetByNameとgetActiveSheetしかないよね? getSheetBySheetIdがないのが謎なんだけどシートはシート名で管理するしかない?
923 名前:914 mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2023/03/24(金) 20:40:28.68 ID:h6PMjTMa.net] >>924 よく分かってないけどそれ意味あるの? ただの文字列なんだから相対も絶対もないような
926 名前:デフォルトの名無しさん mailto:sage [2023/03/25(土) 11:52:56.28 ID:TC3JXJ5y.net] >>925 例えば A1のRangeオブジェクトから $A$1という文字列を取得できないかなと GASから条件付き書式を設定するのに使いたいです なぜ使いたいかというと 複数人で編集してコピペを繰り返すと条件付き書式が破壊されてしまうので それを上書きリセットするためです 逆に、条件付書式だけロックかけて切り取ったり貼り付けたり出来ない設定ができるならそれで十分なのですが…
927 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2023/04/21(金) 16:53:56.40 ID:8VcMj5ya.net] 閲覧の制限はファイル単位でしか出来ないでしょ シート、セル(列/行)単位は編集の制限しか出来ない
932 名前:デフォルトの名無しさん mailto:sage [2023/04/21(金) 17:40:05.18 ID:vnxhj4My.net] ありがとうございます。 確かに「表示」→「保護されている範囲」でできそうだったけど。やっぱりだめでした。 諦めて、もう一つリンクしたファイルのシート作ってそちらに閲覧されたくない列を追加します。
933 名前:デフォルトの名無しさん mailto:sage [2023/05/02(火) 21:52:22.95 ID:39G20EoK.net] Googleカレンダーに予定を追加するプログラムを使ってるんだけど、「場所を追加」ちゃんと場所を追加したいです 以下詳細 普通に手作業でGoogleカレンダーに予定を追加するときは、「場所を追加」に場所の名前を入力すると候補が出てきて、そこから選ぶと、そこに間に合うためには何時に家を出ればいいかの通知が来たり、Android版のGoogleカレンダーだと予定の背景がその場所の写真になったりします。 で、GASで予定を追加するとき、場所を指定するためにGoogleマップのURLを使ってるんだけど、それだとURLが表示されるのみで、上記の通知とか背景写真とかが実行されません。 公式ドキュメントでも {location: 'Conference Room'}とされており、Googleマップ上の場所を使う気がなさそうです。 ちゃんとした「場所の追加」は、ウェブ上でマウスで操作しないとできないのでしょうか?
934 名前:デフォルトの名無しさん mailto:sage [2023/05/03(水) 00:25:10.26 ID:2fvruydV.net] >>933 URLじゃなくてその場所の名前か住所、もしくは緯度経度を入れればいいんじゃないの?
935 名前:デフォルトの名無しさん mailto:sage [2023/05/03(水) 03:09:39.55 ID:CT7gAj9T.net] >>934 それが名前や住所を入れても、その文字列が表示されるだけのようです こんな感じ https://i.imgur.com/pn88z8w.jpg ブラウザかアプリで場所を選択した時には場所と認識されるのか、こう表示されます https://i.imgur.com/k3K5mhe.jpg
936 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2023/07/08(土) 17:00:03.61 ID:IeBiUrvH.net] >>937 トリガーの設定してる?
939 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2023/10/20(金) 20:23:13.56 ID:c9EoYnQA.net] >>939 =trunc(3.14, 0) で3と表示されるはず
945 名前:デフォルトの名無しさん mailto:sage [2023/10/31(火) 16:30:00.40 ID:qmiHWWBC.net] >>944 ありがとうございます それを入力したセル(A1)の隣に、 =A1×8 とすると、24と出るので、内部で小数点以下を保持してないようです
946 名前:898 mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [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 名前:デフォルトの名無しさん mailto:sage [2024/04/04(木) 12:51:32.09 ID:q67OTvc3.net] getUi().showModelessDialog()の挙動おかしくなった? 他をクリックしたら閉じるようになったし移動も出来なくなった バグですか?
956 名前:デフォルトの名無しさん [2024/11/25(月) 04:43:24.47 ID:XW6Q5R5Q7] 大企業資本家階級のために政治やってる自民公明がクソなのは分かりきってるか゛野党も公平もクソもない主張は゛かりで入れたい党がねえよな 郵便料金超絶値上け゛で年収‐千萬超コ゛□コ゛囗の連中やらに児童手当た゛なんた゛と税金くれてやってる上に完全教育無償化た゛のと├チ狂ったこと ほざいて税金泥棒に追い銭とか主張する党た゛らけ貧乏人が子を産み落としたら遺棄罪て゛逮捕懲役.曰当5千圓で塀の中から孑に送金させるのか゛ 筋た゛し金を出す者が孑を育てる権利を得るのも筋,子はダメな親なんて平気て゛見限るものた゛し孑がほしい金持ちに子を斡旋する制度を作る のか゛國の仕事、力ンコ−テ□でJALANAテロリストに莫大な温室効果ガスまき散らさせてるのか゛原因の自称被災者に億の資産持っていようが 税金くれてやれた゛のほさ゛いてる党まであるしナマポ制度があるのになぜ追い銭か゛必要なのか捕捉率云々なら何万人も寄生虫公務員使って 桐生市みたくはじきまくってないで無条件に最低所得保障やって相続税で回収すればいいわな まともな主張は消費税廃止と内部留保課税むしろ社會の寄生蟲である大企業に毎年外形課税して自民公明による不公平政治の巻戻しが必要 (ref.) ttps://www.call4.jp/info.php?type=items&id=I0000062 ttps://haneda-project.jimdofree.com/ , ttps://flight-route.com/ ttps://n-souonhigaisosyoudan.amebaownd.com/
957 名前:デフォルトの名無しさん [2024/12/12(木) 17:27:14.20 ID:/P1+mPAL.net] createTextFinderで正常に動いてたのにソース変更してないのに最近になって TypeError: Cannot read properties of undefined (reading 'indexOf')と言うようになった 他の部分が悪いのか、切り分けるためcreateTextFinderだけ機能させるコードを書いてたけど同様のエラー とりあえず別の手段で回避させたけどおま環?
958 名前:デフォルトの名無しさん [2024/12/13(金) 13:21:51.42 ID:ouGUX1+B.net] だからjsは馬鹿にされるんだ
959 名前:デフォルトの名無しさん [2025/01/05(日) 10:08:17.06 ID:8kdOFrcZ.net] OneDriveの質問ここでok?
960 名前:デフォルトの名無しさん mailto:sage [2025/01/05(日) 10:17:13.58 ID:xU+8tKpK.net] gasってgoogleのサービス。onedriveはmicrosoftのサービスで違う スクリプトからonedriveを操作したいとかじゃないよね? スレチだけど一応聞いてみれば?誰か分かるかもね
961 名前:デフォルトの名無しさん mailto:sage [2025/01/12(日) 21:20:33.84 ID:EIvdvWG6.net] スプレッドシートさ、ExcelVBAでできる とあるRangeからとあるRangeまでの範囲を指定して新たにRangeを作る、てのが用意されてないの地味に不便だよね getRangeもoffsetも「座標~座標」の直接範囲指定がなくて軒並み「座標~行列数」しかないのがめんどくさい…そう思ってるの俺だけか? A1形式の文字列をガッチャンコすれば出来るっちゃ出来るが、お前それでいいのか感がすごい
962 名前:デフォルトの名無しさん [2025/01/16(木) 13:26:46.58 ID:5fNIPSC6.net] スプレッドシートとDriveAPIについて質問です。 他のGoogleアカウントがオーナーとして持ってるスプレッドシートで、別アカウントを閲覧者として共有。 その別アカウント側でAPI設定し、そのAPIを使ってxlsx形式でExportすることは可能?
963 名前:デフォルトの名無しさん mailto:sage [2025/01/16(木) 19:10:14.77 ID:OQ3rw5hF.net] 自分で試せよ。やりたいならやってみれば良いだろ
964 名前:デフォルトの名無しさん mailto:sage [2025/01/16(木) 19:13:42.90 ID:RFhmsTBB.net] 過疎ってる上にスクリプト荒らしが跋扈し誰か来ても煽ってくるやつしかおりゃん いまどきのプログラマーはみんなChatGPTかCopilotに質問投げてるよ 5ちゃんねるはおしまい!
965 名前:デフォルトの名無しさん mailto:sage [2025/01/17(金) 19:35:55.09 ID:S3TtCEi5.net] みんなぁ……どこ逝っちゃったんだブー…………
966 名前:デフォルトの名無しさん mailto:sage [2025/01/17(金) 19:39:30.95 ID:S3TtCEi5.net] なんでこの掲示板まだ運営してるの~?
967 名前:デフォルトの名無しさん mailto:sage [2025/01/17(金) 19:41:02.24 ID:S3TtCEi5.net] \  ̄ヽ、 _ノ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ `'ー '´ O o と 。 ,. -ー冖'⌒'ー-、 思 ,ノ \ う / ,r‐へへく⌒'¬、 ヽ キ {ノ へ.._、 ,,/~` 〉 } ,r=-、 モ /プ ̄`y'¨Y´ ̄ヽ―}j=く /,ミ=/ オ ノ /レ'>-〈_ュ`ー‐' リ,イ} 〃 / タ / _勺 イ;;∵r;==、、∴'∵; シ 〃 / で ,/ └' ノ \ こ¨` ノ{ー--、〃__/ あ 人__/ー┬ 个-、__,,.. ‐'´ 〃`ァーァー\ っ . / |/ |::::::|、 〃 /:::::/ ヽ た / | |::::::|\、_________/' /:::::/〃
968 名前:デフォルトの名無しさん [2025/02/12(水) 05:27:59.68 ID:EChoPnIL.net] アンドロイドのGoogleスプレッドシートのセルに日付を入れたら自動で○/○(月)と表示されるようにしたい。 どうかよろしくお願いいたします。
969 名前:デフォルトの名無しさん mailto:sage [2025/02/12(水) 07:18:57.16 ID:vZOAXNAs.net] セルの書式設定でカスタム日付からできるけど、日付の後に半角でも良いからスペース入れないと2/12 ?とはならないね 細かい解説はぐぐってくれ
970 名前:デフォルトの名無しさん mailto:sage [2025/02/12(水) 07:20:02.17 ID:vZOAXNAs.net] 文字化けした 2/12 (水) ね 頭に0を入れるか入れないかも決められるみたい
971 名前:デフォルトの名無しさん mailto:sage [2025/02/12(水) 08:21:38.43 ID:AFDgFLET.net] スレ違い
972 名前:デフォルトの名無しさん [2025/02/12(水) 10:54:44.45 ID:WpGOIYcm.net] これが博士か
973 名前:デフォルトの名無しさん mailto:sage [2025/02/20(木) 20:37:16.70 ID:74VDrAOZ.net] 閑古鳥すらいなくなった糞過疎掲示板 それが5ちゃんねる
974 名前:デフォルトの名無しさん [2025/02/28(金) 17:03:24.70 ID:kF3VgEHE.net] もう2人くらいしかいない
975 名前:デフォルトの名無しさん [2025/03/02(日) 03:32:16.42 ID:SuUkbROl.net] たまに覗いてる そういやContactsApp死んだな People APIダルい
976 名前:デフォルトの名無しさん [2025/03/17(月) 20:29:14.83 ID:PwYNrAD6J] トランプをリスペクトしようぜ何しろ連邦職員98%カットとか曰本も見習って国土破壊省を中心とした天下り税金泥棒強盗殺人集団霞が関の コ゛ミどもに腐敗まみれで寄生虫主張しかできない無能な国会議員まで98%カットすべきだわな日銀に金刷らせてまで日本円の価値低下させて 事実上お前らから奪い取った金を盛大に自民巨額献金の大企業にくれてやって物価高騰させて付加価値型経済になるなんて信じてるバカとか さすがにもういないた゛ろうが限られたパイを奪い合うことしかできない日本で中小零細の賃金上昇の余地なんてありはしないからな 經済の修復とは日銀が無駄金くれてやった大企業の従業員を最低賃金に統ーする法整備に6千圓でクソ航空地球破壊テロできるほど余裕綽々の 現状タダ同然の航空燃料税を1萬円/Lにして最低所得保障実現、土砂崩れ洪水、大雪.熱中症にと災害連発させて人殺しまくって海に囲まれた 日本でわざわさ゛陸域飛ばしまくって日本全国騒音まみれにして知的産業に威力業務妨害して子の学習環境まで根絶やしにしてるJALた゛のANAだの テロリストの皆殺しなくして付加価値型経済とかあり得ない話だからな (ref.) ttPs://www.Call4.jp/info.php?type=items&id=I0000062 ttps://haneda-project.jimdofree.com/ , ttps://flighΤ-route.Com/ ttps://n-souonhigaisosyoudan.amebaownd.com/
977 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 20:18:23.69 ID:BeLNgZJK.net] >>964 そうだよ便乗w 過疎過疎の地に足跡を刻むかw
978 名前:デフォルトの名無しさん [2025/10/30(木) 01:29:21.98 ID:XzU25Vj2.net] Geminiで書かせると捗るな 同じGoogle製だし間違いも少なめ たまに google.script.run.withFinally()とか 存在しないモン吐かれて笑うけど もうこれでいいじゃんレベル
979 名前:デフォルトの名無しさん [2025/11/11(火) 14:18:00.93 ID:crDtfQHZ.net] jsの方言大杉
980 名前:デフォルトの名無しさん mailto:sage [2025/12/13(土) 11:10:01.74 ID:EHTgEX58.net] Google製のクソなら食べられる