生体認証端末「出退勤モード」

①メール添付の出退勤レポートを特定のフォルダに移動するデモ(OutlookVBA)

<[Outlook_VBA]GJCloud_メール添付アテンダンスレポ取出(OutlookVBA)>

'[Outlook_VBA]GJCloud_メール添付アテンダンスレポ取出
'Copyright 2019 Grasphere Japan Co., Ltd. All Rights Reserved.

Function GetFolder() As String
    Dim appWord As Object ' Word.Application
    Dim dlgFile As FileDialog
    Dim wshShell As Object ' WScript.Shell
    '
    Set appWord = CreateObject("Word.Application")
    Set dlgFile = appWord.FileDialog(Office.msoFileDialogFolderPicker)
    Set wshShell = CreateObject("WScript.Shell")
    ' ダイアログのタイトルを指定します
    dlgFile.Title = "保存先の指定"
    ' ダイアログが開かれた際に最初に表示されるフォルダーを指定します。
    dlgFile.InitialFileName = wshShell.SpecialFolders("MyDocuments") & "\"
    If dlgFile.Show = -1 Then
        GetFolder = dlgFile.SelectedItems(1)
    Else
        GetFolder = ""
    End If
End Function

' メール受信時に発生するイベントにする場合は以下を有効にする
'Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Sub GJCloud_メール添付アテンダンスレポ取出()
    Dim objInbox As Object
    Dim objFolder As Object
    Dim strPath As String
    Dim i As Long

'Outlookウィンドウの最小化(以降フォルダ選択ダイアログが裏に隠れてしまうため)
    Application.ActiveExplorer.WindowState = olMinimized
     
'「受信トレイ」(デフォルトフォルダ)で動作させます。
    Set objInbox = GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
    Set objFolder = objInbox
    
    '添付ファイルがあるメールのフォルダを指定する場合:2階層以上ある場合は「.Folders.Item(<フォルダ名>)」を追加してください。
    'Set objFolder = objInbox.Folders.Item("1.サブフォルダ").Folders.Item("1-1.サブフォルダ")


    '添付ファイルの保存先をパスで指定します。
    strPath = GetFolder() & "\"
   
    For Each objItem In objFolder.Items
        For i = 1 To objItem.Attachments.Count
            '添付ファイルに拡張子がある場合のみ処理します。
            If InStr(objItem.Attachments.Item(i), "attendance") <> 0 Then
                objItem.Attachments.Item(i).SaveAsFile strPath & objItem.Attachments.Item(i)
                MsgBox "保存先: " & vbCrLf & strPath & vbCrLf & _
                       "ファイル名:" & vbCrLf & objItem.Attachments.Item(i)
            End If
        Next i
    Next objItem
 
    Set objItem = Nothing
    Set objInbox = Nothing
    Set objFolder = Nothing
    
End Sub

②出退勤レポートから勤怠規定に合わせて出力させるサンプルデモ(ExcelVBA)

<サンプルツール:ExcelVBAと出退勤レポートサンプルデータ>
GJ-Cloud出退勤レポートから勤怠規定に合わせて出力させるサンプル