2012年11月29日

OutlookをGmailのような使い勝手にする方法

長らく、会社で使っているOutlook(2003)がGmailの様にできないものかと悩んできたが、マクロやサードパーティツールを駆使してなんとか使い勝手の良い状態になったので防備録。
ちなみに、、、
 ・VBAの知識は多少あった方がいいです。
 ・Taglocityはボタン一つでタグをつけてくれるので便利ですが、導入は必須ではありません。
 ・Outlook2003での実装のため、Outlook2003以外の動作は確認していません。
です。

なお、gmailぽくするために特に重要なことは、
 ・送信メールも受信メールも同じフォルダで管理する
  →そのための仕訳設定とフォルダのビュー構成を変える
 ・なるべく自動とすることで手間を省く(タグ付け、フォルダ分け)
な感じでしょうか。



1.フォルダ作成

フォルダ構成は極力シンプルにする。
※最高なのは、【受信トレイ】と、【mute】フォルダ
 フォルダ構成が上記以外の場合、フォルダと分類項目(タグ)の関連はあらかじめ決めておかないと、メール振り分け時に困ることになる


2.自動仕訳の設定

(1)メール送信時の設定

・送信後、【受信トレイ】にコピー
・送信時、分類項目に[Sent]を設定 →これは個人的なもの

(2)メール受信時の設定

「[宛先]に自分の名前がない場合に、分類項目に[ref]を設定」
※これ以外の分類項目は、マクロで設定するので、自動仕訳での設定不要
→仕訳ルールの保存容量が決まっているので(2KB?)、あまり保存したくないため


3.フォルダビューの設定

(1)表示>並び替え>現在のビューを選択した後、フォルダビューを変更。

フィールド:重要度、アイコン、フラグ、添付ファイル、分類項目、差出人、宛先、件名、受信日時、フォルダ、フラグ
グループ化:テーマ(昇順)→項目の追加はしない
並び替え:受信日時(降順)
自動書式:以下の二つを追加
 ・書式名:重要度高→重要度が高のものを、フォント色を赤にする
 ・書式名:ref→分類項目がrefのものを、フォント色を茶にする →これは個人的なもの

(2)再び、表示>並び替え>現在のビューを選択

※こうすると、現在のビューに書式が登録される…らしい


4.Taglocityのインストール

(1)Taglocityをインストールして、タグ分類を作成する

(このとき、[Sent][ref]も忘れずに登録する)
※レジストしなくても十分使えます…。

(2)タグの属性をPublicにする

送信メールにもタグがつくので便利だけど、メールの最下部に1行追加されてしまうが、Privateにするとタグが消されてしまうので予期せぬタグになってしまうことがある。


5.Outlookマクロの設定

GMailでは関連メールが自動的に紐付いてタグが自動設定されるが、Outlookでは出来ない。
なので、メール内容に応じて自動的にタグ付けされるようにすると多少メール分類が楽になる。

(1)VBAEditerを開き、ツール>デジタル署名 で、マクロに対する署名を行う。これでダイアログが表示されなくなる。

(2)ツール>プロジェクトのオプション で、プロジェクト名を設定する(ツールバーに表示するので、短ければ短いほど良い)。

(3)標準モジュールに以下のコードを貼り付ける。以下★がフォルダ部分と◆が分類項目については、設定により変更する。

Dim olns  As Outlook.NameSpace ' NameSpaceオブジェクト
Dim mf_mute As Outlook.MAPIFolder    ' MAPIFolderオブジェクト		'★
Dim mf_folder1 As Outlook.MAPIFolder    ' MAPIFolderオブジェクト	'★
'------------------------------------------------
'選択メールを移動する(マクロ用)
'------------------------------------------------
Public Sub MoveMail()
    Dim myOlApp As New Outlook.Application
    Dim oSel As MailItem
    Set myOlApp = CreateObject("Outlook.Application")
    Set olns = Application.GetNamespace("MAPI")

    Set mf_mute = olns.Folders("メールボックス").Folders("受信トレイ").Folders("mute")			'★
    Set mf_folder1 = olns.Folders("メールボックス").Folders("受信トレイ").Folders("Folder1")	'★
  
    For Each oSel In myOlApp.ActiveExplorer.Selection
        Call MoveMailByTag(oSel)
    Next
End Sub
'------------------------------------------------
'指定されたメールの分類項目からフォルダ移動する
'優先度が高いフォルダが上
'タグと振り分け先のフォルダをelseifで切っていくが、1フォルダのみならif分岐不要
'------------------------------------------------
Public Sub MoveMailByTag(objItem As MailItem)
    Dim strTag As String
    strTag = objItem.Categories
    
    If InStr(strTag, "{TagName1}") > 0 Then								'◆
        If objItem.Parent <> mf_mute Then objItem.Move mf_mute			'★
        
    ElseIf InStr(strTag, "{TagName2}") > 0 Then							'◆
        'If objItem.Parent <> mf_folder1 Then objItem.Move mf_folder1	'★
        
    End If
End Sub
'------------------------------------------------
'選択メールにタグをつける(マクロ用)
'------------------------------------------------
Public Sub Tagging()
    Dim myOlApp As New Outlook.Application
    Dim oSel As MailItem
    
    Set myOlApp = CreateObject("Outlook.Application")
  
    For Each oSel In myOlApp.ActiveExplorer.Selection
        Call システムIDTag設定(oSel)
    Next
End Sub
'------------------------------------------------
'メールオブジェクトの件名・本文から分類項目をつける
'------------------------------------------------
Public Sub システムIDTag設定(objItem As MailItem)
    Dim strMail As String
    '検索時にヒットするよう、全角大文字にする
    strMail = StrConv(objItem.Subject & vbCrLf & objItem.Body, vbUpperCase + vbWide)
    
    '****************************************************
    '開発課題・プロジェクト
    '****************************************************
    'ここに記載
    
    '****************************************************
    '属性
    '****************************************************
    'トラブル
    If InStr(strMail, "トラブル報告") > 0 Or InStr(strMail, "障害報告") > 0 Or InStr(strMail, "不具合") > 0 Then
        objItem.Categories = pf_strAddTag(objItem.Categories, "{TagName1}")			'◆
    End If
     '契約
    If InStr(strMail, "見積") > 0 Or InStr(strMail, "提案書") > 0 Or InStr(strMail, "作業指示書") > 0 Then    'InStr(strMail, "契約") > 0 Or
        objItem.Categories = pf_strAddTag(objItem.Categories, "{TagName2}")			'◆
    End If
    '研修
    If InStr(strMail, "研修") > 0 Or InStr(strMail, "通信教育") > 0 Then
        objItem.Categories = pf_strAddTag(objItem.Categories, "{TagName3}")			'◆
    End If
    
    objItem.Save
End Sub
'------------------------------------------------
'重複が無いように設定する
'------------------------------------------------
Public Function pf_strAddTag(strBase As String, strAdding As String) As String
    If InStr(strBase, strAdding) > 0 Then
        pf_strAddTag = strBase
    Else
        pf_strAddTag = strBase & ", " & strAdding
    End If
End Function

(4)ThisOutlookSessionに以下のコードを貼り付ける

'------------------------------------------------
'メール送信時の自動処理
'------------------------------------------------
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Call システムIDTag設定(Item)
End Sub
'------------------------------------------------
'メール受信時の自動処理
'------------------------------------------------
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
On Error Resume Next
    Dim strEntryID
    Dim objItem As MailItem
    
    For Each strEntryID In Split(EntryIDCollection, ";")
        Set objItem = Session.GetItemFromID(strEntryID)
        'MsgBox objItem.Subject
        
        Call システムIDTag設定(objItem)
    Next
End Sub


6.マクロをツールバーに登録

表示>ツールバー>ユーザー設定>マクロ にて、Taggingマクロと、MoveMailマクロをツールバーに登録する。


7.Gmailの様な表示を追求するなら、検索フォルダを設定する

フォルダビューは、検索フォルダも2と同様

(1)会話(全てのメール)

・条件は、【受信トレイ】(とそのサブフォルダ(【mute】など))を対象とする
※フォルダ構成が2つ以上の場合に有効

(2)未読メール

・条件は、未読メール

(3)タグごと

・条件は、【受信トレイ】(とそのサブフォルダ(【mute】など))を対象とする
・分類項目を指定する
※その他、TaglocityのFilter機能でも動的に絞り込めるので使い勝手は良い。


8.使い方

(1)受信トレイをWORKとして作業を実施

(2)フラグなど必要な処理が完了したら、MoveMailマクロを実行してフォルダ分け(=アーカイブ)




2012年11月28日

オリンパスのミラーレス一眼【E-PM1】購入!

子供が生まれ、どこか出かける度にビデオ(Sony CX-7)と一眼(Nikon D40)を持ち歩く日々が続いていたが、いい加減重くてつらくなってきたあたりで、Nikonからミラーレス一眼が出るという情報を入手した。
興味を持ってみていたのだが、
 ○フォーカススピードは速いらしい
 ○簡単機能で便利らしい
というのはアリにしても、
 ×センサーが小さいのでボケがあまり楽しめない
 ×交換レンズが出揃ってない
 ×水中ハウジングがない
  →サードパーティから出てるがストロボが使えないなど、イマイチ
  →その後純正も発売されたけど、サードパーティに毛が生えた感じ
ということで、購買意欲はすっかり落ちていた。


そんなとき、オリンパスの新製品が出るというので眺めてみると、さすが昔から水中に力を入れてきたオリンパス、純正ハウジングもあるミラーレスがたくさんあることを発見。
特に最新機種は一世代前の最高機種(OM-D)と同じセンサーを積んでいるということで、画像もかなりきれいらしい。でもいかんせん発売直後なのでべらぼうに高い。
しかも水中ハウジングの評価がイマイチ(以前は使えた機能が新機種になって使えなくなった、とか…)。


帯に短したすきに長しだなぁと思っていたら、オリンパスの型落ちが新機種入れ替えの影響で激安になっている!
ハウジングも見てみたら、”レンズポートを交換してどんなレンズでも使えるような本格的なハウジング”ではないけれど、いくつかのレンズが交換できるらしい…。

一気に気持ちがぐらついたのだった。


この時点ではまだ「いいなぁ、欲しいな」「早く今のカメラ壊れないかなぁ(壊れたら買い換えられるのに…)」くらいしか思っていなかったが、情報収集は必要だよねとばかりに、最安値情報を探してみる。

やっぱりというか何というか、Amazonが一番安い(2012年11月初旬当時)。


OLYMPUS マイクロ一眼 PEN mini E-PM1 レンズキット シルバー E-PM1 LKIT SLV



OLYMPUS マイクロ一眼 PEN E-PM1用防水プロテクター PT-EP06L



でも新機種も出たし、もう少し安くなるかな?と思ってみていると、楽天で激安セットを発見!(8万円)

E-PM1 ハウジングセット


カメラ本体が安くなるにしても2万円台後半だろうと思っていたし、定価約9万円のハウジングは5万以下にはならないと思っていたので、セットで8万なら最安値を待ったとしてももっと安い。


と思っていたら、勝手に体が動いてポチっとしてたのだった…。


そしてポチっとしたあとに妻に事後報告。ちょっと怒られた…(やっぱり)。




2012年11月25日

ノートPCのメモリも増設

SSDを換装したついでに、メモリも増設。一昔前から安くなったけど、ここ数年でまた一段と安くなったなあ…と思いながら、MX33のスペック表を見直して、Amazonでもっとも安いメモリを探す。
スペックがあっているの買わないと、メモリの性能が発揮されない(デュアルチャネル)から注意。

Transcend ノートPC用増設メモリ PC3-8500(DDR3-1066) 2GB JM1066KSU-2G
Transcend JetRam ノートPC用増設メモリ PC3-8500(DDR3-1066) 2GB 永久保証 JM1066KSU-2G



HDD換装と違って、メモリの増設は普通のドライバーで裏蓋あけて差し込めば終了!
たった千円超えるくらいの金額でメモリ増設ができるなんて、すばらしい世の中になったもんだ(^^。

さて、メモリが4GBになったものの、32ビットOS(Windows7)が認識できるメモリ量は3.5GBまで…。残りの500MBは実は無駄になってしまっている。そこで「RAMディスク」と言われる手法により、未使用領域を有効活用することにした。

※RAMディスクにする場合はRAMディスクがどんなものなのかなど、理解した上で実行することをおすすめします。


***CAUTION!***
ここから先はあくまで僕が設定した内容ですので、自己責任にてお願いします
**************

1.RAMディスク化ツールのダウンロード
Gravotto
からダウンロード

2.解凍して、ramdisk.exeを実行
  →メモリ4GBの場合、約3.2GBが実メモリ量でその他ビデオメモリも利用しているため、512MB程度がよさそう
  →ドライブは【Z】に設定
  →再起動

3.解凍したフォルダで管理者権限にて以下のバッチ(※)を実行
===================================
FORMAT /FS:NTFS /Q /V:RamDisk /A:512 Z: /Y
CHKDSK /L:2048 Z:
ICACLS Z: /T /grant Everyone:F
MKDIR Z:\TEMP
MKDIR Z:\TMP
MKDIR Z:\SPOOL
MKDIR Z:\LOG
MKDIR Z:\ETC
rdutil Z: registry
@pause
===================================
※この内容をメモ帳に貼り付けて、拡張子をcmdで保存してください。

実行後、再起動して設定状態を確認


4.環境変数の変更
 ・インターネットオプション=Z:\Temporary Internet Files
 ・デバイスとプリンタ>プリントサーバープロパティ>プリンタスプール=Z:\SPOOL
 ・システム>詳細設定>パフォーマンスオプション>仮想メモリ=Zドライブ128MB
 ・Outlook2003のテンポラリフォルダをZに変更する(会社用)
   HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Security
    名前:OutlookSecureTempFolder
    種類:REG_SZ
    データ:指定したいフォルダのパス

**************


最初の頃はシステムのTEMPフォルダもRAM化したんだけど、ファイル解凍などで容量圧迫などで実効性が乏しかったので断念しました。


2012年11月24日

SSDメンテナンスツール

前回の購入編の続き。


SSDの特性としてメンテナンスをしないと徐々に性能が下がっていくらしい。またある程度の寿命が決まっているようで、これらを管理していかないとSSDのメリットが活かされない。

ちょっとめんどくさいと思いきや、SSDの寿命は10年近くなので、その前にPCが壊れてしまうことも多いだろうから気にしなくても良さそうだ。


さて、性能低下を防ぐためには、デフラグをしなければならない。そこでこれ。

Defraggler

使い方は、アクション>拡張>空き領域のデフラグ を実行するだけ。


でもあんまり頻繁にやる必要はありません。


でもって、SSDの稼働時間から残り寿命を算定するツール。

SSDLife Free

これは純粋に残り時間を表示してくれるだけだけど、状況を表示してくれるのはありがたい。




最後にSSDへのアクセス状況を確認できるツール。

CrystalDiskInfo

代替処理済みのセクタ数とか書き込み失敗回数が増えてくると危険、とのこと。



詳しく知りたい人はいろいろ調べてみてください。


2012年11月23日

ノートPCをSSD化した

久しぶりのブログ記事。
最近、時間が取れなくてつぶやくの精一杯だったのだけど、久しぶりに更新。


3年ほど前に買った東芝のMX33の調子がイマイチ良くなったので、いっそのこと!と思い切ってSSD化した。

買ったのはこれ。
Crucial 2.5インチ 内蔵型 SATA3.0対応 M4 SSDシリーズ 512GB CT512M4SSD2
Crucial 2.5インチ 内蔵型 SATA3.0対応 M4 SSDシリーズ 512GB CT512M4SSD2



購入時点(2012年10月)では、ファームウエアも最新のものでした。

作業前に、リカバリーディスクを作って、作業開始。…の前に、HDDの蓋を開くには、特別なドライバーが必要なのでこれも購入。
T6といわれる、ちょっと特別なドライバー。

アネックス(ANEX) ヘクスローブドライバーT型 T6×50 No.6300
アネックス(ANEX) ヘクスローブドライバーT型 T6×50 No.6300



さて、作業そのものは、難しいことはなにもありません。

(1)リカバリーメディア(DVDもしくはUSBメモリ)の作成。
僕はUSBメモリでやりました。DVDは2枚組になるので面倒です。
(2)HDD換装
(3)東芝のリカバリ方法が書かれたマニュアルを読みながら進める。
ただしこのマニュアルというか、用語が分かりづらいのが玉に瑕…。リカバリー領域をHDDに構築したりするとメニューの選び方が変わるのだけど、これがまたわかりづらい(苦笑)。
いずれにしても書いて有るとおりに進めればおおむね問題なし。
(4)いつも使っているソフトをインストールして、無事にセットアップ完了。

めでたくSSDになりました(^^)



起動の体感は早くなった!けど、実測取っていないのでどれくらいかは分かりません(笑)。iTunesの起動がものすごく早くなったのは特筆すべきことだろう。


続きの記事で、SSDをメンテナンスするツールなんかも紹介したい。




2012年01月02日

Mon, Jan 02

  • 20:25  @nobu2794 稲取のダイビングサービスのランチに金目鯛のフライバーガーがあってめちゃくちゃ上手かったのを思い出しました。しばらく食べてないなぁ…  [in reply to nobu2794]
  • 18:18  久しぶりにハイボール。この年末年始は奇跡的にビール数本しか飲んでないので、久しぶりの高い度数のお酒。
  • 17:52  @nobu2794 フィッシュバーガー?  [in reply to nobu2794]
  • 17:51  温泉に行ってきた。僕は大晦日以来二日ぶり。娘はこの3日間毎日w
  • 16:26  帰宅なう。初詣ついでにショッピングモールとかに行こうとしたら、周辺がものすごい混雑だったので目前にして断念。…というのを2カ所で繰り返した。2日って混むね…。
  • 12:12  子安神社で初詣なう。
Powered by twtr2src.

2012年01月01日

Sun, Jan 01

  • 16:39  でもアルコールじゃないからすっきりしてるのが不思議w
  • 16:39  「飲み過ぎて気持ち悪い」のうち、3割くらいはお腹がたぷんたぷんになることが判明した、キリンフリー4本くらい飲んでちょっと気持ち悪い2012年の正月。
  • 13:53  10時から妻実家なう。
  • 12:42  Miyachさん http://t.co/yvPLJGBj
  • 09:38  いい記事>> コンサルタントがよく使うRFPの書き方:12項目で網羅的に作成(1/3):企業のIT・経営・ビジネスをつなぐ情報サイト EnterpriseZine (EZ) http://t.co/Xde0Hi7h
  • 09:21  今年もよろしくね!RT @makomako7tk: @tomo0719 今年もよろしくお願いしまーす。
  • 08:55  そう使い方はいいですね!是非使って欲しいですね! RT @musashiya6348: せめて遺族や被害者に… RT @tomo0719 懸賞金貰っても使えない(=出所できない)可能性が…w RT: 懸賞金って本人が貰えるんでしょうか? って、愚問?
  • 08:51  ヤップですかぁいいなぁ。数年したら「ミクロネシア連邦?全部行ったお!」の完成ですね♪ RT @nobu2794: あけおめです。今年は2週間後にヤップ行ってきます♪
  • 08:50  懸賞金貰っても使えない(=出所できない)可能性が…w RT @musashiya6348: 懸賞金って本人が貰えるんでしょうか? って、愚問? RT @tomo0719 すげーな、今までどこにいたんだろう> 平田容疑者「区切りつけたかった」 リュック1つで出頭  :日本経済新聞
  • 08:48  去年末妻が買った宝くじ20枚の期待値は「3億円」でしたが、結果は3600円でした。
  • 08:15  毎年物議を醸し出す読売新聞の今朝の朝刊トップ記事は「防衛省が対サイバー兵器」。無力化ってどうするんだろう…。ウィルス対策してたらダメじゃん…。
  • 08:10  すげーな、今までどこにいたんだろう> 平田容疑者「区切りつけたかった」 リュック1つで出頭  :日本経済新聞 http://t.co/fWP30TTW
  • 08:06  「あけおめことよろ」が古語認定されてしまっているのが惜しい。。。古語じゃなければまだ使いたいところ。
  • 08:05  おめでとーございます。今年もよろしくおねがいします(^^ RT @altarf: あけましておめでとうございます。今年も宜しくお願いいたします。
  • 08:04  おめでとうございます!今年もよろしくおねがいします(^^ RT @kurara2: 明けましておめでとうございますm(__)m
  • 08:04  おめでとーございます。今年も宜しゅうたのんます! RT @nobu2794: 改めましてあけましておめでとうございます。雲が多いものの伊豆七島の向こうからの初日の出を拝むことができました。 http://t.co/vRAuzqku
  • 08:03  新しい年を幕を明けました。今年もみなさまよろしゅうたのんます。
Powered by twtr2src.