- 指定の形式で作成した、Excelファイルを、JSON形式に変換し、出力する。
- 対象の形式
- Key-Value形式
- ListObject形式 (TBL形式)
- Named Range形式
- 対象の形式
- Excelにて、指定の形式で、データ表を作成し、指定フォルダ(input folder)に配置する。
- 指定の形式は、下記にて説明。
- メニューより、以下の機能を利用する。
- Export JSON (Key Value Sheet)
- Export JSON (ListObject:TBL)
- Export JSON (Named Ranges)
- Microsoft Excel for Microsoft 365 MSO (16.0.13001.20142) 32-bit
-
GitHubより、Cloneする。
-
参照設定が必要。
-
アプリは以下。
- アプリ本体 :appExportJson.xlsm
- Batch : ExportJsonMain.bas
- ExportJsonModule.bas
- GetKeyValue
- GetTable
- GetNames
- ExportJsonModule.bas
- Batch : ExportJsonMain.bas
- アプリconfig:config.json
- アプリ本体 :appExportJson.xlsm
-
appExportJson.xlsmを開く。
{
"BASE_FOLDER": "",
"INPUT_FOLDER": "input",
"OUTPUT_FOLDER": "output",
"TEMP_FOLDER": "input/temp",
"BACKUP_FOLDER": "input/backup",
"FORM_FOLDER": "forms",
"TRANSFORM_KEYVALUE": {
"SHEET_TYPE": "KEYVALUE",
"INPUT_LIKE": "KV*.xlsx",
"TARGET_WORD": "no",
"MACRO_GET_METHOD": "GetKeyValue"
},
"TRANSFORM_LISTOBJECT": {
"SHEET_TYPE": "LISTOBJECT",
"INPUT_LIKE": "TBL*.xlsx",
"TARGET_INDEX": 1,
"MACRO_GET_METHOD": "GetTable"
},
"TRANSFORM_NAMES": {
"SHEET_TYPE": "NAMES",
"INPUT_LIKE": "ApplicationForm*.xlsx",
"TARGET_PARAM": "A1",
"MACRO_GET_METHOD": "GetNames",
"DETAIL_FIELD": "definition"
},
"CONTROL_PREFIX": "__",
"SOURCE_FROM": "_source",
"APP_NAME" : "appExportJson"
}
'''' **********************************************
'' @file ExportJsonMain.bas
'' @parent appExportJson.xlsm
''
Public Sub Batch(ByVal datatype As String, Optional ByVal moveOn As Variant = False)
'''' **********************************************
'''' @function batch
'''' @param datatype {String} processing data type
'''' dictionary key in config.json
'''' "TRANSFORM_KEYVALUE" : key value formatted sheet
'''' "TRANSFORM_LISTOBJECT" : Tbl sheet
'''' "TRANSFORM_NAMES" : Named range sheet
'''' @param moveOn {Variant<boolean>}
'''' a flag ot moving input files
''
- 落ち着いたら、もう少し記述を追加します。
- 以下の外部ライブラリを使用しています。
- VBA-JSON : JsonConverter.bas
- MiniTemplator
// --- end of README.md