大層ななまえですが、選択した文字列をシークレットウインドウ内で、
Google検索するというものです。
https://docs.google.com/open?id=0B58uK3aQr15IM0ItWk1WVnFUWnVleXJVWEhqUktCdw
1.文字列を選択し、
2.右クリックすると
3.「シークレットウインドウでGoogle検索」がでます故、ぽちっとな。
すでにシークレットウインドウがある場合でも新たにウインドウが開きます。
この辺は様子見て改善するかも。
おためしあれー
2012年4月9日月曜日
2012年3月24日土曜日
『このフレームページを新規タブで開く』 - Chrome拡張機能 -

右クリックに追加します。
https://docs.google.com/open?id=0B58uK3aQr15INTh2dHpkNnlRRUdTcUQtdHd6SktjUQ
コードは以下に。超簡単。
■manifest.json
{
"background_page": "background.html",
"description": "このフレームページを新規タブで開く",
"icons": {
"128": "icon.png",
"32": "icon.png",
"48": "icon.png"
},
"name": "I will open This Frame To NewTab",
"permissions": [ "contextMenus", "tabs" ],
"version": "0.0.1"
}
右クリックに追加します。
https://docs.google.com/open?id=0B58uK3aQr15INTh2dHpkNnlRRUdTcUQtdHd6SktjUQ
コードは以下に。超簡単。
■manifest.json
{
"background_page": "background.html",
"description": "このフレームページを新規タブで開く",
"icons": {
"128": "icon.png",
"32": "icon.png",
"48": "icon.png"
},
"name": "I will open This Frame To NewTab",
"permissions": [ "contextMenus", "tabs" ],
"version": "0.0.1"
}
■ background.html
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<script>
chrome.contextMenus.create({
"title": "このフレームページを新規タブで開く",
"contexts" : ["frame"] ,
"onclick": function(onClickData,tab){
var newtab = onClickData.frameUrl;
chrome.tabs.create({url:newtab});
}
});
</script>
</html>
2012年3月16日金曜日
Chorme拡張機能 テキスト化計画
例によってまだストアでは公開しておりません。
以下からダウンロードしてください
TB 0.9.0
■できること
・テキストのみの表示に切り替える。
・文字色、リンク色、背景色の色を任意に決められる。
・ボタンで通常モードとテキストモードを切り替えられる(ボタンを押せばタブを更新する)
■今後の予定
ドメインを登録して切り替えられるように
2012年2月6日月曜日
GoogleとWikipediaを読みやすくするGoogle Chrome 拡張機能を作りました。
GoogleとWikipediaを読みやすくするGoogle Chrome 拡張機能を作りました。
白背景って目が疲れますよね。私はいつもブックマークレットを使って、背景を黒くし、リンクは緑にしていました。Chrome 拡張機能の作成練習に、これらのことを実現する拡張機能をつくりました。
まだストアでは公開していないので、以下からダウンロードしてください。
easyReader 1.0.0
https://docs.google.com/leaf?id=0B58uK3aQr15INWVhMjUwZjktNGJiOC00YmQ5LTlmN2ItN2Y0N2YzNDNlMWFk&hl=ja
ダウンロードして、Chromeにドロップしてください。
白背景って目が疲れますよね。私はいつもブックマークレットを使って、背景を黒くし、リンクは緑にしていました。Chrome 拡張機能の作成練習に、これらのことを実現する拡張機能をつくりました。
まだストアでは公開していないので、以下からダウンロードしてください。
easyReader 1.0.0
https://docs.google.com/leaf?id=0B58uK3aQr15INWVhMjUwZjktNGJiOC00YmQ5LTlmN2ItN2Y0N2YzNDNlMWFk&hl=ja
ダウンロードして、Chromeにドロップしてください。
2011年12月19日月曜日
とあるディレクトリ以下のファイルのURLをすべて取得する 最終夜
とあるディレクトリ以下のファイルのURLをすべて取得する
シリーズ最終夜です。
結果として、scan_image以外は検出した個数に変化は無く、599個配列に収まりました。
何が違うのかというと、ディレクトリもそのまま配列に入っているから,,,なのか?
scan_imageはディレクトリであれば配列に収めないという処理をしていますので、
その違いかと思われます。
実行速度については下記を参照してください。
あるディレクトリ以下のファイルのURLをすべて取得する
第一夜
http://sharzaqslab.blogspot.com/2011/12/url.html
第二夜
http://sharzaqslab.blogspot.com/2011/12/url2.html
第三夜
http://sharzaqslab.blogspot.com/2011/12/url3.html
シリーズ最終夜です。
結果として、scan_image以外は検出した個数に変化は無く、599個配列に収まりました。
何が違うのかというと、ディレクトリもそのまま配列に入っているから,,,なのか?
scan_imageはディレクトリであれば配列に収めないという処理をしていますので、
その違いかと思われます。
実行速度については下記を参照してください。
| スクリプト名 | 実行速度 | 配列カウント |
| get_files | 0.0091230869293213秒 | 599ファイル個数 |
| scan_image | 0.0050339698791504秒 | 500ファイル個数 |
| getFileList($dir_path) | 0.00760817527771秒 | 599ファイル個数 |
| getFileList($dir) | 0.0069351196289062秒 | 599ファイル個数 |
| glob3 | 0.0072281360626221秒 | 599ファイル個数 |
| Linux find . 「-type f」有り | 0.035500049591064秒 | 599ファイル個数 |
| Linux find . 「-type f」無し | 0.035002946853638秒 | 635ファイル個数 |
Linuxコマンド直打ちだけにいっちばん早いんじゃ?!なんて息巻いて実行。
あえなく玉砕。ダントツで遅かったです。
厳密にファイルパスだけ欲しい場合は、scan_imageがいいね!
あるディレクトリ以下のファイルのURLをすべて取得する
第一夜
http://sharzaqslab.blogspot.com/2011/12/url.html
第二夜
http://sharzaqslab.blogspot.com/2011/12/url2.html
第三夜
http://sharzaqslab.blogspot.com/2011/12/url3.html
とあるディレクトリ以下のファイルのURLをすべて取得する 第三夜
(とあるディレクトリ以下のファイルのURLをすべて取得する 2)からの続きです。
PHPには関数としてそのようなものは見つけられませんでした。
いろいろ検索をしていると、皆さんさまざまにアプローチしてらっしゃるのがわかります。
大まかに手法を分けると以下の2通りのようです。
・scandir関数を使う
・opendir関数を使う
scandir関数はPHP5から搭載された便利な関数ですね。
基本的にやってることはどれもほとんど代わりがないです。
実行速度の違いがあるのか幾つかの手法をテストしてみました。
検索対象の内容として、全文検索システム Namazu http://www.namazu.org/index.html.jaの
ファイル群が対象です。
それと自作の関数とか他のテクニックも試してみたので、ご参考までに。
試したのは以下の通りです。
■get_files
PHP でサブディレクトリ内のファイル名をすべて取得 ≪ メモとか
http://wokamoto.wordpress.com/2011/09/22/get-all-files-name/
■scan_image
PHP ディレクトリ以下のファイルを再帰的に取得 - 130単位
http://d.hatena.ne.jp/deeeki/20100602/get_files_recursive
→画像だけでなくすべてのファイルを取得するように変更
■getFileList($dir)
指定したディレクトリ以下のファイルを取得(サブフォルダ内も) - pirokyunの日記
http://d.hatena.ne.jp/pirokyun/20080118/1200631677
■getFileList($dir_path)
ファイル名を再帰的に取得する関数 - handlename::blog
http://d.hatena.ne.jp/handlename/20101006/1286355256
■sharzaqオリジナル
・glob3(http://sharzaqslab.blogspot.com/2011/12/url.html)
・cmd_find(http://sharzaqslab.blogspot.com/2011/12/url2.html)
比較の結果は次の記事で!
とあるディレクトリ以下のファイルのURLをすべて取得する 第二夜
前の記事(あるディレクトリ以下のファイルのURLをすべて取得する 1)の続きです。
sharzaq謹製というにはおこがましいコードをご覧ください。
function cmd_find($file='.'){
$o = shell_exec('find ' . $file . ' -type f');
return $o;
}
こちらは配列では帰ってきません。ただの文字列が固まりで帰ってきます。
echo $oするとこんな感じ。
使い勝手はよろしくないでしょう。この後、\n|\n|\r\n なんかで区切って配列に入れれば何とか。
次の記事では、さらに皆さんのアイデアを比較してみます。
sharzaq謹製というにはおこがましいコードをご覧ください。
function cmd_find($file='.'){
$o = shell_exec('find ' . $file . ' -type f');
return $o;
}
こちらは配列では帰ってきません。ただの文字列が固まりで帰ってきます。
echo $oするとこんな感じ。
preタグで囲むとこんな感じ。
使い勝手はよろしくないでしょう。この後、\n|\n|\r\n なんかで区切って配列に入れれば何とか。
次の記事では、さらに皆さんのアイデアを比較してみます。
とあるディレクトリ以下のファイルのURLをすべて取得する 第一夜
とあるディレクトリ以下のファイルのURLをすべて取得する。
こんな場面、あると思います。
PHP4もPHP5も共通で使えて、簡単で、早くてっていうコードを探しておりました。
自分でもいろいろ試行錯誤して作ってみたので晒します。
といってもたいしたこと無いですが、一つはPHPに搭載のglob関数を使うもの、もう一つはLinuxコマンドを実行する方法です。
こんな場面、あると思います。
PHP4もPHP5も共通で使えて、簡単で、早くてっていうコードを探しておりました。
自分でもいろいろ試行錯誤して作ってみたので晒します。
といってもたいしたこと無いですが、一つはPHPに搭載のglob関数を使うもの、もう一つはLinuxコマンドを実行する方法です。
2011年11月29日火曜日
[PHP]とあるファイルの文字コードを判定する
PHPで文字コードの判定を行う際、mb_detect_encodingをよく使います。
ベンリなんですが、いまいち判定の精度がよくありません。
それで、PHPに頼るのはやめて、linuxコマンド直打ちを利用します。
利用するコマンドは、「nkf」です。
以下のページを参照しました。
$file に調べたいファイルのパスが入っているとして、
いままで、ファイルを全部読み込んでmb_detect_encodingしてとか、
ファイルの扱いに関しちゃPerlがいいでって思い、perlスクリプトをどうやって使おうか迷ってました。
とても楽チンに解決できてとても、いいわぁ,,,
ベンリなんですが、いまいち判定の精度がよくありません。
それで、PHPに頼るのはやめて、linuxコマンド直打ちを利用します。
利用するコマンドは、「nkf」です。
以下のページを参照しました。
テキストファイルの文字コードを調べるには(nkf編) - @IT http://www.atmarkit.co.jp/flinux/rensai/linuxtips/980nkfguess.html
これを流用します。以下のように、nkfコマンドに--guessオプションを指定すれば文字コードを調べられる。
$ nkf --guess /media/winxp/test.txt
ISO-2022-JP
$ nkf --guess /media/winxp/test2.txt
Shift_JIS
$ nkf --guess ~/test3.txt
UTF-8
$file に調べたいファイルのパスが入っているとして、
$enc = shell_exec('nkf --guess ' . $file);とすれば、$encにそのファイルの文字コードが入ってやってきます。
いままで、ファイルを全部読み込んでmb_detect_encodingしてとか、
ファイルの扱いに関しちゃPerlがいいでって思い、perlスクリプトをどうやって使おうか迷ってました。
とても楽チンに解決できてとても、いいわぁ,,,
2011年8月16日火曜日
タイムゾーン変換プログラム
これいいです。
PHPでデスクトップアプリを作成できるツールを発見しましたので、テストを兼ねてサクッと作りました。
ちっさなオレオレツールを作るのには激しく便利な予感,,,
プログラムはexeを実行すればわかるでしょう。
テストなので対象のタイムゾーンは少なめです。
起動すると上のテキストボックスに、現在の時刻が表示されます。
変換対象の時刻(海外の時刻)を入力し、タイムゾーンを選び変換。
下に日本時刻に変換して表示されます。
ダウンロードする!
exeとdll両方ダウンロードして適当なフォルダに保存してください!
便利なツールを公開してくださっているヒラタさんに感謝。
ヒラタクリエイト - Hirata-Create
http://hirata-create.lar.jp/
PHPでデスクトップアプリを作成できるツールを発見しましたので、テストを兼ねてサクッと作りました。
ちっさなオレオレツールを作るのには激しく便利な予感,,,
プログラムはexeを実行すればわかるでしょう。
テストなので対象のタイムゾーンは少なめです。
起動すると上のテキストボックスに、現在の時刻が表示されます。
変換対象の時刻(海外の時刻)を入力し、タイムゾーンを選び変換。
下に日本時刻に変換して表示されます。
ダウンロードする!
exeとdll両方ダウンロードして適当なフォルダに保存してください!
便利なツールを公開してくださっているヒラタさんに感謝。
ヒラタクリエイト - Hirata-Create
http://hirata-create.lar.jp/
2011年7月18日月曜日
[GAS] dailySummary関数について説明 ~今日の予定をGoogleカレンダーから取得しメールする~
メインのコードになります。
CalendarApp.getAllOwnedCalendars()で、所有するすべてのカレンダーを取得します。
getData()にカレンダー名を渡し、その日の予定をゲッツ。
MailApp.sendEmailで、全部のまとめをメール送信する。
じつはこのスクリプトを使わなくても、その日の予定をメールしてくれる機能は、デフォルトで存在します。しかもグラフィカルでわかりやすい,,,
ただ、通知する時間を変更したり、送信先を変えたり柔軟に対応できるので公開しました。いやぁ、プログラムってほんっとにいいもんですね。
function dailySummary(){
var r = CalendarApp.getAllOwnedCalendars();
var num = r.length;
var allText = "";
for(var i = 0; i< num ; i++){
var g = r[i].getName();
allText = allText + getData(g);
}
//メール送信部分
var to = "(任意のメールアドレスを入れてください)";
var subject = "[dairy]本日の予定";
allText = "★本日の予定一覧です。\r\n" + allText;
MailApp.sendEmail(to, subject, allText);
}
CalendarApp.getAllOwnedCalendars()で、所有するすべてのカレンダーを取得します。
getData()にカレンダー名を渡し、その日の予定をゲッツ。
MailApp.sendEmailで、全部のまとめをメール送信する。
じつはこのスクリプトを使わなくても、その日の予定をメールしてくれる機能は、デフォルトで存在します。しかもグラフィカルでわかりやすい,,,
ただ、通知する時間を変更したり、送信先を変えたり柔軟に対応できるので公開しました。いやぁ、プログラムってほんっとにいいもんですね。
function dailySummary(){
var r = CalendarApp.getAllOwnedCalendars();
var num = r.length;
var allText = "";
for(var i = 0; i< num ; i++){
var g = r[i].getName();
allText = allText + getData(g);
}
//メール送信部分
var to = "(任意のメールアドレスを入れてください)";
var subject = "[dairy]本日の予定";
allText = "★本日の予定一覧です。\r\n" + allText;
MailApp.sendEmail(to, subject, allText);
}
2011年7月13日水曜日
[携帯] 各社間SMS開通!
友人(ソフトバンク)からCメールが届き初めてそんなことになっていると気づきました。
料金はどうなっているのか、簡単にまとめましたので、備忘録的に晒し。
イーモバイル以外は送信3.15円、受信無料が多いですねぇ。
DOCOMO
http://www.nttdocomo.co.jp/service/communication/sms/charge/index.html
送信:1回あたり3.15円(送達通知の有無に関わらず)
受信:ショートメッセージの受信は無料です。
au
http://www.au.kddi.com/cmail/index.html
送信料:3.15円/回 (税込)
Cメール受信:0円
softbank(ホワイトプラン)
http://mb.softbank.jp/mb/price_plan/3G/white_plan/#price-system
ソフトバンク同士(送受信無料)
それ以外
送信:3.15円/通
受信:無料
イーモバイル
http://emobile.jp/charge/smartplan.html
送受信:SMS 2.1円/通
無料通話分が適用されるキャリアもあるのでご参考までに。
料金はどうなっているのか、簡単にまとめましたので、備忘録的に晒し。
イーモバイル以外は送信3.15円、受信無料が多いですねぇ。
DOCOMO
http://www.nttdocomo.co.jp/service/communication/sms/charge/index.html
送信:1回あたり3.15円(送達通知の有無に関わらず)
受信:ショートメッセージの受信は無料です。
au
http://www.au.kddi.com/cmail/index.html
送信料:3.15円/回 (税込)
Cメール受信:0円
softbank(ホワイトプラン)
http://mb.softbank.jp/mb/price_plan/3G/white_plan/#price-system
ソフトバンク同士(送受信無料)
それ以外
送信:3.15円/通
受信:無料
イーモバイル
http://emobile.jp/charge/smartplan.html
送受信:SMS 2.1円/通
無料通話分が適用されるキャリアもあるのでご参考までに。
2011年7月9日土曜日
[GAS] getData関数について説明 ~今日の予定をGoogleカレンダーから取得しメールする~
2.それぞれのカレンダーで登録された予定を取得
マイカレンダーを3つ作成しています。
1.デフォルト
2.2番目作成
3.3番目作成
わかりやすい名前で作っています。
このうちのどれかのカレンダーの名前を渡されたときに
そのカレンダーの今日の予定を取得し、まとめてリターンをします。
まずはコード掲載
function getData(name){
//開始時間を設定
var d1 = new Date();
d1.setHours(0);
d1.setMinutes(0);
d1.setSeconds(0);
//終了時間を設定
var d2 = new Date();
d2.setHours(23);
d2.setMinutes(59);
d2.setSeconds(59);
if (name != "" & name != "cancel"){
var cal = CalendarApp.openByName(name);
var data = cal.getEvents(d1,d2);
var num = data.length;
var allText = ""; //すべてのテキスト
var s = ""; //開始時間
var e = ""; //終了時間
var t = ""; //予定のタイトル
var d = ""; //予定の説明
var i = 0;
allText = "■" + name + "\r\n\r\n";
for(i = 0; i< num ; i++){
if (data[i]) {
s = "・" + t2c(data[i].getStartTime()) + "~";
e = t2c(data[i].getEndTime()) + "\r\n";
t = " " + data[i].getSummary() + "\r\n";
d = data[i].getDescription();
if(d){
d = " " + d + "\r\n";
}
allText = allText + s + e + t + d + "\r\n";
}
}
return allText;
}
}
~コード解説~
予定を取得するのは、「getEvents(d1,d2)」になります。
d1からd2までの時間の予定を取得します。
今日すべての予定なので、開始時間は0:00、終了時間は23:59にしています。
getEventsで取得したイベントのデータオブジェクトから、各種のデータを取得します。
イベントの各種データは以下のメソッドで取得できます。
開始時間→getStartTime()
終了時間→getEndTime()
タイトル→getSummary()
説明→getDescription()
時間に関しては前回説明した、t2c関数で任意のフォーマットに変換しています。
allTextにデータを追加していき、そのカレンダーから今日の予定をすべて取得したらリターンするようになっています。予定がなくても「予定なし」の意味を込めてカレンダー名のみリターンされます。
マイカレンダーを3つ作成しています。
1.デフォルト
2.2番目作成
3.3番目作成
わかりやすい名前で作っています。
このうちのどれかのカレンダーの名前を渡されたときに
そのカレンダーの今日の予定を取得し、まとめてリターンをします。
まずはコード掲載
function getData(name){
//開始時間を設定
var d1 = new Date();
d1.setHours(0);
d1.setMinutes(0);
d1.setSeconds(0);
//終了時間を設定
var d2 = new Date();
d2.setHours(23);
d2.setMinutes(59);
d2.setSeconds(59);
if (name != "" & name != "cancel"){
var cal = CalendarApp.openByName(name);
var data = cal.getEvents(d1,d2);
var num = data.length;
var allText = ""; //すべてのテキスト
var s = ""; //開始時間
var e = ""; //終了時間
var t = ""; //予定のタイトル
var d = ""; //予定の説明
var i = 0;
allText = "■" + name + "\r\n\r\n";
for(i = 0; i< num ; i++){
if (data[i]) {
s = "・" + t2c(data[i].getStartTime()) + "~";
e = t2c(data[i].getEndTime()) + "\r\n";
t = " " + data[i].getSummary() + "\r\n";
d = data[i].getDescription();
if(d){
d = " " + d + "\r\n";
}
allText = allText + s + e + t + d + "\r\n";
}
}
return allText;
}
}
~コード解説~
予定を取得するのは、「getEvents(d1,d2)」になります。
d1からd2までの時間の予定を取得します。
今日すべての予定なので、開始時間は0:00、終了時間は23:59にしています。
getEventsで取得したイベントのデータオブジェクトから、各種のデータを取得します。
イベントの各種データは以下のメソッドで取得できます。
開始時間→getStartTime()
終了時間→getEndTime()
タイトル→getSummary()
説明→getDescription()
時間に関しては前回説明した、t2c関数で任意のフォーマットに変換しています。
allTextにデータを追加していき、そのカレンダーから今日の予定をすべて取得したらリターンするようになっています。予定がなくても「予定なし」の意味を込めてカレンダー名のみリターンされます。
[GAS] t2c関数について説明 ~今日の予定をGoogleカレンダーから取得しメールする~
3.時間をフォーマットに沿って表示
いきなり順番無視ですが、簡単なところから解説します。
といってもこの部分はそのままですが、取得した日付データを
任意のフォーマットに変えてリターンします。
function t2c($t){
return Utilities.formatDate(new Date($t),"JST","HH:mm");
}
Utilities.formatDateの解説
以下の引数を設定します。
Utilities.formatDate(
日付の元データ,
タイムゾーン,
フォーマット
);
上記の例であれば以下の内容となります。
日付のデータとして→Fri Jul 08 19:00:00 PDT 2011 (←引数で与えられた日時)
タイムゾーン(日本時間を指定)→JST
時間表示→HH:mm
リターン(日本時間 24時間表記)→11:00
カレンダーから取得した日付データを、任意の形式で表示する時に利用します。
いきなり順番無視ですが、簡単なところから解説します。
といってもこの部分はそのままですが、取得した日付データを
任意のフォーマットに変えてリターンします。
function t2c($t){
return Utilities.formatDate(new Date($t),"JST","HH:mm");
}
Utilities.formatDateの解説
以下の引数を設定します。
Utilities.formatDate(
日付の元データ,
タイムゾーン,
フォーマット
);
上記の例であれば以下の内容となります。
日付のデータとして→Fri Jul 08 19:00:00 PDT 2011 (←引数で与えられた日時)
タイムゾーン(日本時間を指定)→JST
時間表示→HH:mm
リターン(日本時間 24時間表記)→11:00
カレンダーから取得した日付データを、任意の形式で表示する時に利用します。
[GAS] 関数説明 ~今日の予定をGoogleカレンダーから取得しメールする~
まずは全スクリプトを掲載します。解説は次回から!
function dailySummary(){
var r = CalendarApp.getAllOwnedCalendars();
var num = r.length;
var allText = "";
for(var i = 0; i< num ; i++){
var g = r[i].getName();
allText = allText + getData(g);
}
//メール送信部分
var to = "(任意のメールアドレスを入れてください)";
var subject = "[dairy]本日の予定";
allText = "★本日の予定一覧です。\r\n" + allText;
MailApp.sendEmail(to, subject, allText);
}
function getData(name){
//開始時間を設定
var d1 = new Date();
d1.setHours(0);
d1.setMinutes(0);
d1.setSeconds(0);
//終了時間を設定
var d2 = new Date();
d2.setHours(23);
d2.setMinutes(59);
d2.setSeconds(59);
if (name != "" & name != "cancel"){
var cal = CalendarApp.openByName(name);
var data = cal.getEvents(d1,d2);
var num = data.length;
var allText = ""; //すべてのテキスト
var s = ""; //開始時間
var e = ""; //終了時間
var t = ""; //予定のタイトル
var d = ""; //予定の説明
var i = 0;
allText = "■" + name + "\r\n\r\n";
for(i = 0; i< num ; i++){
if (data[i]) {
s = "・" + t2c(data[i].getStartTime()) + "~";
e = t2c(data[i].getEndTime()) + "\r\n";
t = " " + data[i].getSummary() + "\r\n";
d = data[i].getDescription();
if(d){
d = " " + d + "\r\n";
}
allText = allText + s + e + t + d + "\r\n";
}
}
return allText;
}
}
function t2c($t){
// time2convert
return Utilities.formatDate(new Date($t),"JST","HH:mm");
}
function dailySummary(){
var r = CalendarApp.getAllOwnedCalendars();
var num = r.length;
var allText = "";
for(var i = 0; i< num ; i++){
var g = r[i].getName();
allText = allText + getData(g);
}
//メール送信部分
var to = "(任意のメールアドレスを入れてください)";
var subject = "[dairy]本日の予定";
allText = "★本日の予定一覧です。\r\n" + allText;
MailApp.sendEmail(to, subject, allText);
}
function getData(name){
//開始時間を設定
var d1 = new Date();
d1.setHours(0);
d1.setMinutes(0);
d1.setSeconds(0);
//終了時間を設定
var d2 = new Date();
d2.setHours(23);
d2.setMinutes(59);
d2.setSeconds(59);
if (name != "" & name != "cancel"){
var cal = CalendarApp.openByName(name);
var data = cal.getEvents(d1,d2);
var num = data.length;
var allText = ""; //すべてのテキスト
var s = ""; //開始時間
var e = ""; //終了時間
var t = ""; //予定のタイトル
var d = ""; //予定の説明
var i = 0;
allText = "■" + name + "\r\n\r\n";
for(i = 0; i< num ; i++){
if (data[i]) {
s = "・" + t2c(data[i].getStartTime()) + "~";
e = t2c(data[i].getEndTime()) + "\r\n";
t = " " + data[i].getSummary() + "\r\n";
d = data[i].getDescription();
if(d){
d = " " + d + "\r\n";
}
allText = allText + s + e + t + d + "\r\n";
}
}
return allText;
}
}
function t2c($t){
// time2convert
return Utilities.formatDate(new Date($t),"JST","HH:mm");
}
2011年7月7日木曜日
[GAS]dailySummary ~今日の予定をGoogleカレンダーから取得しメールする~
手始めに作ったのは「Googleカレンダーに登録したすべてのカレンダーからその日の予定をメールする」というものです。スクリプト名は「dailySummary」
このスクリプトは3つの関数に分けて作られました。
肝心のコード類は次回以降掲載します。
このスクリプトは3つの関数に分けて作られました。
- すべてのカレンダーを取得
- それぞれのカレンダーで登録された予定を取得
- 時間をフォーマットに沿って表示
肝心のコード類は次回以降掲載します。
Google Apps Script
・・・ Google Apps Script ・・・
Microsoft Officeに搭載されているVBAのごとく、Googleのサービスに自分でいろいろな機能をつけたり自動化したりできるサービスです。ちょっと試しにスクリプトを作りましたので、拙作ながらご紹介いたします。
Microsoft Officeに搭載されているVBAのごとく、Googleのサービスに自分でいろいろな機能をつけたり自動化したりできるサービスです。ちょっと試しにスクリプトを作りましたので、拙作ながらご紹介いたします。
登録:
投稿 (Atom)
ザ・シークレットサービス
大層ななまえですが、選択した文字列をシークレットウインドウ内で、 Google検索するというものです。 https://docs.google.com/open?id=0B58uK3aQr15IM0ItWk1WVnFUWnVleXJVWEhqUktCdw 1...
-
2.それぞれのカレンダーで登録された予定を取得 マイカレンダーを3つ作成しています。 1.デフォルト 2.2番目作成 3.3番目作成 わかりやすい名前で作っています。 このうちのどれかのカレンダーの名前を渡されたときに そのカレンダーの今日の予定を取得し、まと...
-
PHPで文字コードの判定を行う際、mb_detect_encodingをよく使います。 ベンリなんですが、いまいち判定の精度がよくありません。 それで、PHPに頼るのはやめて、linuxコマンド直打ちを利用します。 利用するコマンドは、「 nkf 」です。 以...
-
とあるディレクトリ以下のファイルのURLをすべて取得する。 こんな場面、あると思います。 PHP4もPHP5も共通で使えて、簡単で、早くてっていうコードを探しておりました。 自分でもいろいろ試行錯誤して作ってみたので晒します。 といってもたいしたこと無いですが、一つは...


