自分で作ったSpreadsheetからリンクをクリックし一部のテキストをTweetしてみるというものです。定期的にチェックしてから呟くケース等で使えるかな?と思いました。
スプレッドシートから、データをtweetをするデモ。制約多いですが。#spreadsheet pic.twitter.com/JZghs1vbTo
— たかやま@Takayama.O (@takayama70) July 28, 2020
残念ながら、画像付きツイートはプログラムが必要で、今回はテキストを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との差分を感じることができるかと思います。