テーマ:未分類(甘党)

日々、思いついたことを記録します。

RunEditor v.0.04

2007年04月20日 06時36分43秒 | Outlook Tips
Outlookのメール作成画面から、秀丸エディタを起動するためのVBAマクロのRunEditorを、ちょっとだけ、修整してしたところ、かなり、良くなってきてきました。

ただ、長年、メールは、秀丸エディタ上で、Ctrl+Aで全選択、Ctrl+Cでコピー、Alt+Tabで Outlookに移って、メール作成画面でCtrl+Vという一連の操作が、染み付いていて、まだ、RunEditorから復帰するときに、単に、エディタを終了すればよいという操作になれません。

まぁ、ただ、確実に、キー操作が減るはずなので、 RunEditorを使っていきたいと考えています。
ここまでで、動作的には、安定して、それなりの使い勝手になってきたので、ほぼ、完成の領域だと思っています。

---------------------------------------------------------

'#####################################################
' Outlook2003のメール作成ウィンドウからエディタを起動
' copyright 2007 by 甘党のプログラマ
'#####################################################
' 【機能】
' Outlook2003のメール作成ウィンドウからエディタを起動して、そのエディタ上で編集をして、エディタの編集結果を取り込みます。
' (現状、"C:Progra~1HidemaruHidemaru.exe"で決めうち)

' 【参考】
'millefeuille氏の「マイクロソフト・インサイド・アウト」
'「Outlook Tips | HTML メールのソース編集をするマクロ」
'http://ameblo.jp/millefeuille/theme12-10000018720.html
'
'Tatsu's room on the Web
'2005/01/14(金) Outlookのメール作成をエディタとマクロで強化し損ねる
'http://homepage3.nifty.com/Tatsu_syo/Nikki/200501.html
'
' 【履歴】
' v0.01 2007/4/12 初版 : タイトルと日時から一時ファイル名を生成、秀丸エディタの起動、編集済みの一時ファイルからの読み出しを一気に行う
' v0.02 2007/4/17 v.0.01が、原因不明の調子が悪さがあるために、RunEditorは、タイトルと.CreationTimeから一時ファイル名を生成、秀丸エディタの起動のみ。
' v0.03 2007/4/18 エディタを起動して戻ってきたら、オートリロードする機能を追加。秀丸エディタから戻ってきたら、1行目を、メールのタイトルに設定。
' v0.04 2007/4/19 秀丸エディタを起動したときに、2行目にカーソルを設定。リロードのときのMsgBoxをvbYesNoCancelに変更して、Cancelの場合には、もう一度、Activateしたときに、再ロードできるようにした。
'
' 【TODO】
' ・重複起動は、後の方が、参照だけで、戻ってきたときのオートリロードができない状態にしようとしたが、どうも、最初のオートリロードの機能が間違ったところにロードしてしまう不具合があったため、重複起動機能をつぶしている。
' ・本当は、同時に複数のメールをエディタで編集できるようにしたい。
' ・Outlook側にフォーカスがあたったら、一時ファイルの存在の有無とタイムスタンプ更新をチェックして、取り込むようにしたい。
' ・もう少し、ソースコードの綺麗にしたい。(文字列が散らばっていたり、決めウチの文字列が、直接、埋まっていたり、知性がないコードになってしまっている。)
Public WithEvents myOlInspector As Inspector
Public myOlMailItem As MailItem
Public strFileName As String
Public strRunEditorTitle As String

Sub RunEditor()
    strRunEditorTitle = "RunEditor v0.04"
    Dim objShell As Object
    Dim objFso As Object
    Dim strTempFileName As String
    Dim stmFile As Object
  
    Set objShell = CreateObject("WScript.Shell")
    Set objFso = CreateObject("Scripting.FileSystemObject")
    Set myOlMailItem = ActiveInspector.CurrentItem
    With myOlMailItem
        ' メールを一旦保存する
        .Save

        ' 一時ファイル名を生成
        MakeTempFileNameForEditor strTempFileName, objShell

        If myOlInspector Is Nothing Then
            If MsgBox("エディタを呼び出しますか?" & Chr(13) & Chr(10) & "戻ってきたときに、オートリロード可能です。" & Chr(13) & Chr(10) & "(1行目は、メールのタイトルです。)", vbYesNo, "RunEditor v0.04") = vbNo Then GoTo Finish
            Set myOlInspector = ActiveInspector
            strFileName = strTempFileName
        Else
            '[todo]
'           If MsgBox("未リロードのメール編集画面が立ち上がっているため、これで起動するエディタから戻ってきてもオートリロードできませんが、エディタを呼び出しますか?", vbYesNo, "RunEditor") = vbNo Then GoTo Finish
            MsgBox ("未リロードのメール編集画面が立ち上がっているときには、RunEditorを起動しないでください。以前、起動したエディタから復帰もできなくなりました。")
            Set myOlInspector = Nothing
            strFileName = ""
            GoTo Finish
        End If
      

        ' 一時ファイルの作成とメッセージの本文の書き出し
        Set stmFile = objFso.CreateTextFile(strTempFileName, True)
        stmFile.WriteLine "[タイトル] : " & .Subject
        stmFile.WriteLine .Body
        stmFile.Close
      
        ' 秀丸エディタの起動
        objShell.Run "C:Progra~1HidemaruHidemaru.exe /j2 " & strTempFileName, , False
      
    End With
Finish:
End Sub


Private Sub MakeTempFileNameForEditor(ByRef strFileName As String, objShell As Object)
 Dim strSubject As String
    With ActiveInspector.CurrentItem
        ' タイトルの取得
        If .Subject <> "" Then
            strSubject = .Subject
        Else
            strSubject = "(無題)"
        End If
      
        ' タイトルと.CreationTimeから一時ファイル名を生成
        strFileName = strSubject & "(" & Year(.CreationTime) & "-" & Month(.CreationTime) & "-" & Day(.CreationTime) & "-" & Hour(.CreationTime) & "-" & Minute(.CreationTime) & "-" & Second(.CreationTime) & ")" & ".txt"
        strFileName = Replace(strFileName, ":", ":")
        strFileName = Replace(strFileName, "<", "<")
        strFileName = Replace(strFileName, ">", ">")
        strFileName = Replace(strFileName, "?", "?")
        strFileName = Replace(strFileName, "/", "/")
        strFileName = Replace(strFileName, "", "¥")
        strFileName = objShell.ExpandEnvironmentStrings("%temp%") & strFileName
    End With
End Sub


Private Sub myOlInspector_Activate()
    Dim objFso As Object
    Dim stmFile As Object
  
    Set objFso = CreateObject("Scripting.FileSystemObject")
  
    If myOlInspector Is Nothing Then
        MsgBox ("RunEditorの2重起動の不具合が直っていません。リロードできません。")
    Else
        With myOlMailItem
            btn = MsgBox("エディタで編集したテキストを取り込みますか?", vbYesNoCancel, "RunEditor v0.04")
            If btn = vbYes Then
                ' 編集済みの一時ファイルからの読み出し
                Set stmFile = objFso.OpenTextFile(strFileName, 1)
                .Subject = Mid(stmFile.ReadLine, Len("[タイトル] : ") + 1, 1024)
                .Body = stmFile.ReadAll
                stmFile.Close
      
                ' 最悪、このファイルから作成したテキストを復帰できるように、一時ファイルは削除しない。
                'objFso.DeleteFile strFileName
                      
                Set myOlInspector = Nothing
                strFileName = ""
            ElseIf btn = vbNo Then
                Set myOlInspector = Nothing
                strFileName = ""
            End If
        End With
    End If
End Sub



平成19年度春季テクニカルエンジニア(情報セキュリティ)自己採点結果

2007年04月20日 06時29分15秒 | Weblog
平成19年度春季テクニカルエンジニア(情報セキュリティ)の自己採点結果です。
(午前は、IPAの解答より。午後I/IIは、TACの解答速報より。)

午前
39/55=71%

午後I
楽観的 108/150=72%
悲観的 91/150=61%

午後II
楽観的 145/200=73%
悲観的 97/200=49%

うーん、全部、微妙な感じで、午前や午後Iで切られても、まぁ、いいかという感じですね。もうちょい、勉強すれば、良かったのかな、、、。

http://www.jitec.jp/1_00topic/topic_20070415_schedule.html
平成19年度 春期 合格発表等スケジュール
6月11日(月)正午(予定)
解答例
午前 4月15日(日)18:00 自己採点 : 39/55=71%
午後(I・II)5月30日(水)正午(予定)
採点講評 7月13日(金)正午(予定)

RunEditor v0.03

2007年04月18日 05時06分34秒 | Outlook Tips
やめりゃあ、いいのに、こんなことに時間を使ってしまった、、、。

どうしても、複数のメール編集中の状態で、RunEditorを呼び出して、戻ってきたときの挙動が怪しいのが、解決できません。

ボチボチ、治すことにして、今日は、このくらいにしておこう、、、。
-------------
'#####################################################
' Outlook2003のメール作成ウィンドウからエディタを起動
' copyright 2007 by 甘党のプログラマ
'#####################################################
' 【機能】
' Outlook2003のメール作成ウィンドウからエディタを起動して、そのエディタ上で編集をして、エディタの編集結果を取り込みます。

' 【参考】
'millefeuille氏の「マイクロソフト・インサイド・アウト」
'「Outlook Tips | HTML メールのソース編集をするマクロ」
'http://ameblo.jp/millefeuille/theme12-10000018720.html
'
'Tatsu's room on the Web
'2005/01/14(金) Outlookのメール作成をエディタとマクロで強化し損ねる
'http://homepage3.nifty.com/Tatsu_syo/Nikki/200501.html
'
' 【履歴】
' v0.01 2007/4/12 初版 : タイトルと日時から一時ファイル名を生成、秀丸エディタの起動、編集済みの一時ファイルからの読み出しを一気に行う
' v0.02 2007/4/17 v.0.01が、原因不明の調子が悪さがあるために、RunEditorは、タイトルと.CreationTimeから一時ファイル名を生成、秀丸エディタの起動のみ。
' v0.03 2007/4/18 エディタを起動して戻ってきたら、オートリロードする機能を追加。秀丸エディタから戻ってきたら、1行目を、メールのタイトルに設定。
'
' 【TODO】
' 重複起動は、後の方が、参照だけで、戻ってきたときのオートリロードができない状態にしようとしたが、どうも、最初のオートリロードの機能が間違ったところにロードしてしまう不具合があったため、重複起動機能をつぶしている。
' 本当は、同時に複数のメールをエディタで編集できるようにしたい。
Public WithEvents myOlInspector As Inspector
Public myOlMailItem As MailItem
Public strFileName As String
Public strRunEditorTitle As String

Sub RunEditor()
strRunEditorTitle = "RunEditor v0.03"
Dim objShell As Object
Dim objFso As Object
Dim strTempFileName As String
Dim stmFile As Object

Set objShell = CreateObject("WScript.Shell")
Set objFso = CreateObject("Scripting.FileSystemObject")
Set myOlMailItem = ActiveInspector.CurrentItem
With myOlMailItem
' メールを一旦保存する
.Save

' 一時ファイル名を生成
MakeTempFileNameForEditor strTempFileName, objShell

If myOlInspector Is Nothing Then
If MsgBox("エディタを呼び出しますか?" & Chr(13) & Chr(10) & "戻ってきたときに、オートリロード可能です。" & Chr(13) & Chr(10) & "(1行目は、メールのタイトルです。)", vbYesNo, "RunEditor v0.03") = vbNo Then GoTo Finish
Set myOlInspector = ActiveInspector
strFileName = strTempFileName
Else
'[todo]
' If MsgBox("未リロードのメール編集画面が立ち上がっているため、これで起動するエディタから戻ってきてもオートリロードできませんが、エディタを呼び出しますか?", vbYesNo, "RunEditor") = vbNo Then GoTo Finish
MsgBox ("未リロードのメール編集画面が立ち上がっているときには、RunEditorを起動しないでください。以前、起動したエディタから復帰もできなくなりました。")
Set myOlInspector = Nothing
strFileName = ""
GoTo Finish
End If


' 一時ファイルの作成とメッセージの本文の書き出し
Set stmFile = objFso.CreateTextFile(strTempFileName, True)
stmFile.WriteLine "[タイトル] : " & .Subject
stmFile.WriteLine .Body
stmFile.Close

' 秀丸エディタの起動
objShell.Run "C:Progra~1HidemaruHidemaru.exe " & strTempFileName, , False

End With
Finish:
End Sub


Private Sub MakeTempFileNameForEditor(ByRef strFileName As String, objShell As Object)
Dim strSubject As String
With ActiveInspector.CurrentItem
' タイトルの取得
If .Subject <> "" Then
strSubject = .Subject
Else
strSubject = "(無題)"
End If

' タイトルと.CreationTimeから一時ファイル名を生成
strFileName = strSubject & "(" & Year(.CreationTime) & "-" & Month(.CreationTime) & "-" & Day(.CreationTime) & "-" & Hour(.CreationTime) & "-" & Minute(.CreationTime) & "-" & Second(.CreationTime) & ")" & ".txt"
strFileName = Replace(strFileName, ":", ":")
strFileName = Replace(strFileName, "<", "<")
strFileName = Replace(strFileName, ">", ">")
strFileName = Replace(strFileName, "?", "?")
strFileName = Replace(strFileName, "/", "/")
strFileName = Replace(strFileName, "", "¥")
strFileName = objShell.ExpandEnvironmentStrings("%temp%") & strFileName
End With
End Sub


Private Sub myOlInspector_Activate()
Dim objFso As Object
Dim stmFile As Object

Set objFso = CreateObject("Scripting.FileSystemObject")

If myOlInspector Is Nothing Then
MsgBox ("RunEditorの2重起動の不具合が直っていません。リロードできません。")
Else
With myOlMailItem
If MsgBox("エディタで編集したテキストを取り込みますか?", vbYesNo, "RunEditor v0.03") = vbYes Then
' 編集済みの一時ファイルからの読み出し
Set stmFile = objFso.OpenTextFile(strFileName, 1)
.Subject = Mid(stmFile.ReadLine, Len("[タイトル] : ") + 1, 1024)
.Body = stmFile.ReadAll
stmFile.Close

' 最悪、このファイルから作成したテキストを復帰できるように、一時ファイルは削除しない。
'objFso.DeleteFile strFileName

End If
Set myOlInspector = Nothing
strFileName = ""
End With
End If
End Sub



ウィンドウがアクティブになったら呼び出されるOutlookのマクロを実現したいのだが、、、

2007年04月17日 07時15分04秒 | Outlook Tips
RunEditorでは、あと、ReturnFromEditorで、編集済みの一時ファイルからの読み出し行いように変更するようなものを用意して、強制的に読み込ませるとともに、メールがアクティブで呼び出されるようにしたいのだが、、、、方法が不明なのです。

ヘルプを探って、どうも、Activate イベントとかを使えば、うまく行きそうな気がするのですが、このActivate イベントのハンドラを設定する方法が、今一歩、分からない。

グローバルにオブジェクトを用意すると、複数のメールを編集できなくなってしまうような気がして、、、もうちょっと、検討が必要かも?

RunEditor v0.02

2007年04月17日 07時10分19秒 | Outlook Tips
Outlook2003のメール作成ウィンドウからエディタを起動するマクロのRunEditorが、調子が悪く、ただ、どうしても、使いたいので、少し、拡張を始めました。
まずは、タイトルと.CreationTimeから一時ファイル名を生成、秀丸エディタの起動のみ。

-------

'#####################################################
' Outlook2003のメール作成ウィンドウからエディタを起動
' copyright 2007 by 甘党のプログラマ
'#####################################################
' 【機能】
' このVBAマクロは、サイボウズv3がCSV形式でエクスポートしたスケジュールを、Outlook2003の予定表に取り込みます。

' 【参考】
'millefeuille氏の「マイクロソフト・インサイド・アウト」
'「Outlook Tips | HTML メールのソース編集をするマクロ」
'http://ameblo.jp/millefeuille/theme12-10000018720.html
'
'Tatsu's room on the Web
'2005/01/14(金) Outlookのメール作成をエディタとマクロで強化し損ねる
'http://homepage3.nifty.com/Tatsu_syo/Nikki/200501.html

' 【履歴】
' v0.01 2007/4/12 初版 : タイトルと日時から一時ファイル名を生成、秀丸エディタの起動、編集済みの一時ファイルからの読み出しを一気に行う
' v0.02 2007/4/17 v.0.01が、原因不明の調子が悪さがあるために、RunEditorは、タイトルと.CreationTimeから一時ファイル名を生成、秀丸エディタの起動のみ。

' 【TODO】
' ReturnFromEditorで、編集済みの一時ファイルからの読み出し行いように変更。(これは、メールがアクティブで呼び出されるようにしたいが、、、。方法が不明)
'・1行目に、メールのタイトルを挿入して、秀丸エディタを呼び出したい。
'・秀丸エディタから戻ってきたら、1行目を、メールのタイトルに設定したい。


Sub RunEditor()

Dim objShell As Object
Dim objFso As Object
Dim strFileName As String
Dim stmFile As Object
Set objShell = CreateObject("WScript.Shell")
Set objFso = CreateObject("Scripting.FileSystemObject")

With ActiveInspector.CurrentItem
' メールを一旦保存する
.Save

' 一時ファイル名を生成
MakeTempFileNameForEditor strFileName, objShell

' 一時ファイルの作成とメッセージの本文の書き出し
Set stmFile = objFso.CreateTextFile(strFileName, True)
stmFile.WriteLine .Body
stmFile.Close

' 秀丸エディタの起動
objShell.Run "C:Progra~1HidemaruHidemaru.exe " & strFileName, , False

' ' 編集済みの一時ファイルからの読み出し
' Set stmFile = objFso.OpenTextFile(strFileName, 1)
' .Body = stmFile.ReadAll
' stmFile.Close
'
' ' 最悪、このファイルから作成したテキストを復帰できるように、一時ファイルは削除しない。
' 'objFso.DeleteFile strFileName
End With
End Sub


Private Sub MakeTempFileNameForEditor(ByRef strFileName As String, objShell As Object)
Dim strSubject As String
With ActiveInspector.CurrentItem
' タイトルの取得
If .Subject <> "" Then
strSubject = .Subject
Else
strSubject = "(無題)"
End If

' タイトルと.CreationTimeから一時ファイル名を生成
strFileName = strSubject & "(" & Year(.CreationTime) & "-" & Month(.CreationTime) & "-" & Day(.CreationTime) & "-" & Hour(.CreationTime) & "-" & Minute(.CreationTime) & "-" & Second(.CreationTime) & ")" & ".txt"
strFileName = Replace(strFileName, ":", ":")
strFileName = Replace(strFileName, "<", "<")
strFileName = Replace(strFileName, ">", ">")
strFileName = Replace(strFileName, "?", "?")
strFileName = Replace(strFileName, "/", "/")
strFileName = Replace(strFileName, "", "¥")
strFileName = objShell.ExpandEnvironmentStrings("%temp%") & strFileName
End With
End Sub







RunEditorの調子悪し

2007年04月16日 05時57分13秒 | Outlook Tips
[Outlook2003 Tips] メールの本文を秀丸エディタで編集で紹介しているマクロですが、実際に使っていると、なんだか、妙に、調子が悪いですね。

現象は、追いきれていないのですが、どうも、秀丸エディタを呼び出して、いろいろなことをした後に、秀丸エディタでファイルを閉じて戻ってきたときに、うまく、取り込めずに、せっかく作ったテキストが消えてしまうことが何度もあり、また、Outlook自体も調子が悪くなって、何度も、再起動したりと、なんだか、もう、使わなくなってしまっています。

再考の余地がありありですね。

------

どうも、秀丸エディタの終了待ちにするのが、調子が悪くなる原因のような気がします。
そこで、一時ファイルを作成したら、エディタを起動して、Outlook側は、それっきりにした方が良さそうです。ただ、Outlook側にフォーカスがあたったら、一時ファイルの存在の有無とタイムスタンプ更新をチェックして、取り込むようにできれば、良いかもしれない。Outlook側にフォーカスがあたったら、一時ファイルの存在の有無とタイムスタンプ更新をチェックするのが無理なら、一時ファイルの内容を取り込むマクロを作っても良いかもしれない。

何しろ、メールの特定するIDのようなものを探す必要がありそうです。

平成19年度春季テクニカルエンジニア(情報セキュリティ)

2007年04月16日 05時44分00秒 | Weblog
昨日、平成19年度春季テクニカルエンジニア(情報セキュリティ)を受験してきました。
先週の出張の帰り道に、過去問題のテキストを買って、少し、パラパラと見ただけぐらいしか、勉強していないので、たぶん、ダメでしょう。

ところで、IPAのホームページに、もう、午前の解答が掲載されているのですね。早速、自己採点をしてみたら、39/55=71%で、かなり、微妙なラインです。

午後は、一応、全部記入しましたが、自信満々というわけではなく、かなり、心配です。

で、午後の解答例を探しても、さすがに、ないようで、IPAは、かなり先の「5月30日(水)正午」だそうです。

ただ、TACの方で、「午後 I・II:4月19日(木)16:30公開予定」とありました。

RunEditorの拡張案

2007年04月12日 06時13分14秒 | Outlook Tips
さきほど作ってみたRunEditorの使い勝手ですが、結構、調子が良さそうです。
作成中のメールではなくて、参照しているときにも、秀丸エディタを呼び出せて、レイアウトが崩れて、URLが分断されているときとか、ちょっとした修整をして、すぐに、URLを復旧できたりして、かなり、快適です。

あとは、以下のような拡張をしたいですね。

・1行目に、メールのタイトルを挿入して、秀丸エディタを呼び出したい。
・秀丸エディタから戻ってきたら、1行目を、メールのタイトルに設定したい。

あと、ここまでできると、他にも、いろいろとアイデアが出てきそうですね。

さらに、この前のアイデアの秀丸エディタからOutlookを呼び出せるようになれば、新規メールを、すぐに作れるようになったりして、かなり、最強の環境になるかも?(Firefox2で、どうやら、任意のエディタでメール作成ができるらしいという機能も、Outlookでできるようになりつつあるので、さらに、Firefox2の出る幕がなくなりそう、、、。)

[Outlook2003 Tips] メールの本文を秀丸エディタで編集

2007年04月12日 05時31分47秒 | Outlook Tips
millefeuille氏の「マイクロソフト・インサイド・アウト」というブログに、「Outlook Tips | HTML メールのソース編集をするマクロ」に、Outlookで作成中のメールをNotePadで編集する方法が紹介されていました。

これは、HTMLBodyだったのですが、これを単純なテキスト(Body)だけにして、秀丸エディタを呼び出すように修整してみました。あと、一時ファイルを作って、それを仲介させていたのですが、その一時ファイル名も、メールのタイトルと日時から生成するように調整してみました。

--- 以下が修整したOutlook2003のVBA ---

Sub RunEditor()

Dim objShell As Object
Dim objFso As Object
Dim strSubject As String
Dim strFileName As String
Dim stmFile As Object
Set objShell = CreateObject("WScript.Shell")
Set objFso = CreateObject("Scripting.FileSystemObject")

' タイトルの取得
If ActiveInspector.CurrentItem.Subject <> "" Then
strSubject = ActiveInspector.CurrentItem.Subject
Else
strSubject = "(無題)"
End If

' タイトルと日時から一時ファイル名を生成
strFileName = objShell.ExpandEnvironmentStrings("%temp%") & strSubject & Year(Date) & Month(Date) & Day(Date) & Hour(Time) & Minute(Time) & Second(Time) & ".txt"

' 一時ファイルの作成とメッセージの本文の書き出し
Set stmFile = objFso.CreateTextFile(strFileName, True)
stmFile.WriteLine ActiveInspector.CurrentItem.Body
stmFile.Close

' 秀丸エディタの起動
objShell.Run "C:Progra~1HidemaruHidemaru.exe " & strFileName, , True

' 編集済みの一時ファイルからの読み出し
Set stmFile = objFso.OpenTextFile(strFileName, 1)
ActiveInspector.CurrentItem.Body = stmFile.ReadAll
stmFile.Close

objFso.DeleteFile strFileName
End Sub


そのうち、作ってみたい秀丸エディタのマクロ

2007年04月10日 07時10分47秒 | 秀丸エディタ Tips
Outlook2003のメール作成のエディタは、Wordらしいのですが、それに慣れれば良いのでしょうが、大昔から、テキストは、テキストエディタで作ることに慣れてしまっていて、その風習を変えるのは、面倒なので、メールのテキストを作成するときも、まず、テキストエディタ上でメールの本文を作成して、そのテキストをクリップボードにコピーして、Outlookのメールのテキストにペーストしています。

もう、DOSの頃のMifies源流にして、いろいろと、自分自身の中で使用するショートカットキーが決まっていたりして、また、しょっちゅう使っているので、ショートカットキーも自然に使えて、もはや、自分の中では、一番、気持ちの良い最強のテキスト作成環境と化しています。この機能と使いやすさをWORDに持ち込むのは、非常に難儀な感じがします。

で、ちょっと前に、Windows3.1の頃に使っていて、しばらく、普段使いのエディタではなかった秀丸エディタだったのですが、タブ機能に対応したV5から、また、秀丸エディタに戻ってきています。

で、以前から、エディタ上からメールを送信できるようになると良いなぁと思っていたところに、次のような情報がひっかかったので、そのうち、秀丸エディタのマクロを作ってみたなぁと思っています。


「h-tom's Warehouse」の「秀丸エディタのマクロ関連」


特に、「macrodll.dllの使い方」で、COM/OLEの操作ができるようになるんですね。これで、Outlookを操作できるようなりそう。
http://homepage3.nifty.com/_htom/macro/macro_dll.html


で、エディタから、Outlookのメールを送信するEmEditorのマクロが、参考になりそうです。
http://www.emeditor.com/pub/emurasoft/SendEmailOutlook.vbee


秀丸メールは、試したことがないのですが、ただ、Outlookのスケジュール、アラームやToDoタスク等の機能も使っているし、メーラとしての機能も、Outlookの鬼のような豊富な機能に対向できるメーラって、そうそうないような気がして、他のメーラを試す気がしません。(どうせ、Outlook以外のメーラを試す時間があれば、ThunderbirdとかEudoraとか、高機能で有名なものを、まず試してみたいと思っているのです。まぁ、高機能は、人によって、求めるものが違うと思いますが、昔、使っていたBeckeyとかは、人によっては高機能でしょうが、仕事に使うには、フラグの機能もないということで、私の中では、Outlook Expressにも劣るメーラになっています。)

欲しいDSソフトのリスト

2007年04月09日 05時57分40秒 | 新商品
購入する前ですが、どんなソフトがあるのか、Amazonを探っていました。で、せっかく、調査したので、そのリストを、貼り付けみました。

東北大学未来科学技術共同研究センター 川島隆太教授監修 脳を鍛える大人のDSトレーニング

まずは、これをやるために買うのですから、かかせないですね。「もっと脳トレ」というがあったが、これは、上級者用ということで、まずは、最初の「脳トレ」を購入すべきようです。

ニュー・スーパーマリオブラザーズ 特典 ニンテンドーDSLite専用 保護フィルム(下画面用1枚入)付き

なつかしいなあ、「スーパーマリオ」。久しぶりにやってみたくなったので、「脳トレ」と一緒に、買おうと思います。

英語が苦手な大人のDSトレーニング えいご漬け

タイトルに惹かれるので、「脳トレ」と「マリオ」のあとに、買う候補かな。

マリオカートDSぷよぷよ!

これらのゲームも昔楽しんだので、ちょっと、欲しい気がする。

TOEIC(R)TEST DS トレーニング

ちょっと、手ごわそうだけど、ちょっと、欲しいかなぁ。

ニンテンドーDSブラウザー(ニンテンドーDS Lite用:DS Liteメモリー拡張カートリッジ同梱)

パソコンの電源を入れないで、インターネットを使えるのは、いいかもね。

「ニンテンドー DS Lite ライト」の予約抽選に申し込んでみました。

2007年04月09日 05時43分31秒 | Weblog
うちの奥さんが、実家にあった「ニンテンドー DS Lite ライト」の脳トレにはまって、買おう買おうと何度も頼まれたので、昨日、Amazonとか楽天を調べたら、\2万を越えるようなものしか売っていなくて、なんだなんだと思っていたら、どうも、世の中では、ニンテンドー DSって、入手困難なものだったのですね。

そんなに慌てて欲しいものでもないし、予約でもしながら、ぼちぼち、購入しようかな思っていて、ニンテンドー DS Lite ライト ピンポイント予想&販売速報の情報を頼りに、NeowingとJoshinに会員登録して、抽選予約に、申し込んでみました。

こんな情報も参考になりそうです。「ニンテンドーDS Liteはどのオンラインショップが買いやすいのか



[Outlook2003 Tips]サイボウズへの自動ログインとマクロの登録

2007年04月04日 06時26分23秒 | Outlook Tips
OutlookのTipsをブログに書き出したら、なぜか、とまらないですね。

今日は、カスタムマクロを作成し、ツールバーに登録しているのですが、非常に便利なので、Tipsにしておこうと思いました。

例えば、上の画像の赤丸の部分のように、サイボウズに自動ログインしたり、サイボウズでスケジュールをエクスポートしたCSVファイルを取り込んだりするマクロを、ツールバーに登録し、ショートカットキーを割り当てて使っています。(本当は、サイボウズだけではなくて、メーラと一緒に、頻繁に使用するWebサービスのボタンも、他にもいくつか、登録しています。)

(1) まず、Alt+F11等で、Visual Basic Editorを立ち上げて、マクロを作成します。

(2) 次に、[ツール(T)]メニューの[ユーザ設定(C)]のダイアログボックスで、[コマンド]タブを選んで、分類の中から、マクロを選びます。ツールバーに登録したいマクロを、マウスで、ツールバー上に、ドラッグして、ドロップすると、ツールバーに、マクロが登録されます。

(3) 上で追加したマクロのツールバーを右クリックして、ツールの名前、ボタンイメージなどを調整して、完了です。ちなみに、ツールの名前の中で、アンパサンド(&)をつけると、ショートカットキーになります。例えば、「Cybou&zu」という名前にすると、Alt+Zで、サイボウズにログインするマクロが起動します。

以下が、サイボウズにログインするために作成したOutlook2003のVBAです。

ただ、一度、サイボウズにログインすると、全てのInternetExplorerを終了してからでないと、エラーが発生したり、結構な頻度で、ログインに失敗することがあるなど、問題ありありのマクロですが、まだ、デバッグできていません。とりあえず、個人レベルでは、便利に使っています。(ただ、パスワードを直接、マクロ上に記述してあって、セキュリティ的に、非常に問題があり、あまり、周囲には、紹介していません。)

なお、★印のところは、自分の環境に合わせて、調整する必要があります。(まあ、サイボウズv3を使っている人、さらに、私と同様なことをしたい人がいるとは思えないので、直接、このマクロを、そのまま、使う人はいないとは思うので、ほとんど、自分自身への覚書ですが、もし、★印のところの意味が分からなくて、困っている人がいたら、ブログのコメントで、質問をしていただければ、回答するかもしれません。)

-----------------

Sub LoginCybozu()
Dim LoginURL As String, IE As Object
Dim NewScheduleURL As String

Set IE = CreateObject("InternetExplorer.Application")
LoginURL = "http://★★★★★//scripts/cb3/office.exe?Page=index&Group=★★★★★&Submit=★★★★★"

With IE
' ログイン画面を表示して、ログイン
.Navigate (LoginURL)
.Visible = True

Do While .Busy = True
DoEvents
Loop

If .document.Title = "サイボウズ Office 3" Then
.document.all.Password.Value = "★★★★★" 'パスワード
.document.all.Submit.Click

Do While .Busy = True
DoEvents
Loop
End If

' ログインした直後のメイン画面から、スケジュール追加画面へジャンプ

NewScheduleURL = "http://★★★★★//scripts/cb3/office.exe?page=ScheduleMonth&id=★★★★★&gid=★★★★★"
.Navigate (NewScheduleURL)

Do While .Busy = True
DoEvents
Loop

End With
Set IE = Nothing
End Sub

[Outlook2003 Tips]スケジュールの自動書式

2007年04月03日 06時30分26秒 | Outlook Tips
Outlookは、毎日使っているツールなので、いろいろと、工夫しがいがあります。
で、サイボウズからスケジュールをインポートするマクロを作って、非常に便利に使っているのですが、ただ、インポートしたスケジュールではなくて、オフライン中に、一時的に登録したスケジュールと明確に見分けが付くように、スケジュールの自動書式を使ってみました。

編集(E)メニューの自動書式(F)を指定して、表示しているような条件を登録してみました。「《サイボウズ》」の条件の方は、件名に、「《サイボウズ》」が含まれるものにしてあるのですが、何も設定しない条件を「なし」として追加するのが、ミソでした。

Thunderbird2を心待ちにしている

2007年04月02日 06時54分31秒 | 技術感想
今、Thunderbird2の正式リリースを、心待ちにしているのですが、Outlook2003を乗り換えるべきかどうか、非常に迷っています。

先ほどのOutlook2003のTipsのように、それにしても、Outlookって、多機能なことを実感しています。

ただねぇ、なんだか、思い通りに操作ができなくて、毎日、イラついています。

Thunderbird2は、まだ、使ったことはないのですが、少し、紹介記事を読んだりすると、どうも、Gmailのような使い勝手とのことですし、Firefoxと私の相性の良さを思うと、少し、期待しています。

Firefoxって、どこがどう、使いやすいのかが、説明できないのですが、全ての操作感がしっくりくるのです。一方、Outlookは、毎日使っても、動作の予測がつかず、毎日、チッと舌打してします。

メーラって、一番、使うツールなので、操作感の気持ち良さが重要だと思っていますが、ただ、一番使うツールだから、一番、高機能であって欲しいわけです。Thunderbird2にしたら、今のOutlookで使っている機能が使えなくなることを恐れているわけです。

マウスは、好きなのですが、ただ、普段、使うツールについては、できるだけ、ショートカットキーを覚えるようにしています。で、Outlookも、それなりに、キーボードで操作ができるようになっているようなのですが、例えば、Ctrl+1で、メールに移動出来るの良いのですが、フォルダツリーのところにカーソルがフォーカスしているかと思って、カーソルキーでブラウズしていると、いつの間には、フォーカスがどこかに行ってしまうような挙動を示しているような気がします。どんなときに、どうなるのかが、MS製品は、どうも、良く分かりません。