サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
都知事選
officeforest.org
macOSは、正直なところ世界シェア1割程度のマイナーなOSではあるので、どうしても絶対的なデスクトップアプリケーションの数は、Windowsのソレと比較して少ないです。UNIX系のアプリケーションも使えますが、その多くはコンソールアプリケーションで、開発やサーバー系、サービス系になってくるので、一般的なアプリケーションは必ずしも満足の行く環境であるとは言えません。 そんな中、ここ数年でLinuxに於けるWindowsアプリケーション実行環境であるWineが怒涛の進化を遂げており(2021年8月現在、Version6.0)、macOSでもその恩恵を受けられます。Windows用のアプリケーションの多くがその環境を利用する事でmacOS上で動かせるわけです。ということで、今回はmacOS用のWineについてちょっとまとめてみたいと思います。 ※CrossOver Macは2021年8月段階で
未だにアップデータが配信される度に問題を引き起こしてる「Windows10」。自宅のハイエンドPCやVMware Fusionでは殆どこの手のトラブルに遭遇しないのですが、会社などで配給されてるショボい事務用PC(自宅のものよりも新しいにも関わらず)では、WSUSから配信される度に問い合わせがある。。酷いのになるとWSUSから配信中にネットワークトラフィックがいっぱいになって、他の人からネットが繋がらないなんて問い合わせまで来る(自分、ヘルプデスクじゃないんですが)。 正直なところ、もうWindowsを辞めるだけでヘルプデスクの負荷やエンドユーザの負荷は一気に消滅すると言われているくらいに問題なのですが、その都度検索して探すのにも疲れ果てたので、過去のサイトから現在でも遭遇するであろうものをサルベージして再度まとめることにしました。あまり最新のアップデートをここ1年追いかけていないので、無
Google Apps Scriptは、基本Google Driveで出来る事がスクリプトのメソッドで用意されています。その中でも地味ながら使う機会も多いのが、ZIPの圧縮と解凍。メールに添付して送信や受信した添付ファイルを解凍、ZIPのままスプレッドシートに取り込むなどなど使いドコロは、結構あると思います。 ユーザに作業をあまりやらせない上でもこのメソッドは習得しておきたい所です。しかし、このメソッドは圧縮と解凍使う方法は同じでも、その処理にちょっと違いがあるので、注意が必要です。 使用するクラスやメソッド 今回使用するサンプルプログラムスプレッドシート 圧縮されているZIPファイルと圧縮対象フォルダ Utilitiesクラスのzipメソッド Utilitiesクラスのunzipメソッド Google Apps ScriptのUtilitiesクラスはZIP圧縮だけでなく、hash値を作
実行結果サンプル 今回は、スプレッドシート上のダイアログではなく、フォームとして表示しています。これをウェブアプリケーションとして作ったフォームなどで使用すると効果バツグンです。 ※入力補完のほうは、「新宿」と入れると補完データが出てきます。プルダウンはそのままクリックして選ぶだけです。また、例えばコードと商品名の2列で商品名を選ぶとコードが入るといったようなトリッキーな作り方も可能です。 図:サンプルです。実際に動作します。 ソースコードと解説 GAS側コード //このスプレッドシートのID var sheet = "ここにスプレッドシートのIDを入力"; //HTMLで作ったフォームを表示する function doGet(){ var output = HtmlService.createHtmlOutputFromFile("index") .setSandboxMode(Html
外部DBがない環境の場合、スプレッドシートのみが唯一のデータ蓄積場所になるわけなのですが、例えば各支店に同じスプレッドシートに書かせるというのは、色々と不安な面があるだけでなく、見せたくないという要望もあったりします。となると、スプレッドシートを各支店別に用意して記入してもらい、本店はそれを収集する事になるわけですが、いちいち支店のスプレッドシートを開いてコピペでは非生産的です。となると、これらのファイルをリスト化し、そのリストを元にスクリプトでデータ収集が王道になると思います。 そこで必要になるのが今回のテクなのですが、自分もfilelistというシートにボタン一発で指定のスプレッドシートのIDを指定フォルダ内から収集し、filelistを元にデータを集めるスクリプトを常用しています。filelistの構築を主に例としてコードを紹介していきます。これには、指定フォルダ以下のサブフォルダ内
Googleスプレッドシートを使用していてぶつかる厄介な問題がCSVファイルの取り扱いに関する問題。主に、GoogleスプレッドシートからエクスポートしたCSVファイルをExcelで読み込めない問題や、逆に大量のCSVファイルをインポートを読み込みたい(しかもローカルPCから)となると、非常に融通の効かないアプリケーションだなと今でも思います。 これらの問題は、前者はGoogleスプレッドシートからエクスポートされるテキストがUTF-8でエンコードされたもので、取り分け日本やEXCELで普通に扱うShift-JISでエンコードされたCSVファイルではないから起き、後者はそもそも標準機能だと1個ずつしか読み込めないなどの仕様があるからです。後者の複数ファイルを読み込む件に関しては、Google Picker APIを使ったドライブから複数ファイルの読み込みや、HTML5を利用したローカルPC
Google Apps Scriptは使ってるとわかりますが、非常に動作が遅いです。おまけにローカルPC内で動作するVBAのようにプログラムのコードを組むと、大きなバッチ処理をさせているようなケースでは、間違いなくタイムアウトするでしょう。「起動時間の最大値を超えました」といったエラーが出るはずです。これは6分というタイムアウトが設定されているため、途中で処理が止まってしまい、スクリプトが継続できないわけです。メソッドの無駄遣いを減らし、効率よくバッチ処理を出来るようにコーディングをしても、限界があります。 まずは高速化するためのテクニックを身に着け、それでも足りない場合にこのテクニックを使いましょう。 そうなると、大きな処理は2回3回に分けて人間が実行しないといけないのか?というと、2回分程度ならそれでも良いのですが、実際の処理がどれくらい掛かるのかがわからないケースや、サーバ側の問題で
Google Apps Scriptそのものには、印刷に関するメソッドがありません。しかし、ファイルのエクスポートではPDF形式がサポートされています。これは、URLを組み立てて投げることで、プログラム側からも利用出来るようになっています。 PDF化は何かと利用価値はありますが、これが実装できると、自動的にPDF化してメールに添付して送る、ドライブの所定の場所に自動的に格納するなどが可能になります。また、スプレッドシート固有の機能ではないので、他のドキュメントも利用することが出来ますよ。 ※旧方式のPDF出力では、現在のような詳細な出力指定は出来ません。新方式のPDF出力では詳細な出力が可能であり、またカスタム改ページや、指定したシートのみPDF化なども可能になっています。 使用するメソッド・クラス、準備するもの 今回使用するスプレッドシート UrlfetchAppクラスの各種メソッド D
以前、GoogleのPicker APIを利用したアップローダを作成しました。正直な所、このAPIは非常に強力で、Google Driveと連携するアップローダやファイル選択ダイアログならばこれを素直に使ったほうがベストです。しかし、一方で他のサービスなどには利用出来ないので、Google Drive以外で使うシーンでは、これまで通り、HTMLでのアップロードの仕組みを構築する必要があります。 今回、単体のアップロード、File APIを利用した複数のファイルのアップロードの2種類を作成してみました。尚、複数ファイルの選択は、CtrlキーやShiftキーを押しながら選択する事が出来ます。 ※2020/02/20現在、未だにV8でformとinputを使ってのアップロードだとファイルが壊れますので、Chrome V8ランタイムはオフにしておくのがベストです。
Google Apps Scriptには、ウェブアプリケーションを公開したりするために「doGet」「doPost」という特別な関数があります。パラメータを加えて渡して上げることで、スプレッドシートのデータなどをJSONで受け取ったり、ウェブページを生成して、ウェブアプリケーションを表示したりなど、非常に重要な機能の1つです。この仕組を使うことで、自作のREST APIを作ることも可能です。 今回は、この「doPost」「doGet」を利用して、実行をするとスプレッドシートに書き込まれるといったものを作ってみたいと思います。 今回使用するスプレッドシートや資料 doPost関数 doGet関数 今回使用するスプレッドシート ContentServiceクラスの各種メソッド 概要 doGetは、URLに繋げてパラメータを与えて送ります。HTTP通信のGETなわけですが、こちらのほうが利用する
Google Apps Scriptの中で地味ながら、その活用の幅が実に広いものとして、スクリプトトリガーがあります。いわゆる時限式で作動させるための仕組みなのですが、スクリプトトリガーは、スクリプトエディタの画面から入り、手動で登録するのが通常のフローです。しかし、「スクリプト内でテンポラリで時間トリガーを設置したい」であったり「トリガーの設置し直し」など、スクリプトエディタにいちいち入らず設定したいシーンがボチボチあります。そういった場合には、スクリプトからトリガーの設置や削除が出来ると便利です。二重に登録してしまったりすると、二回発動したり、片方しか発動しなかったりするので、慎重に設置をしましょう。 これらトリガーは大きく分けて4種類あり、1.時限作動式 2.開いた時 3.編集時 4.フォーム送信時を設置することが可能です。主に使うのは時限作動式と、フォーム送信時の2つになります。但
家庭内で動画や音楽を配信し、家族でいつでもどこでも、手持ちのスマフォなどで楽しむ。其のための技術がDLNAサーバ。パソコンやiPhoneだけでなく、Playstationや対応TVで直接受信ができるなど、汎用的で便利な技術です。 配信する為にはサーバが必要ですし、スマフォなどの場合受信用のアプリが必要ですが、これらはすべて簡単に実現可能です。今回はmacOSをベースに紹介しますが、使用するサーバーアプリケーションはWindows, macOS, Linuxとマルチプラットフォームで動作します。適宜読み替えて立ててみましょう。 使用するソフトウェア DLNAサーバソフトウェア BubbleUPnP for DLNA - Google Play infuse5 - App Store DLNAサーバを立てる Universal Media Server Windows用やLinux用にもリリー
Google Apps Scriptで開発をしていると、だんだん似たようなコードや同じ仕組みを同じプロジェクトに何度も書く事が出てきます。しかし、そのままでは他のプロジェクトで使い回しをしたり、コードを簡潔に書くにはちょっと不都合です。また、1つのスプレッドシートに複数のプロジェクトファイルを追加した場合、プロジェクトプロパティなどはそのプロジェクト内のものしか参照出来ないので、複数のプロジェクトで参照させたい場合、これでは困った事になります。 そこで活用したいのが、ライブラリ機能。なるべくなるべく小さな関数や決まった処理をするルーチンはライブラリにまとめて、足りない部分だけをコードで記述するようにすると、開発がとっても早くなります。但し、公式サイトにも掲載されていますが、ライブラリは使用するとプログラムの実行速度は遅くなりますので、注意が必要です。5分の壁問題が生じる場合には、あえて使わ
このページを最初にブックマークしてみませんか?
『officeforest.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く