忍者ブログ

書かないと忘れてしまうから

仕事上必要な工夫など、備忘録として残します。

[PR]

2024-05-17
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

[Google カレンダー]から[iCal]形式ファイルをエクスポートする

2012-12-03
 GoogleカレンダーからiCalを(エクスポートして)利用する方法には2つあります。


GoogleカレンダーからiCal形式ファイルをダウンロードする方法


 Googleカレンダーからローカルにファイルをエクスポートする方法です。このやり方ではiCal形式だけがサポートされています。
 ■エクスポートの手順
 Googleカレンダー>マイカレンダー>設定>カレンダーをエクスポート


Gcal3.GIF

と選ぶことで、カレンダ毎にicsファイルが作成されます。


GoogleカレンダーのiCalURLに接続する方法


 この方法は、iCalのURLに接続して、データをオンライン取得する方法です。
 当方のRubyスクリプトなどでローカルのファイルを指定しているところは代わりにiCalのURLを指定することでスクリプトで自動的にデータを取得できるようになります。
 しかし、その際にはIDやパスワードをスクリプトに埋め込むことになりそうなので私は採用していません。

 ■エクスポートの手順
 Googleカレンダー>設定>限定公開URL
 
Gcal2.GIF

 限定公開URLにはXMLとICALがありますが、たいていICALを指定するようです。
 このICALのURLをコピーして、連携先のアプリケーションに登録すると連携できるというのが一般的ですが、ブラウザのアドレスバーに入力するとbasicというファイル名で保存しようとするはずです。
 このやり方はカレンダー毎にURLが発行されるので手間がかかります。
PR

GCal2Excelで[Googleカレンダー]の予定を[Excel]ファイルに変換する

2012-12-02
 様々なアプリがGoogleカレンダーと同期できることを売りにしています。
 それはGoogleカレンダーが最も受け入れられているカレンダーだからといえるでしょう。
 しかし、GoogleカレンダーはCSVでの出力をサポートしていないという困った代物です。
 
 Googleカレンダーに限らず、カレンダーソフトは未来の予定管理が主な目的だと思います。
 では、過去の記録は?
 日記・日誌として残すだけでなく、反省を踏まえつつ来年の計画に再利用することが大切ではないでしょうか。
 そんなGoogleカレンダーにデータを貯めこむと、繰り返される予定は過去の予定を再利用したくなります。
 例えば幼稚園や小学校、地域の行事などは毎年ほとんど同じ時期に行われますからエクセルなどで一覧しながら編集したいものです。
 カレンダー形式よりExcelなどの表計算ソフトの方がわかりやすいという方は多いと思います。
 GCal2ExcelはGoogleカレンダーの予定データを編集が容易なExcelやCSVに変換してくれるWebサービスです。

※当方ではここで紹介している Gcal2Excel の信頼性を保証しておりません。各自でご判断ください。
 
■アクセス許可を求めてきます

アクセスを許可














ここで許可したアクセス許可を取り消すには→ここ

■ダウンロード設定画面
Gcal2excel設定画面
・ダウンロード形式はxls,xlsx,csvが選べます。
・Merge all・・・は複数カレンダーをわけずにひとつのシートにダウンロードするようです。
・Created By はカレンダー名が入っているようです。
・Where は場所
・Attendeesは参加者ですが、登録しなければカレンダー名
・Attendees Countは参加者数

■ダウンロードしたデータ(CreatedByとWhereを追加チェック)
Gcalexcel2.GIF



AllDayEventとして登録したので社長講話が24時間などと恐ろしいことになっています。
 

[Ruby] Shift-JIS/UTF-8(BOM)/UTF-8(NBOM)を相互変換する

2012-11-06
 日本語 Windows 環境 では Shift-JIS という文字エンコード形式が使用されていますが、Web 環境では UTF-8 という形式が多用されています。さらにUTF-8にはBOMというヘッダがあるものとないものがあるなど厄介です。データを Web とローカルでやり取りする際にはこのエンコードでトラブルが起こることがあるようです。
 今回は、Shift-JIS と UTF-8(BOMあり、BOMなし)の3種類のファイルの相互変換をするRubyスクリプトを作成しました。
 また、改行コードも Windows(CRLF)、UNIX(LF)、Mac(CR)などと環境により異なっていて困りものです。この際ですから出力改行コードも変換します。

■ソースコード(in Ruby 1.9.3)
#! ruby -Ks
# coding:windows-31j
#! /usr/bin/env ruby

require 'nkf'

inf=ARGV[0]
linesep=ARGV[1]

f = open(inf, "r")
  str = f.read
f.close


unless NKF.guess(str)==NKF::UTF8 || NKF.guess(str)==NKF::SJIS then
  puts "Only for UTF-8 or Shift-JIS"
  exit
end

if linesep==nil then
    linesep="-Lu"
  end
     # -Lw:Windows(CRLF) -Lu:UNIX(LF) -Lm:Mac(CR)
    print "
Option of Line Separator : "+linesep+"
"
end

doc_nbom=NKF.nkf('-w80 '+linesep,str)
doc_sjis=NKF.nkf('-s '+linesep,str)

NBOMf=File.dirname(inf)+"/"+File.basename(inf,".*")+"_NBOM"+File.extname(inf)
BOMf=File.dirname(inf)+"/"+File.basename(inf,".*")+"_BOM"+File.extname(inf)
SJISf=File.dirname(inf)+"/"+File.basename(inf,".*")+"_SJIS"+File.extname(inf)

ot = open(NBOMf,"w")
  ot.print doc_nbom
  print "
Created UTF-8 without BOM(NBOM) Formated File
"
  print "  "+NBOMf+"
"
ot.close

ot2 = open(BOMf,"w")
  ot2.print("")
  ot2.print doc_nbom
  print "
Created UTF-8 with BOM Formated File
"
  print "  "+BOMf+"
"
ot2.close

ot3= open(SJISf,"w")
  ot3.print doc_sjis
  print "
Created Shift-JIS Formated File
"
  print "  "+SJISf+"
"
ot3.close

右クリック(Macの場合はしばらくクリック)して、「対象をファイルに保存」などしてください。
 


■実行法
 sjis_utf.rb  xxxxx.xxx [-Lw/-Lu/-Lm]
 第1引数でインプットファイルを指定します。
 第2引数は -Lw:Windows(CRLF) -Lu:UNIX(LF) -Lm:Mac(CR) (省略すると-Lu)
 これにより xxxxx_BOM.xxx,xxxxx_NBOM.xxx,xxxxx_SJIS.xxx が作成されます。
 ただし、RUBY.EXE に PATH が通っていなければエラーになります。

 ひとに説明するほど詳しくないのですが、簡単に記すと、
 (1)Shift-JIS,UTF-8以外は処理しない。
 (2)NKFの -w80 オプションでBOMなしファイルを作成し、
 (3)BOMヘッダ+BOMなしファイルでBOMありファイルとする。
 (4)NKFの -s オプションでShift-JISファイルを作成する。
 という流れです。

 Shift-JIS と UTF-8(BOMあり、BOMなし)、いずれを読み込んでもできるファイルは3種類です。場合によっては元のファイルと同じ物も含まれていると思いますが判別していません。

 
 Ocraでコンパイルした実行ファイル

右クリック(Macの場合はしばらくクリック)して、「対象をファイルに保存」などしてください。
 

メールでRemember The Milkに複数リストの複数タスクを一括登録するVBA

2012-11-05
Remember The Milk の複数リストに複数タスクを一括登録登録したいと思います。
そのための Excelツール を作成しました。
settingシートに必要な設定をして下さい。
Excelに「カテゴリ」「タスク名」「期日」が一覧管理されているとします。


「下の情報からRTMにメールする」ボタンを押すと、
EMS審査報告 #EMS ^2013/3/3 や
天童物流センター #視察 ^2013/1/14 などと
1行1タスクとしてメール本文データが作成されます。
カテゴリはRTMで同名のリストが用意されていればそこに割り振られます。なければ受信箱に入ります。
受信箱に入るといろんなカテゴリのタスクがぐじゃぐじゃになるので#記号を使ってタグにカテゴリ名を設定しています。
このデータに基づいてメールが送信されます。



EMSというリストは作ってあるので、EMSというカテゴリのタスクはそこに入ります。

視察やemsというリストは作ってないので、受信フォルダに入ります。

Remember The Milk って便利ですね。

2012-11-05
 世間ではGoogle Tasks がタスク管理サービスの中心になりつつあるようで、他のアプリケーションソフトではGoogle Tasksとの連携を売りにしているものが多いように感じます。
 そんな中で、ちょっと古株ですが、Remember The Milk (RTM)がなかなか良い感じです。
 Webサービスとandroid,iPhoneなどのアプリ等があり連携できます。

 売りは、メールでのタスクの一括登録です。
 表計算ソフトなど普段使い慣れた入力環境作成したタスクをメールで一括登録してくれるのはとても助かります。

まずは設定画面ですが、

 rtm1.JPG
 
この中で
「受信箱のメールアドレス」  ユーザ名+英数字@rmilk.com
「インポート用のアドレス」  ユーザ名+英数字+import@rmilk.com
に着目して下さい。
このアドレスにメールするとRTMにタスク登録できます。


一件のタスクをメールで登録


 「受信箱のメールアドレス」に対してメールを送ると1件のタスクが登録出来ます。
 メールのタイトルに記載した内容→タスク名となります
 メール本文→行単位で細かい項目を設定出来ます。

以下(式サイトより)

メール記述方法

メールの宛先には「受信箱のメールアドレス」を指定します。件名(タイトル)にはタスク名を入力してください。
本文は “識別子: 値” というふうに1行ずつ入力します。(メールサンプルを参考にしてください)

識別子は以下の通りです。

項目 識別子 文例
リスト List (または L) List: Work
※未指定の場合は受信箱に追加されます。
期日 Due (または D) Due: Monday at 9:00
リピート Repeat (または R) Repeat: Every week
予測時間 Estimate (または E) Estimate: 2 hours
タグ Tags (または S) Tags: 仕事 会議
※タグとタグの間はスペースで区切ります
場所 Location (または O) Location: 自宅
URL URL (または U) URL: http://www.rememberthemilk.com/
優先度 Priority (または P) Priority: 1
タスク Task (または T) Task: 帰りに牛乳を買う
※タイトルを指定できない場合などに使用します。
 
ここまで、公式サイト内容

 特定のアルファベットとコロンの組み合わせ以外はノートとして扱われます。
 リスト名を指定しない場合には「受信箱」に登録されます。
 メールタイトルさえあれば本文はなくてもかまいませんし、どれか1つだけ指定してもかまいません。

 また、アルファベットの代わりに記号を使うこともできます。
# リスト名
^ 期日
! プライオリティ
* 繰り返し

これは実は重要です。

複数のタスクを1通のメールで登録



複数のタスクを1通のメールで登録するためにはインポート用のアドレスを使います。
今度は件名には「リスト名」を入れます。件名がブランクだと、受信箱に登録されます。
本文にはタスクを書くのですが、1行が1件のタスクになります。
件名:(リスト名)
本文:
タスク1 ^ 期日! プライオリティ * 繰り返し #タグ
タスク2 ^ 期日! プライオリティ * 繰り返し #タグ
タスク3 ^ 期日! プライオリティ * 繰り返し #タグ
タスク4 ^ 期日! プライオリティ * 繰り返し #タグ
:
複数一括登録の場合には # はリスト名ではなくタグになるようです。
これは結構便利です。

プロフィール

HN:
otsukare30
性別:
男性
自己紹介:
mail:otsukare30★gmail.com

カレンダー

04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

ブログ内検索

忍者カウンター

P R