您的位置:首页 > 编程语言 > VB

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

2017-08-11 23:51 387 查看
本程序共分7个部分

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

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

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

【框架代码】 
4.bat定义

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

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

               └ 5.1.1.具体业务处理代码

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

7.程序页面布局

本章为处理流程

Option Explicit

Public 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_PROCESS

End Sub

Public 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 If

End Sub
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: