officeの杜

Google WorkspaceやMicrosoft365に関する、実務に直結するテク…

officeの杜

Google WorkspaceやMicrosoft365に関する、実務に直結するテクニックや業務自動化手法を紹介しています。実際に現場でGoogle Apps ScriptやNode.js、VBAといった言語での開発、それにまつわるコードをウェブサイトで公開中

記事一覧

GASでPDFを操作するあれこれ

GASでPDF生成は昔から利用されてきた鉄板のテクニックですが、V8エンジン搭載後はさらに色々なことが出来るようになりました。それらPDF生成や操作を色々まとめてみました…

officeの杜
5か月前
9

GASとGoogle ChatとchatGPTと

Google Chat用のチャットボットを以前作ってあったのですが、つい最近リリースされた人工テキストAIである「chatGPT API」を組み込んで、Google Chatで問い合わせのできる…

officeの杜
1年前
1

GASで連絡先を操作する - 最新版

ContactsAppの廃止2022年1月、Google Apps Scriptで連絡先を操作するContactsAppが廃止されてしまいました。その結果として、GASから簡単に連絡先ことGoogle Contactsを操…

officeの杜
1年前

GASでSVGを使った座席管理アプリを作る

使いドコロと使う理由使い所 SVGで自由自在にレイアウトを構築することが出来、単純なHTMLとCSSよりも直感的にアプリケーションを使って構築が可能です。このSVG画像を使…

officeの杜
2年前
3

VBA・VBSでExcel操作をオススメする理由

事務の現場での業務自動化が急務として今盛んにRPAやらローコード、ノーコードの話題が出ています。しかし、経理や給与計算といった事務の現場でこれらを導入するには障害…

officeの杜
2年前

VBA・マクロが既定でブロックされました

2022年4月にMicrosoft OfficeのVBAおよびマクロの実行に関して、2013〜のバージョン全てに対して、既定でブロックするアプデが配信されています。結果、これまで社内で普通…

officeの杜
2年前
1

PowerAppsでタイムレコーダを作る

概要Microsoft365にあるPowerAppsは、ノーコードでExcelなどを土台にアプリを作ることが可能です。今回のようなアプリを社内で作る事によって、余計な外部ウェブサービスに…

officeの杜
2年前
1

Google Apps ScriptでClass構文を使う

概要V8ランタイムが使えるようになってから、Google Apps Scriptでそれまで利用できなかったClass構文が使えるようになりました。単純な関数だけで構築していたコードを、…

officeの杜
2年前
2

Power Queryで2つのシートの差分を抽出

Power Queryを使いましょう概要 Power Queryにてノーコードで2つのシートを比較して、異なってるセルの値をリストの形式で抽出するテクニックです。一度作ってしまえば、…

officeの杜
2年前
7

PlaywrightでFirefoxを自動化するテクニック

PlaywrightについてPuppeteerと互換性がありつつも、独自の発展もしているブラウザを自動操縦する為のライブラリがこのPlaywright。 PuppeteerがChromeをターゲットにして…

officeの杜
2年前

Google Apps ScriptでGA4のデータを取得する

Google Analyticsのデータを取得する概要 Google Analyticsが2023年7月に大きく変更されて、現在のAnalyticsが廃止されます。現時点ではまだ取れる指標がショボいので、大…

officeの杜
2年前
4

M1 MacのUTMで色々なOSを動かす

UTMについて概要 M1 Macになってから、VMware Fusionが無くなり、VirtualBoxが動かなくなり(x86用の仮想環境なので当たり前)、Parallels Desktopだけが唯一まともに利用…

officeの杜
2年前
9

Arrayformula関数でAND・ORを使う

問題点Googleスプレッドシートの配列関数であるArrayformula関数 A2:AといったようなA2以下全部みたいな、範囲が固定化されていない指定方法と条件判定を組み合わせるとオ…

officeの杜
2年前
2
GASでPDFを操作するあれこれ

GASでPDFを操作するあれこれ

GASでPDF生成は昔から利用されてきた鉄板のテクニックですが、V8エンジン搭載後はさらに色々なことが出来るようになりました。それらPDF生成や操作を色々まとめてみました。

ここに掲載されてるもの以外でもまだまだ色々出来るので、自分のアプリに装備していきたい機能です。

普通にPDFを生成する方法GASからは通常使えなかったスプレッドシートの機能としてのPDFエクスポートをUrlfetchApp

もっとみる
GASとGoogle ChatとchatGPTと

GASとGoogle ChatとchatGPTと

Google Chat用のチャットボットを以前作ってあったのですが、つい最近リリースされた人工テキストAIである「chatGPT API」を組み込んで、Google Chatで問い合わせのできるチャットボットを作ってみました。

事前準備APIキーを手に入れる

こちらのページにアクセスして、APIキーが取得出来る。$18分の無償枠が利用可能。開発するリファレンスはこちら

1単語のリクエスト1回

もっとみる
GASで連絡先を操作する - 最新版

GASで連絡先を操作する - 最新版

ContactsAppの廃止2022年1月、Google Apps Scriptで連絡先を操作するContactsAppが廃止されてしまいました。その結果として、GASから簡単に連絡先ことGoogle Contactsを操作することが出来なくなってしまいました。

代わりにREST APIとして利用できていた「People API」がGASのAdvanced Serviceにあるのでこれを利用して

もっとみる
GASでSVGを使った座席管理アプリを作る

GASでSVGを使った座席管理アプリを作る

使いドコロと使う理由使い所

SVGで自由自在にレイアウトを構築することが出来、単純なHTMLとCSSよりも直感的にアプリケーションを使って構築が可能です。このSVG画像を使うことで

フリーアドレス対応の座席管理アプリの構築

様々な予約管理システムの構築

センサーデータと連携して、作物の監視状況の可視化

グラフィカルなサイトマップの作成

などなど応用が可能です。通常の画像とライブラリで作

もっとみる
VBA・VBSでExcel操作をオススメする理由

VBA・VBSでExcel操作をオススメする理由

事務の現場での業務自動化が急務として今盛んにRPAやらローコード、ノーコードの話題が出ています。しかし、経理や給与計算といった事務の現場でこれらを導入するには障害があるだけでなく、中には悪質な事例もあるため、ここでまとめておこうと思います。

RPAでExcel操作昔よりだいぶマシになったとは言え、各種RPAツールで、Excelの操作をするに当たって、いわゆる「マウス操作を記録した操作の再現」をよ

もっとみる
VBA・マクロが既定でブロックされました

VBA・マクロが既定でブロックされました

2022年4月にMicrosoft OfficeのVBAおよびマクロの実行に関して、2013〜のバージョン全てに対して、既定でブロックするアプデが配信されています。結果、これまで社内で普通に利用できていたVBAとマクロが、突如として動作しなくなります。

ことの発端は、Emotetが流行しいよいよMicrosoftも現状の改善に踏み出した結果なのですが、かといって完全動作しないでは困ります。実際今

もっとみる
PowerAppsでタイムレコーダを作る

PowerAppsでタイムレコーダを作る

概要Microsoft365にあるPowerAppsは、ノーコードでExcelなどを土台にアプリを作ることが可能です。今回のようなアプリを社内で作る事によって、余計な外部ウェブサービスに1名当たり何百円も支出を永遠に固定費として出す必要はなくなるので、非常に利点があります。

タイムレコーダを今回は作ってみました。ちなみに今、無償でできる Power Apps 特別版が配布されています。

作って

もっとみる
Google Apps ScriptでClass構文を使う

Google Apps ScriptでClass構文を使う

概要V8ランタイムが使えるようになってから、Google Apps Scriptでそれまで利用できなかったClass構文が使えるようになりました。単純な関数だけで構築していたコードを、オブジェクト指向な感じでGASを書けるようになったので、コードの再利用性や冗長な処理をより簡便な書き方で作ることが可能です

マイクロサービスな用途の多いGASですが、規模の大きなアプリを構築する場合には、Class

もっとみる
Power Queryで2つのシートの差分を抽出

Power Queryで2つのシートの差分を抽出

Power Queryを使いましょう概要

Power Queryにてノーコードで2つのシートを比較して、異なってるセルの値をリストの形式で抽出するテクニックです。一度作ってしまえば、後は2つのシートの中身を入れ替えて、右クリック⇒更新するだけで作業が完了するので、RPAを用いずに業務の自動化を実現可能です。

Power Query1つ出来る出来ないで大きな差になり、事務職の人にとって大きな武器

もっとみる
PlaywrightでFirefoxを自動化するテクニック

PlaywrightでFirefoxを自動化するテクニック

PlaywrightについてPuppeteerと互換性がありつつも、独自の発展もしているブラウザを自動操縦する為のライブラリがこのPlaywright。
PuppeteerがChromeをターゲットにしてるのに対して、こちらはFirefoxやSafariも操作する事が可能

ただ、完全互換ではなく方向性の違い故にメソッドやテクニックが異なるものがあるので、注意が必要。

SeleniumやPowe

もっとみる
Google Apps ScriptでGA4のデータを取得する

Google Apps ScriptでGA4のデータを取得する

Google Analyticsのデータを取得する概要

Google Analyticsが2023年7月に大きく変更されて、現在のAnalyticsが廃止されます。現時点ではまだ取れる指標がショボいので、大丈夫かな・・・と心配になりますが、このデータをGASで取得してみます。

簡単なやり方

以下のような手順になります

GA4のプロパティIDを取得しておく

スクリプトエディタにサービスとし

もっとみる
M1 MacのUTMで色々なOSを動かす

M1 MacのUTMで色々なOSを動かす

UTMについて概要

M1 Macになってから、VMware Fusionが無くなり、VirtualBoxが動かなくなり(x86用の仮想環境なので当たり前)、Parallels Desktopだけが唯一まともに利用できる仮想環境になっています。

しかし、ParallelsはCPUエミュレーションを行っているわけではないので、x86時代のOSは動きません。

そこで利用するのが、UTM。オープンソ

もっとみる
Arrayformula関数でAND・ORを使う

Arrayformula関数でAND・ORを使う

問題点Googleスプレッドシートの配列関数であるArrayformula関数

A2:AといったようなA2以下全部みたいな、範囲が固定化されていない指定方法と条件判定を組み合わせるとオカシナ挙動になります(固定化されていれば、以下の数式でも問題なく計算されます)。

例えば以下のような場合、想定した計算がされない上に、0が下の方にずーっと並びます

=arrayformula(if(or(A3:

もっとみる