SpreadsheetからテキストをTweetする方法

自分で作ったSpreadsheetからリンクをクリックし一部のテキストをTweetしてみるというものです。定期的にチェックしてから呟くケース等で使えるかな?と思いました。

残念ながら、画像付きツイートはプログラムが必要で、今回はテキストをTweetするのみです。

自分のSpreadsheetのデータの一部をTweetする

下記が例です。Priceの所には

=googlefinance(A2)

の様に入力し”最新の株価”が出ています。

これをリンクのクリックすることで下記の様にTweetします。

簡単なサンプルのSpreadsheetは、こちらです。

Google Accountでログインしてコピーすれば使えます

作成方法を解説します。

手順1)出力したいセルの文字列をくっつける

concatenate関数で範囲”を指定して文字列をくっつけます。&を利用して文字列を結合するより柔軟に対応できます。

改行コードを入れたい箇所に、”=char(10)” と改行の空セルを入れておき、それも範囲指定に含む様にします。charはユニコード指定で文字を表示することができる関数です。

手順2)URLエンコードする

tweetする場合、URLのクエリーとして引き渡すためURLエンコードが必要です。Spreadsheetには、便利な”encodeurl関数”が存在します。これにより気にせず%や改行コード等も利用ができます。

手順3)Twitter Intentを使う

TwitterのWebインテントは下記です。これを利用します。

https://twitter.com/intent/tweet?text=”ツイートしたい文字列”

先ほどのURLエンコードしたテキストを、再度concatenate関数で結合します。

手順4)HyperLink化する

Spreadsheetでは、Hyperlinkという関数が準備されています。これでリンクを好きなテキストに変更することができます。

手順1~手順4をまとめて記載すると下記の様になります。

=hyperlink(concatenate(“https://twitter.com/intent/tweet?text=”,encodeurl(concatenate(A2:D6))),”tweet”)

テキスト箇所に、Image関数が使えるかと思い試しましたが残念ながら動きませんでした。

以上です。

使い所は難しいですが、

concatenate関数の範囲指定はエクセルではできません。

また、googlefinance関数に加えて、encodeurl関数や、Hyperlink関数はSpreadsheetだけに存在する関数で、Excelとの差分を感じることができるかと思います。