Ribbit works

最新の記事一覧

SSGでサイト更新時に、サ��イトマップを自動的にGoogleに送信する
2022-3-10

SSGでサイト更新時に、サイトマップを自動的にGoogleに送信する

ウェブサイトには定期的にGoogleのクローラーが巡回しに来ますが、その時にサイトマップの変更を確認することはないそうです。クロール頻度の設定とは別に、サイトマップの更新をGoogleに伝える必要があります。今回はSSGのビルドと同時に、サイトマップを送信する方法を紹介します。

JavaScriptNext.js
ol, liタグと疑似要素だけで垂直ステップデザインを作る
2022-3-8

ol, liタグと疑似要素だけで垂直ステップデザインを作る

Wordpressのテーマはおしゃれなものが多いですよね。その中でも、作業工程などを説明する際に便利なstep1, step2...と垂直方向に表示されるアレ。憧れます。今回は、できる限りタグを少なく、簡単に垂直ステップデザインを実装する方法を紹介します。

HTML
Google Tag Managerを使って、AMP対応サイトでアナリティクスを使用できるようにする
2022-2-24

Google Tag Managerを使って、AMP対応サイトでアナリティクスを使用できるようにする

amp-analyticsタグを使ったAMP環境化でのGoogleアナリティクスの実装について、同じ穴に陥まる人が1人でも減るように残しておきます。HTML ≒ AMPだと思っていましたが、HTML ≠ AMPだということを思い知らされました。

Googleサービス
レコードを1文字単位で検索する方法【kintone】
2022-2-20

レコードを1文字単位で検索する方法【kintone】

また、Kintoneのフィールド検索には制約があり、日本語であれば2文字以上、アルファベットと数字は単語単位でしか検索ができません。そのため今回は、この問題を解決することができる、僕が開発したプラグインの紹介します。オープンソースで公開しており、無料で利用できます。

kintone
表示するフィールドを制御するタブを実装するプラグインを開発しました【無料公開】
2022-2-14

表示するフィールドを制御するタブを実装するプラグインを開発しました【無料公開】

アプリのフィールド数が増えてくると、目的のフィールドがどこにあるのか見つけるのが難しくなります。今回はスクロールに追従し、フィールドの表示・非表示を制御するタブを実装するプラグインを開発しましたのでご紹介します。

KintoneTypeScript
Googleスプレッドシートのセルの高さを、GASからピクセル指定で設定する【Google Apps Script】
2022-2-3

Googleスプレッドシートのセルの高さを、GASからピクセル指定で設定する【Google Apps Script】

Excelではシートの高さを設定する際、高さを数値指定で設定する手段がいくつか用意されています。しかしスプレッドシートでは、単一行の数値指定での設定は可能ですが、複数行に対して数値指定で高さを設定することができません。そのため複数行の高さを再度変更したい場合などに以前設定した高さと合わせることができず、また1からすべての行の高さを設定しなければなりません。今回はGoogle Apps Scriptを活用して、セルの高さを制御する方法を紹介します。

Google Apps Scriptスプレッドシート
Next.jsとGASをつなぐ
2022-2-3

Next.jsとGASをつなぐ

FirebaseのSparkプランを使い倒すために、Realtime-Databaseのデータをスプレッドシートにキャッシュして、Next.jsからアクセスするという処理を別のウェブサイト作成時に実装しました。需要があるか分かりませんが、その中で使用したGAS・Next.js間のやり取りをまとめます。

Next.jsGoogle Apps Script
セルの垂直配置設定(上寄せ・中央寄せ・下寄せ)をGASから動的に制御する【Google Apps Script】
2022-2-1

セルの垂直配置設定(上寄せ・中央寄せ・下寄せ)をGASから動的に制御する【Google Apps Script】

Google スプレッドシートでは、セルの垂直配置設定が標準で下揃えになっています。シート内全てについて同じ垂直配置設定を適用させる場合は、あらかじめスプレッドシート側で設定しておけば問題ありませんが、動的に、部分的に設定したい場合もあるかと思います。今回はGASからセルの垂直配置設定を変更する方法をご紹介します。

Google Apps Scriptスプレッドシート
IE廃止時代のKintoneカスタマイズ
2021-12-21

IE廃止時代のKintoneカスタマイズ

今までChromeがIEのシェアを超えても、EdgeのレンダリングエンジンがChroniumになっても、 日本においてIEユーザーは根強く一定割合残り続けていました。そのIEユーザーに対応するため、便利な新しい機能を使えず苦労された開発者の方は多いんじゃないでしょうか。

kintone.Promiseというオブジェクトも、サイボウズがIE環境で非同期処理が動くよう対応したものです。

JavaScriptKintone
Kintone JavaScriptカスタマイズにおける例外/エラー処理について
2021-12-21

Kintone JavaScriptカスタマイズにおける例外/エラー処理について

JavaScriptはその柔軟性から、エラーにならない工夫が容易です。必要となって変数を定義したんであれば、うまく取得できない場合はエラーを出力するべきです。今回はKintoneのJavascriptカスタマイズにおけるエラー処理についてお話します。

JavaScriptKintone
Object.entries()で厳格に型定義された結果を受け取りたい【typescript】
2021-12-20

Object.entries()で厳格に型定義された結果を受け取りたい【typescript】

typescriptの標準設定では、Object.entries()の型は以下のように定義されています。つまり、Record<string, number | string>のような型が存在する場合、返り値の型は[string, number | string][]になります。ただ、Record<"one" | "two", number | string>と定義していた場合はどうでしょうか。

TypeScriptJavaScript
上限を気にせず全てのアプリ情報を取得する【Kintone】
2021-12-20

上限を気にせず全てのアプリ情報を取得する【Kintone】

2021年12月時点で、1度に取得できるアプリ数の上限は100件となっています。なかなかアプリ数が100件を超えることはないかもしれませんが、少しずつアプリが増えていき、100件を突破したタイミングで過去のプログラムをすべて見直す。といったことにならないためにも、上限を意識せず取得できるようにしておくことは大切です。今回は上限を気にせず、全てのアプリ情報を取得するコードを紹介します。

JavaScriptKintone
Sheetjs(xlsx)でスタイルを適用したExcelデータを出力する
2021-12-20

Sheetjs(xlsx)でスタイルを適用したExcelデータを出力する

皆さんはSheetjs、活用されていますか?独自にスプレッドシートを組み立てたり、HTMLのtable要素をそのままExcelとして出力できたりと、とても便利だと思います。ただ、スタイル情報まで引き継ぐことができません。設定なしに出力を行うと、エイリアスがバリバリの標準フォントで、セルの幅も考慮なしに出力されてしまいます。今回はJavaScriptから、スタイル付きのExcelファイルを出力する方法を紹介します。

JavaScript
Array.findの使い方、速度、使うべき理由【JavaScript】
2021-12-7

Array.findの使い方、速度、使うべき理由【JavaScript】

今回はArray.prototype.find()の使い方とそのメリットを紹介します。速度を追求する場合、findよりforループの方が高速です。実際に速度の検証を行い、なぜfindが必要なのか説明します。

JavaScript
Dateオブジェクトを任意の文字列でフォーマットする(yyyy-MM-ddなど)【コピペで使えるJavaScriptコード】
2021-12-7

Dateオブジェクトを任意の文字列でフォーマットする(yyyy-MM-ddなど)【コピペで使えるJavaScriptコード】

Dateオブジェクトには様々なフォーマット関数が用意されています。任意の文字列で変換せずとも解決する可能性がありますので、要件に合うものがないか確認してみてください。まず結論だけ載せておきます。

TypeScriptJavaScript
一覧・詳細画面でフィールド名を取得する【Kintone JavaScriptカスタマイズ】
2021-12-5

一覧・詳細画面でフィールド名を取得する【Kintone JavaScriptカスタマイズ】

kintone.events.onのコールバック関数の引数であるeventオブジェクトを利用することで、一覧に表示されているレコード情報を取得することができます。ただ、ここから取得できるのはフィールドコードとそのフィールドタイプ、値のみで、フィールド名は含まれていません。今回は特定の一覧に設定されている、フィールド名を取得する方法を紹介します。

JavaScriptKintone
kuromoji.jsで形態素解析
2021-12-4

kuromoji.jsで形態素解析

今回は形態素解析が簡単に実行できるライブラリ「kuromoji.js」を使って、任意の文字列を品詞ごとに分解・解析する方法を紹介します。

TypeScriptJavaScript
レコードのサブテーブルを並び替えて登録する【Kintone JavaScriptカスタマイズ】
2021-12-4

レコードのサブテーブルを並び替えて登録する【Kintone JavaScriptカスタマイズ】

こんにちは、皆さんはサブテーブル、利用されていますか?とても便利な機能ですが、情報量が増えてくると、閲覧性に問題が起こってしまうこともあります。今回は解決策の1つとして、サブテーブルの各行を並び替えて登録しなおすJavaScriptカスタマイズを紹介いたします。

JavaScriptKintone
レコード一覧表示時(app.record.index.show)のサンプルコード集【Kintone】
2021-11-29

レコード一覧表示時(app.record.index.show)のサンプルコード集【Kintone】

KintoneのJavaScriptカスタマイズについての情報は多く存在しますが、「じゃあ、結局やりたいことを実現させるためにはどうすればいいの?」という問題を簡単に解決することが難しいように感じました。今回はいくつかのサンプルコードを使って、レコード編集時におけるプログラムの実装例をご紹介します。

JavaScriptKintone
スライダーを使って数値を設定できるKintoneプラグイン【無料公開】
2021-11-26

スライダーを使って数値を設定できるKintoneプラグイン【無料公開】

Kintoneの数値フィールドには上限・下限を設定することができますが、設定した値が全体のどのあたりなのか、視覚的に把握したいことはありませんか?今回はスライダーを使って数値フィールドを設定できるプラグインを開発しましたので、紹介いたします。

KintoneJavaScriptTypeScript
レコード編集時(app.record.edit.show)のサンプルコード集【Kintone】
2021-11-25

レコード編集時(app.record.edit.show)のサンプルコード集【Kintone】

KintoneのJavaScriptカスタマイズについての情報は多く存在しますが、「じゃあ、結局やりたいことを実現させるためにはどうすればいいの?」という問題を簡単に解決することが難しいように感じました。

今回はいくつかのサンプルコードを使って、レコード編集時におけるプログラムの実装例をご紹介します。

JavaScriptKintone
【Kintone】APIを使ったレコードの削除→登録による更新【デリートインサート】
2021-11-24

【Kintone】APIを使ったレコードの削除→登録による更新【デリートインサート】

APIを使ってレコードを更新したい場合、基本的にはPUT APIを使用します。ただ、仕様や安全性を考慮し、一定条件のレコードを全て削除したうえで、レコードを再生成しなければならない状況も起こりえます。今回はそういった場合のコードサンプルを紹介いたします。

JavaScriptKintone
APIで取得したフォーム設定から、指定したフィールドのみを抽出する
2021-10-27

APIで取得したフォーム設定から、指定したフィールドのみを抽出する

KintoneではAPIを使用して、指定したアプリの各フィールド情報を取得することができます。ただ、このAPIのリクエストパラメーターはアプリIDと言語の設定しかできず、指定したアプリのすべてのフィールドが取得されます。レコードIDや作成日付、更新日付などの、アプリが標準で持っているフィールドや、使用していないカテゴリーフィールドなども取得されてしまいます。今回は、APIを使用して取得したフォーム情報から、指定したフィールドのみを抽出する方法を紹介します。

JavaScriptKintone
ルックアップフィールドの関連付け問題を解決するプラグインを開発しました
2021-10-26

ルックアップフィールドの関連付け問題を解決するプラグインを開発しました

ルックアップフィールドは、Kintoneにアプリを作る上でリレーションを保つため重要な役割を持ちます。ルックアップの対象は変更されることのない一意なキーとなるフィールドを指定するのが望ましいですが、どうでしょう、使いづらくありませんか?今回は、ルックアップの使い勝手だけを残して、関連付け機能を削除したプラグインを作成したのでご紹介します。無料で利用できますので、ぜひお試しください。

JavaScriptKintoneTypeScript
特定のHTML要素のclassListを全て削除(リセット)する方法
2021-10-14

特定のHTML要素のclassListを全て削除(リセット)する方法

特定のHTML要素に含まれているclassを削除する場合、classList.remove()を使用します。ただ、この方法を使用する場合、対象の要素にどういったclass名が使用されているか知っておく必要があります。今回は対象HTML要素にどのようなclassが設定されていたとしても、無条件ですべてのクラス名を削除する方法を紹介します。

JavaScript
KintoneからChatworkのユーザ一覧を取得する
2021-9-15

KintoneからChatworkのユーザ一覧を取得する

API トークンを発行したユーザのコンタクトとなっているユーザ一覧を取得します。kintone.proxy の返り値は Promise オブジェクトなので、then、catch の中のコードは非同期で処理されます。上記のコードの下に、取得後を想定したコードを記述すると、思ったように動作しないケースがあるので、取得後の処理は then の中に書いてください。

JavaScriptKintone
TypeScriptで楽天ブックス書籍検索APIを使う📚
2021-9-13

TypeScriptで楽天ブックス書籍検索APIを使う📚

最近ツイッターもフェイスブックも、APIを使用するための審査が厳しくなっているようですね。申請にあたって色んな作文を書かないといけませんが、楽天APIは幸い、楽天のアカウントさえ持っていれば利用することができます。今回はその中でも、楽天ブックス書籍検索APIを使って、目的の本を取得する処理を作成したいと思います。

TypeScriptJavaScript
【kintone】Webフォントを適用する
2021-9-8

【kintone】Webフォントを適用する

Kintoneの初期状態のフォントは、2021年時点ではメイリオとなっており、これを変更する機能はありません。また、サイボウズはCDNを提供していますが、対象はJavaScriptのライブラリとアイコンフォントのみで、通常のフォントは提供されていません。今回はこういった要望にお応えするため、フォントをCDNとして利用できるGoogle Fontsを利用し、Webフォントの読み込みと適用の方法を順を追って説明していきます。

KintoneJavaScript
KintoneからChatworkにメッセージを送る
2021-9-6

KintoneからChatworkにメッセージを送る

引数に各パラメータを設定することで利用できます。返り値が Promise オブジェクトなので、送信を確認してから処理したい場合は以下のような記述が必要です。今回はメッセージを送りたいだけなので、POST を使用します。

JavaScript
ExcelからChatworkにメッセージを送る
2021-9-3

ExcelからChatworkにメッセージを送る

API_TOKENの部分に利用するユーザのAPIトークンを貼り付けてください。APIトークン(使用ユーザ)も動的にしたい場合は、モジュールではなくクラスを作成するか、定数から引数に移動させてください。後は、上記のファンクションを以下のように呼び出すだけで取得できます。

VBA
アクセス権限のないアプリにJavaScriptからだけアクセスを許可する方法
2021-9-3

アクセス権限のないアプリにJavaScriptからだけアクセスを許可する方法

KintoneでAPIを使用する際、認証方法としてアカウントID、パスワードを使用するか、APIトークンを使用するかを選択することができます。を利用した場合、各アプリへのアクセス権限は、そのアカウントに対する設定に依存します。そのためAPIを利用したい場合は、そのアカウントに権限を付与する必要があります。しかし、それぞれのアカウントにアプリは表示したくないけど、APIだけ利用したい。(ユーザは閲覧することができないが、内部的にはアクセスしたい)といった場合もあるかと思います。そういった場合は、アプリ単位のAPIトークンを発行する方法が有効です。

KintoneJavaScript
Excel VBAの高速化はこれだけでOK!コピペで使えるコードを紹介
2021-9-3

Excel VBAの高速化はこれだけでOK!コピペで使えるコードを紹介

出来上がったものを実行してみると、処理中に画面がガタガタ動いたり、マウスが頻繁に処理中モードと通常モードに切り替わってしまうことはありませんか?そういった方向けに、作成した処理の前に読み込ませるだけで、簡単に上記の問題が解決され、さらに高速化できるケースもあるコードをご紹介いたします。

VBA
ExcelからChatworkのユーザ一覧を取得する
2021-9-3

ExcelからChatworkのユーザ一覧を取得する

ソースコードAPI_TOKENの部分に利用するユーザのAPIトークンを貼り付けてください。APIトークン(使用ユーザ)も動的にしたい場合は、ファンクションを以下のようにすると良いかと思います。 後は、上記のファンクションを以下のように呼び出すだけで取得できます。

VBA
【Kintone】フィールドの入力制限・可否を変更する
2021-9-2

【Kintone】フィールドの入力制限・可否を変更する

アプリの各フィールドの入力可否を操作する方法を解説します。ルックアップと関連付けたフィールドは入力不可になりますが、今回紹介する方法で手入力可能にできます。再度ルックアップを取得したタイミングや、データの取り込みを行ったタイミングで手入力部分は消えてしまうため、その点は注意してください。

KintoneJavaScript
kintoneで始めるjavascript入門【全体の構造、events onの紹介】
2021-9-2

kintoneで始めるjavascript入門【全体の構造、events onの紹介】

kintoneでjavascriptカスタマイズを始めようとされている中でも、javascriptに詳しくない、またはほとんど触ったことのない方向けに作成しました。javascriptの基礎を押さえていただいた上で、kintoneでよく利用するコードやイベントなどを解説していきます。

KintoneJavaScript
【コピペで使える】バッチファイルでのファイル、フォルダの削除
2021-9-2

【コピペで使える】バッチファイルでのファイル、フォルダの削除

ファイルを削除します。実行時に確認メッセージは表示されず、ゴミ箱にも格納されず完全に削除されます。オプションに /p を指定することで、実行時にクライアント側に実行可能かを問います。

PowerShell
Javascriptの即時関数と、省略記法【先頭の!やカッコの意味】
2021-9-2

Javascriptの即時関数と、省略記法【先頭の!やカッコの意味】

即時関数は、記述と同時に実行される関数を指します。変数のスコープを制限し、汚染を防ぐためです。例えば、以下の処理は全く問題なく実行されます。

JavaScript
PySimpleGUIで自作テーマを使用する
2021-9-2

PySimpleGUIで自作テーマを使用する

各パーツの背景色及び文字の色を変更できます。‘BORDER’: 0でタイルレイアウト風、グリッドレイアウト風なUIが作れそうです。マテリアルデザイン風に影を・・・とかは難しそうですね。

python
【プラグイン無料公開】一覧をリロードせず高速に検索・絞り込みができるプラグインを開発しました【Kintone】
2021-9-1

【プラグイン無料公開】一覧をリロードせず高速に検索・絞り込みができるプラグインを開発しました【Kintone】

通常レコード一覧で特定のレコードを検索する場合、フィルターから検索条件を1つ1つ設定しなければなりません。検索を実行するとページがリフレッシュされ、指定した条件の一覧が表示されます。当プラグインを使用することで、検索フィールドに文字を入力した瞬間、一覧のフィールド全てから入力値に当てはまるレコードを検索し、一覧に表示することができます。

KintoneJavaScript
VBAでマジックナンバーをスマートに消したい!
2021-9-1

VBAでマジックナンバーをスマートに消したい!

プログラムにおいて、マジックナンバーは原則避けるべきコーディングです。VBA 以外の言語においては、少し学びさえすればマジックナンバーが現れることはほぼ無いかと思いますが、VBA ではなかなか避けられないケースは多いです。扱うデータの性質上、何も考えずにコーディングすればマジックナンバーが自然と生まれてしまいます。今回は私がよく使う対処方法をコードと共に紹介したいと思います。

VBA
Gatsby-ImageからGatsby-plugin-imageへ移行した
2021-8-25

Gatsby-ImageからGatsby-plugin-imageへ移行した

当ブログはフレームワークとしてGatsby.jsを使用しているんですが、OSをクリーンインストールし、環境を再構築した後からうまくビルドが通らなくなってしまいました。Cannot read property 'bitmap' of undefinedその後しばらくしてから、gatsby-imageからgatsby-plugin-imageへの移行が推奨されていることを知り、実際に移行してみたところビルドの問題を解決することができました。

JavaScriptTypeScript
【コピペで使える】バッチファイルで空ファイルを作る方法3パターン
2021-8-17

【コピペで使える】バッチファイルで空ファイルを作る方法3パターン

Windows10 におけるバッチファイルは、扱い方を覚えてしまえば PC 操作がより快適になりますが、専門として取り扱っている方でなければ、他プログラミング言語とも勝手が違いますし、取っつきにくいところかと思います。ですので今回は、バッチファイルを利用して、空ファイルを作る方法を、コピーアンドペーストで使えるコード付きで紹介したいと思います。

PowerShell
タスクスケジューラを使用する場合、重複チェックはそもそも必要ない
2021-8-17

タスクスケジューラを使用する場合、重複チェックはそもそも必要ない

タスクスケジューラとは、特定のプログラムを指定した日時に自動的に立ち上げる設定ができるアプリケーションです。この機能を知ってまず考えるのは、アプリケーションが多重起動することによるエラーではないでしょうか。ですが、タスクスケジューラでは設定を変更することで、アプリケーションが重複して起動することを防ぐことができます。今回はその方法について紹介します。

Windows10
【コピペで分かる】サイボウズOfficeのJavascriptカスタマイズ
2021-8-17

【コピペで分かる】サイボウズOfficeのJavascriptカスタマイズ

この記事は、これからサイボウズ Office を javascript でカスタマイズしようとされている方向けに書いています。1 から Javascript ファイルを作成する方法と、JS カスタマイズマネージャーから出力したファイルに手を加えて実装する方法、どちらもご紹介いたします。

JavaScript
deepfacelabでうまく学習させるために注意すべきポイント、コツを紹介
2021-8-16

deepfacelabでうまく学習させるために注意すべきポイント、コツを紹介

deepfacelab は操作がコンソールベースで取り扱いには慣れが必要ですが、学習には Google が開発する TensorFlow を利用しており、頻繁にアップデートもされているため、学習能力はとても秀逸です。ですが、いざ学習、エンコードし出力結果を確認してみると、完成度の低いものができてしまうケースがよくあるかと思います。そういった場合に確認すべきことをまとめましたので、宜しければご活用ください。

機械学習python
【顔によって最適が異なる】フェイスタイプ(Face type)の正しい選び方
2021-8-16

【顔によって最適が異なる】フェイスタイプ(Face type)の正しい選び方

DeepFaceLab のバージョン 2 がリリースされ、顔だけでなく、頭部全てをスワップできるようになりました。それに伴って、学習時にプログラムに与える顔データのオプションとして、フェイスタイプ(Face type)が追加されています。では、今後はどのフェイスタイプを選択するべきでしょうか?新しく追加されたものを利用した方が学習効率が良さそうに感じてしまいますが、公式のマニュアルによると、一概に新しいものが良いというわけではなく、場合によるみたいです。今回は各フェイスタイプについて、適している顔の種類を説明していきます。

機械学習python
【Property Setは不要】Property Let と Set の違い
2021-8-16

【Property Setは不要】Property Let と Set の違い

VBA でクラスを作成し、 プロパティ(メンバー変数) を取り扱う際に作成する Property メソッドには Get, Set, Let があります。一般的に、VBA 以外の言語では、プロパティ(メンバー変数)に設定するのは Getter と Setter のみです。そのため、VBA での プロパティの定義を初めて見た時違和感を覚える方もいらっしゃるかと思います。今回は VBA の Property Set と Property Let の違いについてまとめます。

VBAExcel
【再起動しても消えない】バッチファイルでのネットワークドライブの割り当て方
2021-8-16

【再起動しても消えない】バッチファイルでのネットワークドライブの割り当て方

コマンドラインからネットワークドライブの割り当ては、通常net useを使います。ですが、これだけではPC再起動の度に割り当て情報が消えてしまいます。persistentコマンドを使うことで解決しますが、今度は資格情報が保持されません。エクスプローラを開き、ネットワークドライブの割り当てを行う。ネットワークパスを指定し、ドライブを割り当てる。資格情報を入力し、資格情報の保存をクリックする。 今回は以上と同等の操作を、バッチファイルで表現する方法をご紹介いたします。

PowerShell
【参照設定不要】Base64フォーマットにエンコードする
2021-8-16

【参照設定不要】Base64フォーマットにエンコードする

テキストをBase64でエンコードtext 変換する値 Base64フォーマットデータ実行テストDebug.Print (EncodeToBase64("aaa"))

ExcelVBA
VBAでエラー処理とThrow処理を両方行う方法
2021-8-16

VBAでエラー処理とThrow処理を両方行う方法

一般的にエラー処理は、各関数では最低限行い、後は呼び出し元にThrowするのが一般的かと思いますが、VBAではそれを簡単には実装できません。エラーハンドラを作ってしまうとエラーを握りつぶしてしまい、そこから再度Err.Raiseしようとすると、その関数内でエラーを拾い無限ループになるからです。具体的な例を挙げると、Open関数でファイルを開いた後、エラーになった場合でもCloseは発生させたい。その上で、エラーを呼び出し元に伝達したい。

ExcelVBA
Eelを含むPythonプログラムを終了する
2021-8-16

Eelを含むPythonプログラムを終了する

eel.startの引数として、close_callbackに関数を設定できます。startで設定したhtmlが閉じられた際に呼び出され、呼び出したhtmlとソケット番号(指定した場合のみ)を受け取ることができます。ログには以下のように出力されるはずです。

python
【プラグイン無料公開】一覧情報をそのままExcel(.xlsx)としてダウンロード
2021-8-15

【プラグイン無料公開】一覧情報をそのままExcel(.xlsx)としてダウンロード

皆さんはCSV出力機能、利用されますか?バックアップやアプリ移行、レコードの一括更新など、何かと使う場面は多いと思います。ただこのCSV出力、出力までに必要な手数が多くありませんか?一覧のデータを少しExcelで加工したいだけなのに、いくつかの手順を踏んで、CSVの完成を待って、ダウンロードが開始されます。ちょっと手間ですよね。そこで今回は、僕が開発したExcel出力プラグインを紹介します。標準ではCSVでしか出力できないkintoneですが、xlsx形式でファイル出力することができるボタンを一覧に追加するプラグインです。

KintoneJavaScript
【Windows10】エクスプローラのファイルを、複数の条件でソートする
2021-8-15

【Windows10】エクスプローラのファイルを、複数の条件でソートする

エクスプローラを利用している際、ソート機能を利用する方は多いと思います。ただ、目的によっては、条件が1つでは十分に並び替えきれない場合はないでしょうか?エクスプローラのソート機能には、「並び替え」と、「グループで表示」があり、これらを同時に利用することで、実質的に複数条件でのソートを実現できます。

Windows10
【Electron】URLからファイルをダウンロードする
2021-8-15

【Electron】URLからファイルをダウンロードする

electronには、URLからファイルをダウンロードするモジュールを持っていません。httpsやrequestのような別のモジュールを活用することで、ファイルのダウンロード自体は実現することができますが、ダウンロードの進捗を出したり、同時に複数のダウンロードを管理するとコードが複雑になってしまいます。そういった問題を、electron-dlが解決してくれるようです。

JavaScript
【Excelだけ】サーバー無しでチャットボットを作る
2021-8-15

【Excelだけ】サーバー無しでチャットボットを作る

最近ではクラウドサービスやフレームワークが多く普及してきたことで、チャットボットを作るのがかなり容易になりました。ただ手段は増えましたが、サービス間のデータをやり取りするためにサーバーが必要だったり、環境を整えることができない。という方もいらっしゃるかと思います。そういった方のために、今回はExcelを使ってチャットボットを作る方法をご紹介します。

VBAExcel
【Javascript】ドラッグ&ドロップでCSVを読み込む
2021-8-15

【Javascript】ドラッグ&ドロップでCSVを読み込む

ドラッグ&ドロップのイベントを登録する。まず、ファイルをドラッグ&ドロップできる領域を設定します。今回はやっていませんが、対象領域上にファイルがドラッグされている時とそうでない時で、領域のスタイルを変更する方がユーザフレンドリーです。

JavaScript
【Node.js】対象URLにリンクされている全ての動画ファイルをダウンロードする
2021-8-15

【Node.js】対象URLにリンクされている全ての動画ファイルをダウンロードする

puppeteerを利用して、URL内にリンクされている動画ファイルをダウンロードします。puppetterを使うことで、JavaScriptが動いたあとにコンテンツが生成されるような画面でも正しく情報を取得することができます。全てpuppeteerのブラウザオブジェクトで完結することもできますが、URLさえ取得してしまえばNodeから直接URLにアクセスしてデータを取得できるので、今回はそちらの方法を使用しています。

JavaScript
【kintone】Javascriptでダウンロード機能を独自実装する
2021-8-15

【kintone】Javascriptでダウンロード機能を独自実装する

僕がKintone上でアプリを開発する上で最もよく聞いた意見が、「ダウンロード(CSV出力)が使いづらい」でした。煩雑なダウンロード機能を解決するため、独自で簡単にダウンロード機能を実装する方法をご紹介します。

KintoneJavaScript
【kintone】プラグインのsetConfigとgetConfigをラクにする
2021-8-15

【kintone】プラグインのsetConfigとgetConfigをラクにする

kintoneのプラグインには、プラグイン単位で設定情報を保持してくれる機能がありますが、javascriptのオブジェクト型の情報を保持することはできません。通常、JSON.parseとstiringifyを活用して保存・復元するんですが、これを都度意識するのは面倒です。今回はその部分を意識しなくてもデータをやり取りするための関数を用意したので、よろしければご活用ください。

JavaScriptKintone
【deepfacelab】顔を部分的、一部のみ変更する方法【XSeg】
2021-8-11

【deepfacelab】顔を部分的、一部のみ変更する方法【XSeg】

deepfacelabでは、face typeに応じておでこから顎まで、または頭全体を標準でスワップさせます。deepfacelabには、こちらから能動的に「どこまでが顔なのか」を指示できる「XSeg」という機能があります。この機能を利用することで、学習効率・学習品質を大きく向上させることも可能です。

機械学習python
【プラグイン無料公開】年齢自動計算・自動更新プラグイン
2021-8-11

【プラグイン無料公開】年齢自動計算・自動更新プラグイン

kintoneプラグインを開発しました。日付フィールドと年齢フィールドを紐づけて、自動計算・自動更新を行うプラグインです。まずは操作デモをどうぞ。

KintoneJavaScript
【プラグイン無料公開】デザインテーマをリアルタイムで変更する機能を追加
2021-8-11

【プラグイン無料公開】デザインテーマをリアルタイムで変更する機能を追加

あまり活用している方は多くないかもしれませんが、kintoneにはデザインテーマがあり、いくつかの中から選択して全体のカラーを変更することができます。ただ、この機能はアプリ設定内にあり、実際にテーマを適用させるとどうなるのか、イメージをつかみづらいです。

KintoneJavaScript
日付の妥当性をチェッ�クするワンライナー【JavaScript】
2021-8-11

日付の妥当性をチェックするワンライナー【JavaScript】

特定の文字列が日付として妥当かをチェックするコードです。日付として処理できる形かをチェックしているだけで、yyyy-mm-ddなどをチェックしているわけではない点に注意してください。

JavaScriptTypeScript
【GoogleAppsScript】Gmailから特定のメールを取得する
2021-8-11

【GoogleAppsScript】Gmailから特定のメールを取得する

Google Apps Scriptを用いることで、紐づくアカウントのGmailの情報を操作することができます。ただ、このGmailから取得できる情報が独自の構造を持っており、1件のメール情報を直接取得することができません。今回は対象のメールをGoogle Apps Scriptから取得する方法を紹介します。

Google Apps Script
【React】レンダリング終了を待って処理する
2021-8-11

【React】レンダリング終了を待って処理する

オプションのコールバックが渡されている場合は、コンポーネントがレンダーまたは更新された後に実行されます。

JavaScript
 【GAS】スレッドに引っ張られて、不要なメールまで取得してしまう場合の対処法
2021-8-11

【GAS】スレッドに引っ張られて、不要なメールまで取得してしまう場合の対処法

Google Apps Scriptを用いてGmailのメールを取得する際、取得される単位はスレッド単位になります。これが厄介で、1通のメールが欲しい場合も、まずはスレッドから取得する必要があります。データとしては、GmailAppからスレッドオブジェクトを検索して、スレッドオブジェクトにメールオブジェクトが紐づいているようなイメージです。

Google Apps Script
スプレッド構文とconcat、どちらを使うべきか【javascript】
2021-8-11

スプレッド構文とconcat、どちらを使うべきか【javascript】

もともとスプレッド構文自体が、以前よりも強力で柔軟な配列リテラルを構築するために用意されたようで、使用できる環境であれば、スプレッド構文の方が良いようです。可読性の面ではスプレッド構文が優位なようです。速度については検証しましたが、ブラウザによって結果が大きく異なってしまいました。

javascript
Youtubeのシアターモードを画面ギリギリまで大きくする
2021-8-11

Youtubeのシアターモードを画面ギリギリまで大きくする

Youtubeのシアターモード、みなさんは利用していますか?フルスクリーンは嫌、でも画面はギリギリまで大きく表示したい。というわがままな要望に応えてくれるのが、シアターモードです。ただ、動画タイトルを表示させるためなのか、標準では横幅は上限まで広がっても、縦幅が上限まで広がらないような設定となっています。今回はこの部分を改善して、シアターモード時は画面上部のヘッダーと動画のみとなるように設定する方法をご紹介致します。

note
もう損しない!現役会計事務所SEが教える経理向けPCの選び方とスペックの目安
2021-8-4

もう損しない!現役会計事務所SEが教える経理向けPCの選び方とスペックの目安

会計ソフトの使用を含む、会計事務所で行うすべての業務を快適にこなすことが目的であれば、10万円以下のパソコンでも十分に可能です。もちろんOffice付きの端末であってもです。この記事を読んでいただくことで、パソコンを選ぶ際にどの部分にお金をかければ良いのか、またどの部分はお金をかける必要がないのかを理解していただけます。

note
上限を気にせずPOST, PUT, DELETEする【Kintone】
2021-8-4

上限を気にせずPOST, PUT, DELETEする【Kintone】

kintone REST APIには、GET, POST, PUT, DELETEそれぞれに、1度に操作できるレコードの上限が設けられています。今回は上記のレコード上限を気にすることなく、一括でレコードの作成ができる関数をご紹介します。REST APIを使用するたびにkintone.api...と入力したり、エラー処理を作るのは手がかかるため、汎用的な関数やクラスを定義している方も少なくないと思いますが、そういった時に起きてしまいがちなのが、この上限に到達してしまう問題です。

KintoneJavaScript
複数jsファイルで共通の変数・定数を使う方法【kintone】
2021-8-1

複数jsファイルで共通の変数・定数を使う方法【kintone】

Kintoneではグローバル変数・定数は基本的に使用禁止です。ただやむを得ず使用したい場合の対処法がガイドラインに定義されています。その定義方法・パターンをいくつか紹介します。

KintoneJavaScript
極限まで高速化を目指す方向けのHTMLで省略可能なタグ一覧
2021-7-28

極限まで高速化を目指す方向けのHTMLで省略可能なタグ一覧

HTMLを記述する際は、XMLのように、開始タグと終了タグの数が一致している必要はありません。特定の条件のもと、特定のタグは省略可能です。今回は省略可能なタグとその条件をまとめましたので、よろしければご活用ください。

HTML
ダブルクォートの有無や文字コードを問わず使用できるCSV取込
2021-7-19

ダブルクォートの有無や文字コードを問わず使用できるCSV取込

文字コード、エンコード、改行コード、ダブルクォーテーション。この全てを意識することなくCSVデータを取り込む方法を紹介します。取り込むCSVデータはFileオブジェクトを使うことを前提としています。

javascript
まとめてではなく1件ずつファイルをzipに圧縮する【Power Automate Desktop】
2021-7-12

まとめてではなく1件ずつファイルをzipに圧縮する【Power Automate Desktop】

エクスプローラーの通常機能を使用すると、特定のフォルダをzip形式に圧縮することができます。ただ、ファイルを1件1件圧縮したい場合は、それぞれzipへの圧縮を指示していかなければならないため、件数が多くなると手間がかかってしまいます。今回は特定のフォルダ内のファイルを1件ずつ圧縮する方法を紹介します。

RPAPower Automate Desktop
Kintoneのフィールドコードの命名規則と、JavaScript上で使用する際に気を付けること
2021-7-9

Kintoneのフィールドコードの命名規則と、JavaScript上で使用する際に気を付けること

Kintoneで作成できるアプリには様々なフィールドが存在し、その全てにフィールド名とフィールドコードを割り振る必要があります。フィールド名は主にユーザーが見える部分に、フィールドコードは主にアプリ管理者およびJavaScriptで参照するために使用します。今回はフィールドコードの命名規則と、私がJavaScript上でフィールドコードを使用する際に気を付けていることを紹介します。

Kintonejavascript
kintone.events.onで非同期処理(async/await)を使う - kintone
2021-7-6

kintone.events.onで非同期処理(async/await)を使う - kintone

JavaScriptカスタマイズを行う上でよく利用する非同期処理を実装する方法と、実装する上での注意点を紹介します。kintone.events.onに登録した関数は引数として受け取ったeventを最終的にreturnします。この関数を非同期にするということは、返却される値がeventからPromise<event>になるということです。Kintoneはこれを想定していて、ほとんどのイベントで以下のように記述があります。

KintoneJavaScript
1つのJavaScriptファイルに複数のkintone.events.onを登録する
2021-7-5

1つのJavaScriptファイルに複数のkintone.events.onを登録する

KintoneにカスタマイズしたJavaScriptの処理を任意のタイミングで実行させるためには、kintone.events.on関数への登録が必要ですただカスタマイズを拡張していくと、1つのイベントだけでは機能を実現できず、複数回kintone.events.onを使ってイベントを登録しないといけない場合も出てくると思います。そういった場合のJavaScriptファイルの記述方法を紹介します。

kintoneJavaScript
同一アプリ(自アプリ)をルックアップできるようにするプラグインを作成しました。
2021-7-4

同一アプリ(自アプリ)をルックアップできるようにするプラグインを作成しました。

ルックアップはアプリ間のリレーションを実装するために最もよく利用する手段じゃないかと思います。ただこのルックアップ、ルックアップ先は実装するアプリとは別のアプリしか指定できません。今回は、レコード作成時にそのアプリ自身の他レコードからルックアップを可能にするプラグインを開発したので紹介します。無料でダウンロード可能です。

KintoneTypeScriptJavaScript
要素を取得しているのに「表示するUI要素はありません」と表示される場合の対処法
2021-7-2

要素を取得しているのに「表示するUI要素はありません」と表示される場合の対処法

Power Automateには、Webページコンテンツとウィンドウコンテンツ、2つのUI要素があります。しかし、UI要素を選択する画面はWebページとウィンドウどちらも同じ場所で管理されています。画面右側の「UI要素」という一覧ですね。ユーザーに意識させないためにやっていることだと思いますが、それぞれ使えるフローが分かれています。今回は私がつまづいた、UI要素の取得の際にミスしがちなポイントと、改善方法を紹介します。

Power Automate DesktopRPA
Power Automate Desktopを使って、Chatworkへメッセージを送信する
2021-7-1

Power Automate Desktopを使って、Chatworkへメッセージを送信する

RPAを使う上で最も考えないといけないのは、エラー発生時の対応です。最低限エラーを拾って次の処理に移る、などを実装することは多いと思いますが、できればエラーをログに残したり、ユーザーに通知する手段が欲しいですよね。今回はChatwork APIを使って、Power Automate Desktopからチャットワークへメッセージを送信する方法を紹介します。

Power Automate DesktopRPA
【見栄え改善】セルの内側に余白を追加する【書式設定では解決できない場合の対処法も紹介】
2021-6-29

【見栄え改善】セルの内側に余白を追加する【書式設定では解決できない場合の対処法も紹介】

スプレッドシートを使っている時、セルと文字の隙間が窮屈に感じたことはありませんか?幅を自動調整させると、一番幅を取っているセルの幅ギリギリに調整されるので、ちょっと不格好ですよね。今回はデータに影響を与えず、セルの内側に余白を追加する方法をご紹介します。

Googleサービススプレッドシート
kintone.events.onを書かないkintoneカスタマイズ
2021-6-27

kintone.events.onを書かないkintoneカスタマイズ

kintoneカスタマイズを行う際、必ずと言っていいほど記述するコードは何でしょうか?kintoneが独自に用意する関数やプロパティはいろいろありますが、kintone.events.onは誰しもが頻繁に使用されていると思います。1つのアプリに複数回登場することもあり、新しい機能を追加する上でまず初めに書かないといけないコードですよね。今回はkintone.events.onを内包し、機能を代替する便利な関数の作り方・使い方を紹介します。

Kintonejavascript
【GAS】スプレッドシートからJSONへの変換を短く安全に記述する方法
2021-6-23

【GAS】スプレッドシートからJSONへの変換を短く安全に記述する方法

Google Apps Script(GAS)のスプレッドシートのデータは、通常二次元配列で受け取ることができます。ただこのままではデータを取り扱うのが難しいので、今回はJSON形式(オブジェクトとプロパティ)に変換する方法を紹介します。

Google Apps Scriptjavascript
kintone.appとkintone.mobile.app、使い分ける必要ある?
2021-6-20

kintone.appとkintone.mobile.app、使い分ける必要ある?

kintone.appとkintone.mobile.appの使い分け、面倒じゃありませんか?PC版とモバイル版を意識せずリソースを共有するために、デバイスを自動的に判定して使い分ける必要をなくす方法を紹介します。

TypeScriptkintoneJavaScript
いろんな場面で利用出来るモバイル判定 - kintone
2021-6-18

いろんな場面で利用出来るモバイル判定 - kintone

PC版とモバイル版、1つのアプリでできれば同じJavaScriptファイルを使いたいですよね。kintoneについてはURLも発生イベントもデバイスによって異なりますし、全く同じコードを使用することはできません。リソースを共有するために不可欠な、モバイル判定の方法を紹介します。

javascriptTypeScriptKintone
Contentfulから取得した記事中の画像を、WebPに変換する
2021-6-13

Contentfulから取得した記事中の画像を、WebPに変換する

Contentfulからマークダウン形式で記事情報を取得した際、埋め込まれている画像情報は最適化されていません。埋め込みの画像まで最適化し、対応ブラウザでWebPに変換して表示する方法を紹介します。

GatsbyContentful
低スペックなPCでも高度な学習が可能なDeepFaceColab - DeepFaceLab
2021-6-12

低スペックなPCでも高度な学習が可能なDeepFaceColab - DeepFaceLab

DeepFaceLabで高負荷な設定ができないパソコンでも、クラウド上で業務用のGPUを無料で使用し学習ができるDeepFaceColabの使い方を紹介します。必要なものはブラウザだけです。

機械学習pythonGoogleサービス