サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
officeforest.org
個人では昔から仮想環境と言えば、VMware Workstationという事で2.0時代から活用していますが、有償のプロダクトなのでメインマシン以外ではOracleのVirtualBoxを活用しています。主な活用法は、社内サーバ。Ubuntu Linux + Node.js + MySQLにて業務用APIサーバを構築し、社内サービスを提供するのに利用しています。 今は亡き、Sun Microsystemsの遺産の1つでもあるこの仮想環境、自分も在籍中から無償という事もあって使っていましたが、当時はパフォーマンスでは到底VMwareに及びませんでした。現在は勝るとも劣らないレベルにまで進化して来ています。今回はこれを活用してみたいと思います。 今回の環境構築に必要なもの VirtualBox本体 VirtualBox Extension Pack ゲストOS向け Guest Addition
今回使用するスプレッドシート 排他制御サンプル1 - 3種類の排他制御コードが入っています(ライブラリ元でもある) 排他制御サンプル2 - スクリプトロックをサンプル1からライブラリとして呼び出すコードだけが入ってる ※サンプルではcopypaste()というメインルーチンをそれぞれのルーチンから呼び出しています。 概要 LockServiceというクラスを使用するのですが、3種類のロックサービスがあります。必ず冒頭でロックを宣言して、その後指定秒数のロックを実施、最期に必ずロックをリリースするといった一連の手順が必要になっています(でなければタイムアウトするまでロックされっぱなしになります)。 指定秒数よりも前にスクリプトが終了した場合、待たされていた側は即時にスクリプトが実施されるようになります。逆に指定秒数以上待たされた場合にはエラーが発生しスクリプトの実行がキャンセルされます。 ロ
Googleスプレッドシートには、Excelにはない特別な関数がいくつかあります。それらはスクリプト無しでまた、特別な機能を使わずにデータの塊の中から、色々な条件でデータを塊で取り出すことが出来ます。Excelもいよいよ2019よりこの配列関数をスピルという機能としてサポートするようで、Filter関数、Unique関数、Sort関数などが導入されることになりました。 前回の記事で、Query関数の最もよく使う事例についてまとめました。今回はそこでは扱いきれなかった部分についてまとめてみたいと思います。利用頻度は高くないと思いますが、スプレッドシート上でデータベース的な扱いのできる機能ですので、ケースによっては非常に便利じゃないかなと思います。 ※正直これだけ多彩なことができる関数は多分他にはないと思います。 今回使用するスプレッドシートF Query関数を活用しよう - その2 他のシー
プログラムを開発していると、一時的な情報もしくは恒久的な情報を用いて様々な処理の分岐や、パラメータを用いて処理を続行するといった処理が出てきます。例えば、ユーザ毎に「認証を実行した結果得た、Access Tokenを格納しておく」であったり、ユーザの氏名や個人情報、プログラムで使う固定的な値(施設名リストなどを格納したスプレッドシートのIDなど)などなど。 これらの情報をスクリプト内に直書きだとセキュリティ的にまずかったり、また変更が生じる場合にスクリプトを書き直す必要があったり。かといってスプレッドシートのセルに保存というのはあまりにも雑。ということでよく使うのがプロパティサービス。地味な機能なのですが、このプロパティを使う事で、プログラムのメンテナンス性やセキュリティ向上など様々な効用をもたらしてくれます。今回はこのプロパティサービスを見てゆきたいと思います。 プロパティサービスについ
世はクラウド全盛時代。サーバーレスで基本企業やユーザは、利用させてもらうだけのお手軽な時代。とはいえ、様々な事情やセキュリティの観点から使わせないという企業も未だに多いのは事実。そんな時の助けになるのが、様々なオープンソース製品。 そんなものの1つにチャットシステムがあります。LINE駄目、Slack駄目と言ってもそれだけじゃ、ただシャドーITを推進しているようなもの。企業はシャドーIT撲滅したいなら、代わりになるものを提供しなければなりません。そこで使いたいのがRocket Chat。クラウドサービスもあり、またAndroidやiOS用のアプリも用意されていて、非常にオススメです。 図:病院やセキュアな環境で使える最高のシステムかも 今回使用するもの VMware Fusion や VMware Workstation Player Ubuntu Linux 16.04 LTS Rock
今回使用するスプレッドシート 画像を埋め込んだスプレッドシート 特殊な関数例に含めているので、他の事例も入っています。imageシートがimage関数で、画像埋め込みがバイナリデータとして埋め込んだ事例です。 image関数の使い方 概要 この関数は非常にユニークな関数で、セルの中に画像を表示させる事が出来るという関数です。Google Spreadsheetは画像を挿入出来るのですが、その配置は他のオブジェクトと同じで、セルとは関係なく貼り付けられてしまいます。対してこの関数の場合、URLを関数に渡すと、セル内に画像を配置できるので、画像はセルの位置に属します。使いようによっては、非常に有用な関数です。 図:画像一覧や商品一覧なんかも作れますね。 使い方 使い方自体は非常に簡単です。以下のように、image()の中に画像への直リンクURLを貼ればOK。直リンクでなければ表示されずエラーに
OSXに於けるメジャーな仮想環境と言えば、VMware Fusion、VirtualBox、Parallels、Hypervisor.frameworkの4つになりますが、自分の場合、他のプラットフォームでも利用する機会があるという点と、使い慣れているという事で、VMware Fusionを利用しています。しかし、OSXでVMware Fusionを使う上で、いくつか気になる点があるのも事実。という事で、これまでVMware Fusionを利用していて不便に思った点などを解消するいくつかのテクニックをここでまとめてみたいと思います。 仮想HDD・FDDの操作テクニック NHCで仮想ディスクを変換 VMware Fusionは例えば、VirtualPCなどで制作したVHDなどの仮想HDDファイルをインポートする事が出来るようになっています。しかし、変換がうまくいかなかったり、VMDKでやはり
大企業やその子会社などに入ってしまうと、IT周りは世間の二周半遅れのシステムを使わされるだけでなく、「あれは駄目」「これはするな」という時代遅れの制限が山程あります。結果的にシャドーITを推進して別のセキュリティホールを空けることになるのですが、そこには目が行かないようです。 こういった規制は、あるポイントにだけしか着目しておらず、その規制の結果、送信ミスを招くといったことがあるのもしばしば。そこでフリーソフトが使えないのであれば、作るしかないので、以下のアプリを作ることにしました。今回は、Windows上で開発を行っています。 ※今回の一番の肝はxlsxの読み書きとSQLite3のインストールです. 今回作成するアプリケーションの概要 要件事項 タスクトレイに常駐するタイプのアプリケーションを作る メールアドレス一覧は個人単位でメンテするのではなく、ファイルサーバ上Excelファイルに対
Google Apps Scriptは着実に機能を増強しているとはいえ、開発画面はあの「スクリプトエディタ」画面が基本です。とはいえ、GASで巨大システムなど作ることもないので、十分と言えば十分。しかし、チームで開発を行ったりする場合には面倒というのも事実。 そこでGoogleが2018年1月に出してきたツールが「clasp」というNode.jsで動作する、ローカルPCでGoogle Apps Scriptを好きなエディタで開発し、簡単にデプロイが出来る便利なツールです。それまでのnode-google-apps-scriptを廃止し、様々な追加機能を持って現在、一部の開発者の間で使われています。今回はこのツールで、実際に開発をしてみたいと思います。 ※ちょっと不穏なのが2022年9月の最終リリースからメンテが止まっています・・・ 今回使用するライブラリやファイル等 Node.js - c
sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume 完了したらディスクを抜いて置きます。 TimeMachineでバックアップ 新しいSSDに現在の環境をそっくり復元するために、外付けHDDにでもTimemachineでバックアップを取っておきましょう。OSインストール時に復元することで、いろいろな設定、アプリ、ファイル類が完全復元されて手間が省けます。 外付けHDDを接続しておく。 システム環境設定からTimemachineを開く ディスクを選択で1.のディスクを選ぶ。 メニューバーにあるTimemachineのアイコンをクリックして、バックアップをいますぐ作る 作成が完了したら1.のディスクを取り外す。 図
Google ドキュメントは、正直な所、他のワープロソフトに比較すると、かなり機能的には貧弱です。また、スプレッドシートと比較すると、スクリプトも難解な構造になっており、サンプルも少ないです。そんなGoogleドキュメントですが、標準搭載されていない機能で要望が高いのが、差し込み印刷です。標準で搭載されていても良いのにと思うのですが。 しかし、Googleドキュメント類は印刷に関するメソッドがないので、スクリプトから印刷はできません。よって、印刷の一歩手前までをなんとか出来ないだろうか?また、同様のテクニックを使って、これまでスプレッドシートでテンプレートを作り、書類を作ってたものを、Googleドキュメントで出来ないだろうか?と考えた結果、ようやく形になりました。今回はダイアログではなく、サイドバーで実装しています。 ちなみに既にアドオン形式では、DocumentMerge by Pan
Googleスプレッドシートには、Excelにはない特別な関数がいくつかあります。それらはスクリプト無しでまた、特別な機能を使わずにデータの塊の中から、色々な条件でデータを塊で取り出すことが出来ます(Excelは基本的に関数は塊ではなく、単一の値でしか答えを返せません)。この特別な関数を使えば、スクリプトを組む時に余計なコードを記述しなくても済むので、是非使えるようになっておくとお得です。 今回はそんな特別な関数の中でも、難易度は高いものの、非常に柔軟なデータの抽出だけでなく、クロス集計まで可能な「Query関数」を使ってみたいと思います。この関数で使われるQuery文は、Google Visualization APIで使われるものとほぼ同じ仕様になっています。 ※今回の関数は非常に多機能なので2回に分けて紹介しています。 今回使用するサンプルスプレッドシート Query関数を活用しよう
大昔のこと。それまで平和に過ごしてたある日、別のお仕事で東京に異動し、そこで告げられた内容が「1月の残業時間は80時間オーバー。ここに放り込まれて、最初のミッションはこのどうにもならない状況をなんとかしてほしい」でした。 現在は、労基法の制限で月45時間の制限が設けられていますが、当時は毎日がきつい日々でした。アプリを作り、完全マニュアルを整備し、平均残業時間は10時間/人まで減らす事が出来たのは、徹底した業務自動化と最適化でした。 さて、昨今はRPAという新たなツールが出てきていますが、当時はバリバリVBAでコードを書かないと実現出来なかった事が、ノーコードで実現できつつありますが、ここには大きな注意点があります。今回のエントリーはウェブに溢れてる様々な意見や見識をまとめ、誇大広告に踊らされないように見極めるために、整理してみることにしてみました。 まずは、この面白ツイッターを読んでみて
機械学習サービスが現在最も熱いテクノロジーですが、Google提供のものは最も手軽に扱える上に、コストも激安なので、簡単に試せるのが良い点ですね。TensorFlowのようなものAutoML Visionといった高度なものから、前回紹介したCloud Speech APIなどなど豊富に用意されていて既に、実用化までされています。 今回は、画像認識用のAPIであるCloud Vision APIおよびGoogle Drive API付属のOCR機能を使って、画像から文字認識してテキストで取り出してみたいと思います。いずれも、Google Apps Script標準のAPIではないので、事前準備が必要です。 今回のサンプルファイルは、以前作成しました「Google Pickerでアップローダを作る」のサンプルファイルをベースにしています。また、似たようなものとして、音声から文字起こしも別のAP
G Suite上でアプリケーションを作る上で欠かせないものの1つに「ダイアログボックス」や「メッセージボックス」、「サイドバー」があります。非常に頻繁に使うだけでなく、ユーザに入力をしてもらう顔でもあるので、Google Apps Scriptのプログラミングを行う上でも一番はじめに学習する項目の1つです。 今回は、Google Apps Scriptで実現できるこれらボックスの全てをまとめてみました。
働き方改革を推し進める一方、制度や仕組みだけがあっても、実際には運用上で次々に障害が出てきます。最近の流行り(IT業界じゃ昔から当たり前)の要素に「フリーアドレス」制度があります。座席を固定せずに、その日好きな席に座って作業をすると・・・。 しかしこの弊害として「誰がどこに座ってるかわからない」「座ってる人が誰なのかわからない」といったコミュニケーション上の問題が生じます(10名程度の小さな事業所ならば不要ですけれどね)。その日に出勤したら席を取ってもらうシステムを用意すれば解決します。カスタマイズ次第では、夢が広がる小さなシステムを作ってみたいと思います。 図:こんな感じのウェブアプリが簡単に作れます 今回使用するスプレッドシートとライブラリ 座席表管理スプレッドシート jQuery.Shapeshiftライブラリ CSS package for editor add-ons また、G
Google Apps Scriptでアプリケーションを作る際に、ユーザからファイルをアップロードしてもらって、そのファイルを元に処理を行う(例えば、経理システムの吐き出したCSVファイルを取り込んで、データを整形するなど)ことがままあります。 そんな時、ユーザにいちいち「Google Driveにアップロードして」「そのファイルのIDを取得して」なんて作業は生産的とは言えません。また、そのファイルもユーザのドライブに各々アップロードしたものとなると、一元管理も難しくなります。そこで利用するのが、Google Picker APIで、これをアプリに組み込むと、アップローダにすることが可能です。 図:こんな感じのアップローダが作れる 使用するファイル・参考資料等 Picker Uploadを仕込んだスプレッドシートファイル Pickerでファイルやフォルダを選択する画面を装備する 事前準備
Google Apps Scriptは便利な事に外部のサイトへアクセスして情報をサーバサイドで取得させる事が可能です。但し、イントラネット内の情報はアクセスできません(かつてはそういうオプションもありましたが)。取得した情報を元にさらに、Drive内にファイルを生成したり、またGoogle Apps Script Execution APIと併用して、代理でクライアントに返すなど、様々な使い方ができます。 その際に使用するのがUrlFetchAppクラスですが、G Suite内ではPDFの作成、外部Web APIへアクセス、スクレイピング、外部の関数を叩いて発火させる、トリガーで自動収集等など。但し、使いみちが広いですが1日あたりの利用上限がありますので、あまり短い間隔で作動させないように注意が必要です。 UrlFetchAppのリファレンス UrlFetchAppはurlを入れるだけでも
Google Sitesでは用意されてる標準のウェブパーツ以外にも、Google Apps Scriptで作成された独自のパーツも簡単に作る事が可能です。特に企業のポータルサイトとして需要が高いのが「情報を自動で集めて表示してくれるウェブパーツ」です。ただ、よくあるパーツだと結局、自分の好みに合わないだとか、痒いところに手がとどかないなどで、満足度が低いことがままあります。 今回はRSS2.0とAtom形式の2種類をスプレッドシートに登録するだけで、簡単に複数チャンネルのRSSを見られるパーツを作ってみたいと思います。 今回使用するスプレッドシート サンプルプログラム 今回使用するスプレッドシートサンプルはとてもシンプルです。dataというシートが1枚あるだけです。利用する場合には、必ず「ファイル」⇒「コピーを作成」してから利用してください。また、メニューより「セットアップ」⇒「スタート」
大分前に新アプリとしてリニューアルされた「新しいGoogle Sites」ですが、昨年12月頃にようやく「Google Apps ScriptによるAppガジェット」や「独自ドメイン」にも対応して、旧Google Sitesから十分移行することが出来るようになりました。新しいGoogle Sitesですが作り方が旧サイトよりもちょっと癖があって、とっつきにくい面があります。 今回は新しいGoogle Sitesの作り方について学んで行きたいと思います。 ※メールフォームより、独自ドメイン設定について表示がsites.google.com/view/サイト名になっている場合にviewの部分をドメインに変更する件を頂きましたが、返信後メアド不明でしたので、本件を「ウェブアドレスをマッピングする」の項目に追記しました。 ※メールフォームよりお便り頂きました。Google SitesがGoogle
これまでブログにて、Google Apps Scriptを用いた様々なアプリケーションやテクニックを紹介してきましたが、その多くはある程度Google Apps Scriptが出来る前提でのものでした。その為、入門者向けの内容ではなく、コードの説明も主にポイントになる点と、コード内のコメントでどのようなものを書いてるのかを読み取るものになっています。その中でGoogle Apps Scriptでウェブアプリケーションを作る方法をまとめて欲しいという話があったので、現時点で最新の作り方をまとめてみました。 概要 Google Apps Scriptにはウェブアプリケーションを作り表示する為のサービスとして2種類のタイプのクラスが用意されています。どちらもウェブアプリケーションとして出力した結果は同じなのですが、その動作原理が異なるので、利用目的などに応じて使い分けると良いでしょう。また、ウェ
今回使用するシートやメソッド類,参照設定,ライブラリ 今回使用するスプレッドシート 今回使用するAccessデータベース Google Apps Script API Microsoft WinHTTP Services Microsoft ScriptControl Microsoft Scripting Runtime (VBA-JSONで使用する) VBA-JSON (サンプルに入ってるのはv2.3.0) ※今回使用するAccessデータベースは、32bit版と64bit版の2つが入っています。 新方式が登場しました IE11の廃止に伴い、SeleniumやNode.jsやらといった手段を使わず、またPuppeteerと同様の手法(CDPを叩く)でVBAとEdge/ChromeのみでOAuth2.0認証する手段が登場しました。スクレイピングも可能になっています。以下のエントリーを参考
Google Apps Scriptにて2015年11月に新機能として実装された「Apps Script API」というものがあります(以前は、Google Apps Script Execution APIと呼ばれていました)。これは、Google Apps Scriptで用意してある関数を外部の環境(Javaや.NET、Node.jsなど)から実行できるようにするというものです。別途Google APIの認証用の手続きが必要ですが、この機能を利用するとG Suiteの利便性と利用範囲が格段に向上します。 Googleアカウントを持つものであれば、認証をしてそのGoogle Apps Scriptの関数を直接実行する事が出来る ローカル環境(例えばイントラネット)に用意したHTML内でGoogle Apps Scriptの実行環境を利用してアプリケーションを作れる Javaや.NET、V
Google Apps Scriptは大変便利なスクリプトなのですが、連続稼働時間に最大6分という制限があり、それを超えると「起動時間の最大値を超えました」とのメッセージが出てスクリプトは勝手に止まってしまいます(G Suite Businessだと30分)。これを回避するテクニックとしてはスクリプトトリガーを利用した突破方法があるのですが、実装は結構大変ですし、何より早く終わるに越したことはありません。しかし、スクリプトを高速化する為にはGoogle Apps Script流の書き方というものがあるので、今回それをまとめてみました。 なるべく普段から意識して書くようにすると、機能追加時に痛い目をみずに済みます(実際、単純なシートデータを集めるスクリプトで、集めるシートが増えてあっという間にスクリプトが破綻して困った思い出があります)。今回使用するスプレッドシートのダミーデータはMocka
今回使用するファイル お問い合わせフォーム本体 書類テンプレートファイル 本フォームは自動応答機能付きGoogle Formとしてサイトでリリースされているものと同じものです。フォーム自体の使い方や、細かな設定関係や事前準備に関してはそちらのページを参照してください。 送信時スクリプトを使う為には トリガーの設置 今回紹介しているスクリプト類を使う為には、必ずトリガーの設置が必要になっています。トリガー自体に関してはまた別のエントリーで詳しく紹介する予定ですが、ここでは必要最低限これだけはというトリガーの設置に関する解説をしてみます。 今回自動作業させる関数はsendForms()という関数で作成しています。以下の手順でスクリプト作成後にトリガーを設置してください。 ここで注意しなければならないのは、このトリガー設置はこのフォームの管理者だけが行って下さい。他の方もやってしまうと二重にトリ
現在開発中のアプリでちょっと必要になったので作ってる「グループアドレスからメンバー一覧取得」と「カレンダーのリソースを取得」の2本。小ネタをひとまとめにして、エントリーを作成しています。これらは都度都 …
Googleスプレッドシートには、Excelにはない特別な関数がいくつかあります。それらはスクリプト無しでまた、特別な機能を使わずにデータの塊の中から、色々な条件でデータを塊で取り出すことが出来ます(Excelは基本的に関数は塊ではなく、単一の値でしか答えを返せません)。この特別な関数を使えば、スクリプトを組む時に余計なコードを記述しなくても済むので、是非使えるようになっておくとお得です。 今回はそんな特別な関数の中でも、もっとも利用価値の高い「Filter関数」を使ってみたいと思います。
Copyright © 🌴 officeの杜 🥥 All Rights Reserved. Powered by WordPress with Lightning Theme & VK All in One Expansion Unit by Vektor,Inc. technology.
Google Apps Scriptにてウェブアプリを作る場合、通常doGet()でHTMLを表示し、HTML側からスプレッドシートのデータをリクエストした時に、スプレッドシートデータを普通は二次元配列形式でデータを受け取ります。その後、配列を例えば ss[2][3]といった具合に配列の場所を指定して、データを処理します。 しかし、この手法だと行を指定する部分は数字でも良いのですが、列を指定する部分まで何列目として指定しなければならず、少々面倒です。列指定はタイトルの文字で指定できたら楽ですよね。そこで、スプレッドシートのデータをJSON形式でHTML側へ送ってあげて、JSONデータとして扱えば、HTML側の処理が少し楽になります。 今回はこれに加えて、スプレッドシートのデータをJSON形式として、Web APIとして配信もしてみたいと思います。 今回使用するスプレッドシート スプレッドシ
次のページ
このページを最初にブックマークしてみませんか?
『officeforest.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く