テキスト ファイルと RTF ファイルからメモ アイテムを生成するスクリプト


コメントにて以下のご要望をいただきました。


お世話になります
rtf形式or単なるテキスト形式で記録されているファイルをOUTLOOKのメモ(note)に登録したいのですがどうすればよいでしょうか。
できることなら、rtf/txtファイルをアイコンにドラッグ&ドロップする形で登録したいです。
なお、MS Office (WORD,OUTLOOK)は2013です

よろしくご教示ください



ファイルのドラッグアンドドロップで何らかの処理をさせたい場合、マクロではなく VBScript を使います。
VBScript のファイル (.vbs) に別のファイルをドラッグアンドドロップすると、そのファイル名がスクリプトの引数として引き渡されるので、スクリプト内で処理ができるのです。
ご要望の動作を行うスクリプトは以下のようになります。
この内容をメモ帳などにコピーし、拡張子を .vbs として保存すると、.vbs ファイルへのドラッグアンドドロップでメモ アイテムが生成されます。

' ここをトリプルクリックでマクロ全体を選択できます。
Option Explicit
Dim strFile
Dim strExt
If WScript.Arguments.Count > 0 Then
    ' スクリプトにドラッグアンドドロップされたファイルの名前を取得
    strFile = WScript.Arguments.Item(0)
    strExt = LCase(Right(strFile,4))
    If strExt = ".txt" Then
        CreateFromTxt strFile
    ElseIf strExt = ".rtf" Then
        CreateFromRtf strFile
    End If
End If
' テキスト ファイルの取り込み
Sub CreateFromTxt(strFile)
    Const ForReading = 1
    Dim objFSO
    Dim stmFile
    Dim strBody
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set stmFile = objFSO.OpenTextFile(strFile, ForReading)
    CreateMemo strFile, stmFile.ReadAll
    stmFile.Close
End Sub
' RTF ファイルの取り込み
Sub CreateFromRtf(strFile)
    Const wdDoNotSaveChanges = 0
    Const wdOriginalDocumentFormat = 1
    Dim appWord
    Dim docRtf
    Set appWord = CreateObject("Word.Application")
    appWord.Visible = True
    Set docRtf = appWord.Documents.Open(strFile)
    CreateMemo strFile, docRtf.Content.Text
    docRtf.Close wdDoNotSaveChanges, wdOriginalDocumentFormat, false
    appWord.Quit
End Sub
' メモ アイテムの作成
Sub CreateMemo(strFile, strBody)
    Const olNoteItem = 5
    Dim appOlk
    Dim objMemo
    Set appOlk = CreateObject("Outlook.Application")
    Set objMemo = appOlk.CreateItem(olNoteItem)
    objMemo.Body = strFile & vbCrLf & strBody
    objMemo.Display
    Set appOlk = Nothing
End Sub

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中