VBA处理文件框架代码 【第一部分:处理流程】

来源:互联网 发布:文字抓取软件 编辑:程序博客网 时间:2024/06/05 08:18

本程序共分7个部分

【框架代码】  1.处理流程

【框架代码】  2.变量定义

【框架代码】  3.具体处理

【框架代码】  4.bat定义

【框架代码】  5.Excel文件操作

          └ 5.1.具体业务流程(读取,写入文件)

               └ 5.1.1.具体业务处理代码

6.目录结构,框架功能介绍

7.程序页面布局



本章为处理流程

Option ExplicitPublic Sub doExecuteFlow()    On Error GoTo errl                                        '初期化する        Call initToolFrameConstants        Call EXEC_COMMON_ERROR_PROCESS            If ERROR_FLG = "1" Then                Exit Sub            End If                       'エラーメッセージなど情報をクリアする        Call clearMessageInfo        Call EXEC_COMMON_ERROR_PROCESS            If ERROR_FLG = "1" Then                Exit Sub            End If        'ツール入力情報チェック        Call inputCheck        Call EXEC_COMMON_ERROR_PROCESS            If ERROR_FLG = "1" Then                Exit Sub            End If                        If ERROR_FLG = "1" Then            Call setErrorInfoToExcel            Call EXEC_COMMON_ERROR_PROCESS                If ERROR_FLG = "1" Then                    Exit Sub                End If        End If                        '【・・・提示・・・】該当時点、Inの入力エラーはない(「ツール入力情報チェック」処理実施完了しました。)        '前回Tempファイルが閉じないの場合、Temp再度削除        If Dir(OUT_FILE_TEMP_PATH, 16) <> Empty Then            'Tempファイル削除            Call deleteTempFolder        End If                If Dir(OUT_FILE_PATH, 16) <> Empty Then            '該当行のソース、削除しないでください。Refresh用        End If                 'Toolから、取込(Template)情報取得        IN_FILE_EXIST_FLG = "0"        Call getTemplateFileCount(TEMPLATE_FILE_NAME)        If IN_FILE_EXIST_FLG <> "1" Then            Call setRequestListErrorMessage(TEMPLATE_FILE_NAME)            Call EXEC_COMMON_ERROR_PROCESS                If ERROR_FLG = "1" Then                    Exit Sub                End If                    End If        'Inから、取込(FILE1)情報取得        IN_FILE_EXIST_FLG = "0"        Call getRequestListFileCount(IN_FILE1_NAME_KEY)        If IN_FILE_EXIST_FLG <> "1" Then            Call setRequestListErrorMessage(IN_FILE1_NAME_KEY)            Call EXEC_COMMON_ERROR_PROCESS                If ERROR_FLG = "1" Then                    Exit Sub                End If                    End If                'Inから、取込(FILE2)情報取得        IN_FILE_EXIST_FLG = "0"        Call getRequestListFileCount(IN_FILE2_NAME_KEY)        If IN_FILE_EXIST_FLG <> "1" Then            Call setRequestListErrorMessage(IN_FILE2_NAME_KEY)            Call EXEC_COMMON_ERROR_PROCESS                If ERROR_FLG = "1" Then                    Exit Sub                End If                    End If        'ツール実施前に、Out下のファイル名取得        Call getBeforeExecuteOutFileName                Call EXEC_COMMON_ERROR_PROCESS                If ERROR_FLG = "1" Then                    Exit Sub                End If                        '作業中のTemp Folder作成        Call createTempFolder                Call EXEC_COMMON_ERROR_PROCESS                If ERROR_FLG = "1" Then                    Exit Sub                End If        '今回対象ファイル作成        Call createOupputFileFromTemplate                Call EXEC_COMMON_ERROR_PROCESS                If ERROR_FLG = "1" Then                    Exit Sub                End If        '取り込み処理開始        Call operateFile                Call EXEC_COMMON_ERROR_PROCESS                If ERROR_FLG = "1" Then                    Exit Sub                End If        'bak フォルダー作成(存在したの場合、実施影響なし)        Call createBakFolder                Call EXEC_COMMON_ERROR_PROCESS                If ERROR_FLG = "1" Then                    Exit Sub                End If                    'bak フォルダー下、今回の内容bak前に、前回の内容削除        'Call deleteBakFile                Call EXEC_COMMON_ERROR_PROCESS                If ERROR_FLG = "1" Then                    Exit Sub                End If                '前回ファイルbak        Call backupOupputFile                Call EXEC_COMMON_ERROR_PROCESS                If ERROR_FLG = "1" Then                    Exit Sub                End If                    '作業中ファイルをout下へ移動        Call moveFileFormTemptoOut                Call EXEC_COMMON_ERROR_PROCESS                If ERROR_FLG = "1" Then                    Exit Sub                End If                    '作業中のTemp Folder削除        Call deleteTempFolder                Call EXEC_COMMON_ERROR_PROCESS                If ERROR_FLG = "1" Then                    Exit Sub                End If        If ERROR_FLG = "1" Then            '作業中のTemp Folder削除            Call deleteTempFolder                Call EXEC_COMMON_ERROR_PROCESS                If ERROR_FLG = "1" Then                    Exit Sub                End If        End If        GoTo endok    errl:    '異常処理    ERROR_FLG = "1"    ERROR_INFO_LIST.Add ("関数:「doExecuteFlow」で、エラー発生しました。")    ERROR_INFO_LIST.Add ("エラー詳細:" & Err.Number & " : " & Err.Description)        endok:        Call EXEC_COMMON_ERROR_PROCESSEnd SubPublic Sub EXEC_COMMON_ERROR_PROCESS()    If ERROR_FLG = "1" Then            ERROR_INFO_LIST.Add ("プログラムが異常終了、対象ファイルが出力されません")            If TEMP_FOLDER_EIXST_FLG = "1" Then            'Tempファイル削除            'Call deleteTempFolder        End If                'エラーメッセージ表示        Call setErrorInfoToExcel    End IfEnd Sub



原创粉丝点击