diff --git a/NodeJS/Care7_old/pdf/10月歩合.pdf b/NodeJS/Care7_old/pdf/10月歩合.pdf
new file mode 100644
index 00000000..117e5f2d
Binary files /dev/null and b/NodeJS/Care7_old/pdf/10月歩合.pdf differ
diff --git a/NodeJS/Care7_old/pdf/202511.pdf b/NodeJS/Care7_old/pdf/202511.pdf
new file mode 100644
index 00000000..27637200
Binary files /dev/null and b/NodeJS/Care7_old/pdf/202511.pdf differ
diff --git a/NodeJS/Care7_old/pdf/渡邊さん退職届 (2).pdf b/NodeJS/Care7_old/pdf/渡邊さん退職届 (2).pdf
new file mode 100644
index 00000000..e377194d
Binary files /dev/null and b/NodeJS/Care7_old/pdf/渡邊さん退職届 (2).pdf differ
diff --git a/PowerShell/result.txt b/PowerShell/result.txt
new file mode 100644
index 00000000..ca7e5cf9
--- /dev/null
+++ b/PowerShell/result.txt
@@ -0,0 +1 @@
+{"StatusCode":200,"Response":{"Offset":0,"PageSize":200,"TotalCount":57,"Data":[{"SiteId":376872,"UpdatedTime":"2025-12-01T16:11:34","ResultId":421425,"Ver":1,"Body":"","Status":300,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-12-01T16:10:33","ItemTitle":"07V3CNXNK-0002■綿引 翔馬 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"407119","ClassB":"綿引 翔馬 様邸","ClassC":"07V3CNXNK","ClassI":"109101","ClassJ":"2階建て","ClassK":"~20坪","ClassL":"LVL","ClassD":"千葉","ClassX":"2","ClassZ":"07V3CNXNK-0002","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/12/01","Class020":"685","Class021":"895","Class022":"421","Class015":"[\"895\",\"685\"]","Class025":"","Class026":""},"NumHash":{"NumA":100.0,"NumB":100.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-12-01T16:11:34","DateB":"2026-04-15T00:00:00","DateC":"2025-12-01T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-12-01T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"2025-12-03T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-12-01T13:09:27","ResultId":407153,"Ver":1,"Body":"","Status":100,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-12-01T13:09:27","ItemTitle":"07V3CNXNK-0001■綿引 翔馬 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"407119","ClassB":"綿引 翔馬 様邸","ClassC":"07V3CNXNK","ClassI":"","ClassJ":"2階建て","ClassK":"~20坪","ClassL":"LVL","ClassD":"千葉","ClassX":"2","ClassZ":"07V3CNXNK-0001","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/12/01","Class020":"","Class021":"","Class022":"421","Class015":"[]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2026-04-15T00:00:00","DateC":"2025-12-01T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-12-01T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T16:48:10","ResultId":405902,"Ver":1,"Body":"TEST\nTEST\nTEST","Status":300,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T16:47:25","ItemTitle":"789456123-0005■××××分譲■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"××××分譲","ClassC":"789456123","ClassI":"329768","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"789456123-0005","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"0 回","Class020":"685","Class021":"895","Class022":"421","Class015":"[\"895\",\"685\"]","Class025":"","Class026":""},"NumHash":{"NumA":100.0,"NumB":100.0,"NumC":200.0,"NumD":-100.0,"Num001":2.0},"DateHash":{"DateA":"2025-11-25T16:48:10","DateB":"2025-11-01T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"2025-11-27T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T16:47:12","ResultId":405901,"Ver":1,"Body":"TEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T16:46:33","ItemTitle":"789456123-0004■××××分譲■構造確定","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"××××分譲","ClassC":"789456123","ClassI":"329768","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"5","ClassZ":"789456123-0004","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"2025/11/25","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":100.0,"NumB":100.0,"NumC":200.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-25T16:47:03","DateB":"2025-11-01T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"2025-11-25T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-25T16:47:07","Date026":"2025-11-25T16:47:12"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T16:46:29","ResultId":405900,"Ver":1,"Body":"TEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T16:45:53","ItemTitle":"789456123-0003■××××分譲■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"××××分譲","ClassC":"789456123","ClassI":"329768","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"789456123-0003","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"0 回","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":100.0,"NumB":100.0,"NumC":0.0,"NumD":100.0,"Num001":1.0},"DateHash":{"DateA":"2025-11-25T16:46:21","DateB":"2025-11-01T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-25T16:46:26","Date026":"2025-11-25T16:46:29"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T16:45:47","ResultId":405899,"Ver":1,"Body":"TEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T16:44:54","ItemTitle":"789456123-0002■××××分譲■A工種発注完了","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"××××分譲","ClassC":"789456123","ClassI":"329768","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"4","ClassZ":"789456123-0002","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"2025/11/25","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":100.0,"NumB":100.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-25T16:45:23","DateB":"2025-11-01T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"2025-11-25T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-25T16:45:44","Date026":"2025-11-25T16:45:47"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T16:44:38","ResultId":405898,"Ver":1,"Body":"TEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T16:43:56","ItemTitle":"789456123-0001■××××分譲■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"××××分譲","ClassC":"789456123","ClassI":"329768","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"789456123-0001","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/25","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":100.0,"NumB":100.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-25T16:44:14","DateB":"2025-11-01T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-25T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-25T16:44:35","Date026":"2025-11-25T16:44:38"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T14:27:29","ResultId":405834,"Ver":1,"Body":"","Status":300,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T14:16:00","ItemTitle":"123456-0011■〇×建売■A工種発注完了","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"123456","ClassI":"329768","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"4","ClassZ":"123456-0011","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"2025/11/25","Class020":"685","Class021":"895","Class022":"421","Class015":"[\"895\",\"685\"]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-25T14:27:29","DateB":"2025-11-25T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"2025-11-25T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"2025-11-27T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T13:50:19","ResultId":405821,"Ver":1,"Body":"","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T13:49:35","ItemTitle":"123456-0010■〇×建売■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"123456","ClassI":"329768","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"123456-0010","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/25","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-25T13:50:11","DateB":"2025-11-25T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-25T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-25T13:50:14","Date026":"2025-11-25T13:50:19"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T13:34:04","ResultId":403152,"Ver":1,"Body":"","Status":300,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T13:33:42","ItemTitle":"987654321-0005■〇×建売■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"987654321","ClassI":"","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"987654321-0005","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/25","Class020":"685","Class021":"895","Class022":"421","Class015":"[\"895\",\"685\"]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-25T13:34:04","DateB":"2025-11-25T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-25T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"2025-11-27T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T12:06:33","ResultId":401820,"Ver":1,"Body":"TEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T12:06:02","ItemTitle":"987654321-0004■〇×〇×建売■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×〇×建売","ClassC":"987654321","ClassI":"329768","ClassJ":"平屋","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"987654321-0004","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"0 回","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":2.0},"DateHash":{"DateA":"2025-11-25T12:06:24","DateB":"2025-11-25T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-25T12:06:29","Date026":"2025-11-25T12:06:33"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T12:05:21","ResultId":401818,"Ver":1,"Body":"TEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T12:04:37","ItemTitle":"987654321-0003■〇×〇×建売■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×〇×建売","ClassC":"987654321","ClassI":"329768","ClassJ":"平屋","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"987654321-0003","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"0 回","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":1.0},"DateHash":{"DateA":"2025-11-25T12:05:08","DateB":"2025-11-25T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-25T12:05:14","Date026":"2025-11-25T12:05:21"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T12:04:24","ResultId":401817,"Ver":1,"Body":"TEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T12:01:51","ItemTitle":"987654321-0002■〇×〇×建売■構造確定","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×〇×建売","ClassC":"987654321","ClassI":"329768","ClassJ":"平屋","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"5","ClassZ":"987654321-0002","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"2025/11/25","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-25T12:04:15","DateB":"2025-11-25T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"2025-11-25T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-25T12:04:20","Date026":"2025-11-25T12:04:24"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-25T12:01:32","ResultId":401816,"Ver":1,"Body":"TEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-25T12:01:00","ItemTitle":"987654321-0001■〇×〇×建売■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×〇×建売","ClassC":"987654321","ClassI":"329768","ClassJ":"平屋","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"987654321-0001","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/25","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-25T12:01:24","DateB":"2025-11-25T00:00:00","DateC":"2025-11-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-25T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-25T12:01:28","Date026":"2025-11-25T12:01:32"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-24T14:17:19","ResultId":395993,"Ver":1,"Body":"TEST\nTEST\nTEST\nTEST\nTEST\n","Status":150,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-11-24T14:17:05","ItemTitle":"111111111-0010■〇×建売■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"111111111","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"111111111-0010","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"0 回","Class020":"","Class021":"895","Class022":"421","Class015":"[\"460\"]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":4.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2025-11-24T00:00:00","DateC":"2025-11-24T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-24T14:16:50","ResultId":395705,"Ver":1,"Body":"TEST\nTEST\nTEST\nTEST\nTEST\n","Status":300,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-11-24T14:14:05","ItemTitle":"111111111-0009■〇×建売■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"111111111","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"111111111-0009","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"3 回","Class020":"460","Class021":"895","Class022":"421","Class015":"[\"895\",\"460\"]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":3.0},"DateHash":{"DateA":"2025-11-24T14:16:50","DateB":"2025-11-24T00:00:00","DateC":"2025-11-24T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"2025-11-26T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-24T12:23:30","ResultId":394563,"Ver":1,"Body":"","Status":100,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-24T12:23:30","ItemTitle":"123456-0009■〇〇××分譲住宅■仮予算確定","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇〇××分譲住宅","ClassC":"123456","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"3","ClassZ":"123456-0009","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[]","Class010":"","ClassY":"","Class020":"","Class021":"","Class022":"421","Class015":"","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2025-11-24T00:00:00","DateC":"2025-11-24T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-24T12:20:21","ResultId":394551,"Ver":1,"Body":"","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-24T11:44:17","ItemTitle":"123456-0008■〇〇××分譲住宅■基礎のみ","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇〇××分譲住宅","ClassC":"123456","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"1","ClassZ":"123456-0008","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[]","Class010":"[\"421\"]","ClassY":"2025/11/24","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-24T11:53:51","DateB":"2025-11-24T00:00:00","DateC":"2025-11-24T00:00:00","Date001":"2025-11-24T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-24T12:20:18","Date026":"2025-11-24T12:20:21"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-24T09:56:01","ResultId":394423,"Ver":1,"Body":"TEST\nTEST\nTEST\nTEST\nTEST\n","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-24T09:54:23","ItemTitle":"111111111-0008■〇×建売■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"111111111","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"111111111-0008","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"1 回","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":2.0},"DateHash":{"DateA":"2025-11-24T09:55:54","DateB":"2025-11-24T00:00:00","DateC":"2025-11-24T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-24T09:55:58","Date026":"2025-11-24T09:56:01"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-24T09:53:54","ResultId":394422,"Ver":1,"Body":"TEST\nTEST\nTEST\nTEST\n","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-24T09:53:15","ItemTitle":"111111111-0007■〇×建売■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"111111111","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"111111111-0007","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"1 回","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":1.0},"DateHash":{"DateA":"2025-11-24T09:53:47","DateB":"2025-11-24T00:00:00","DateC":"2025-11-24T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-24T09:53:51","Date026":"2025-11-24T09:53:54"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-24T09:52:30","ResultId":394420,"Ver":1,"Body":"TEST\nTEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-24T09:51:54","ItemTitle":"111111111-0006■〇×建売■構造確定","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"111111111","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"5","ClassZ":"111111111-0006","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"2025/11/24","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-24T09:52:22","DateB":"2025-11-24T00:00:00","DateC":"2025-11-24T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"2025-11-24T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-24T09:52:27","Date026":"2025-11-24T09:52:30"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-24T09:51:37","ResultId":394419,"Ver":1,"Body":"TEST\nTEST\n","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-24T09:51:02","ItemTitle":"111111111-0005■〇×建売■A工種発注完了","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"111111111","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"4","ClassZ":"111111111-0005","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"2025/11/24","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-24T09:51:29","DateB":"2025-11-24T00:00:00","DateC":"2025-11-24T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"2025-11-24T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-24T09:51:32","Date026":"2025-11-24T09:51:37"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-24T09:50:50","ResultId":394418,"Ver":1,"Body":"TEST\n","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-24T09:50:16","ItemTitle":"111111111-0004■〇×建売■仮予算確定","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"111111111","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"3","ClassZ":"111111111-0004","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"2025/11/24","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-24T09:50:41","DateB":"2025-11-24T00:00:00","DateC":"2025-11-24T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"2025-11-24T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-24T09:50:47","Date026":"2025-11-24T09:50:50"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-24T09:41:07","ResultId":394413,"Ver":1,"Body":"","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-24T09:38:00","ItemTitle":"111111111-0001■〇×建売■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"〇×建売","ClassC":"111111111","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"111111111-0001","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/24","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-24T09:39:18","DateB":"2025-11-24T00:00:00","DateC":"2025-11-24T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-24T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-24T09:40:13","Date026":"2025-11-24T09:41:07"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T18:05:37","ResultId":390916,"Ver":1,"Body":"TEST","Status":300,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-11-22T18:02:15","ItemTitle":"123456-0007■建売■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"建売","ClassC":"123456","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"123456-0007","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"3 回","Class020":"460","Class021":"895","Class022":"421","Class015":"[\"895\",\"460\"]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":3.0},"DateHash":{"DateA":"2025-11-22T18:05:37","DateB":"2025-11-22T00:00:00","DateC":"2025-11-22T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"2025-11-24T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T18:02:07","ResultId":390914,"Ver":1,"Body":"TEST","Status":900,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-11-22T17:58:51","ItemTitle":"123456-0006■建売■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"建売","ClassC":"123456","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"123456-0006","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"2 回","Class020":"460","Class021":"1057","Class022":"421","Class015":"[]","Class025":"460","Class026":"460"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":2.0},"DateHash":{"DateA":"2025-11-22T18:02:00","DateB":"2025-11-22T00:00:00","DateC":"2025-11-22T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-22T18:02:04","Date026":"2025-11-22T18:02:07"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T17:57:14","ResultId":390913,"Ver":1,"Body":"","Status":300,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-11-22T17:56:12","ItemTitle":"123456-0005■建売■仮予算確定","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"建売","ClassC":"123456","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"3","ClassZ":"123456-0005","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"2025/11/23","Class020":"460","Class021":"1057","Class022":"421","Class015":"[\"1057\"]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-22T17:57:14","DateB":"2025-11-22T00:00:00","DateC":"2025-11-22T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"2025-11-23T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"2025-11-24T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T17:54:55","ResultId":381381,"Ver":4,"Body":"","Status":150,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-10-10T16:17:59","ItemTitle":"05C6CLCNS-0001■小林 直樹 様邸■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"379622","ClassB":"小林 直樹 様邸","ClassC":"05C6CLCNS","ClassI":"109108","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"愛知","ClassX":"6","ClassZ":"05C6CLCNS-0001","Class001":"[\"671\",\"676\",\"996\",\"979\"]","Class002":"[\"979\",\"677\"]","Class003":"[]","Class004":"[\"785\",\"786\",\"653\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[]","Class010":"[\"421\"]","ClassY":"1 回","Class020":"460","Class021":"996","Class022":"421","Class015":"[]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":1.0},"DateHash":{"DateA":"2025-11-22T15:54:25","DateB":"1899-12-30T00:00:00","DateC":"1899-12-30T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"2025-11-24T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":false,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T17:29:58","ResultId":390909,"Ver":1,"Body":"TEST","Status":100,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-11-22T17:24:17","ItemTitle":"123456-0003■建売■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"建売","ClassC":"123456","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"123456-0003","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"1 回","Class020":"","Class021":"895","Class022":"421","Class015":"","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":1.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2025-11-22T00:00:00","DateC":"2025-11-22T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":true},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T17:25:30","ResultId":390910,"Ver":1,"Body":"TEST","Status":100,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-11-22T17:24:55","ItemTitle":"123456-0004■建売■A工種発注完了","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"建売","ClassC":"123456","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"4","ClassZ":"123456-0004","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"","Class020":"","Class021":"895","Class022":"421","Class015":"","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2025-11-22T00:00:00","DateC":"2025-11-22T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":true,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T17:14:25","ResultId":390907,"Ver":1,"Body":"TEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-22T17:12:27","ItemTitle":"123456-0002■建売■構造確定","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"建売","ClassC":"123456","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"5","ClassZ":"123456-0002","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-22T17:14:03","DateB":"2025-11-22T00:00:00","DateC":"2025-11-22T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"2025-11-22T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-22T17:14:12","Date026":"2025-11-22T17:14:25"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"9F1CA8ACBFD74F689C9CDE9A613E5306","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251121.xlsm","Size":9077909,"HashCode":"pUKUa5oPXZgQLw6RtAZBFooQRXJxnWPdGS2SR0PfU9Y="}],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T17:12:05","ResultId":390904,"Ver":1,"Body":"","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-22T17:11:00","ItemTitle":"123456-0001■建売■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"建売","ClassC":"123456","ClassI":"329768","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"123456-0001","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/22","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-22T17:11:50","DateB":"2025-11-22T00:00:00","DateC":"2025-11-22T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-22T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-22T17:11:59","Date026":"2025-11-22T17:12:05"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST"},"CheckHash":{"CheckA":true,"CheckZ":true,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"DA37C2681F8E4B17822D0F4BDEF555CA","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251121.xlsm","Size":9077909}],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T15:39:09","ResultId":390893,"Ver":1,"Body":"TEST\nTEST\nTEST\nTEST\nTEST\n","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-22T15:37:44","ItemTitle":"05B3BVANK-0005■大内 雄斗 様邸■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"304258","ClassB":"大内 雄斗 様邸","ClassC":"05B3BVANK","ClassI":"210031","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"05B3BVANK-0005","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[]","Class010":"","ClassY":"","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":1000.0,"NumB":10500.0,"NumC":11000.0,"NumD":-100.0,"Num001":1.0},"DateHash":{"DateA":"2025-11-22T15:38:54","DateB":"2025-06-18T00:00:00","DateC":"2025-06-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-22T15:39:02","Date026":"2025-11-22T15:39:09"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST"},"CheckHash":{"CheckA":false,"CheckZ":true,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"10FB876F40AA49AFB97FEDA2D3BA5296","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251121.xlsm","Size":9077909,"HashCode":"pUKUa5oPXZgQLw6RtAZBFooQRXJxnWPdGS2SR0PfU9Y="}],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T15:37:31","ResultId":390892,"Ver":1,"Body":"TEST\nTEST\nTEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-22T15:35:52","ItemTitle":"05B3BVANK-0004■大内 雄斗 様邸■構造確定","ApiVersion":1.1,"ClassHash":{"ClassA":"304258","ClassB":"大内 雄斗 様邸","ClassC":"05B3BVANK","ClassI":"210031","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"5","ClassZ":"05B3BVANK-0004","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[]","Class010":"","ClassY":"","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":1000.0,"NumB":10500.0,"NumC":11000.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-22T15:36:51","DateB":"2025-06-18T00:00:00","DateC":"2025-06-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"2025-11-22T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-22T15:37:22","Date026":"2025-11-22T15:37:31"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST"},"CheckHash":{"CheckA":false,"CheckZ":true,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"47CF922FA4024ED09A7886DEE97FC4E2","Name":"※クラウドDX用【原紙】ネクスト_愛知実行予算_20251121.xlsm","Size":3686326,"HashCode":"1b139DPcuEA4S0mIanqIjp8hsyYpGplP0GQdTsApILw="}],"AttachmentsB":[{"Guid":"D8530504B8D6411686CE0355A06F9F84","Name":"【原紙】〇〇様邸 質疑書.xlsx","Size":13750,"HashCode":"dnrJ2w/IJ1MLOI69KfHskM6F9fiH7HKsV6Sy5vemVdU="}],"AttachmentsC":[{"Guid":"1AB0F301CF434011A9BEC8FA48A616EE","Name":"【原紙】実行予算作成日程.xlsx","Size":37226,"HashCode":"aeZgDzT3eoOphEFf3KDpryotxNSJ2+gaQGWHreu01JE="}],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T15:35:34","ResultId":390888,"Ver":1,"Body":"TEST\nTEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-22T15:08:45","ItemTitle":"05B3BVANK-0003■大内 雄斗 様邸■A工種発注完了","ApiVersion":1.1,"ClassHash":{"ClassA":"304258","ClassB":"大内 雄斗 様邸","ClassC":"05B3BVANK","ClassI":"210031","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"4","ClassZ":"05B3BVANK-0003","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[]","Class010":"","ClassY":"","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":1000.0,"NumB":10500.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-22T15:28:39","DateB":"2025-06-18T00:00:00","DateC":"2025-06-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"2025-11-22T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-22T15:35:26","Date026":"2025-11-22T15:35:34"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST TEST"},"CheckHash":{"CheckA":false,"CheckZ":true,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"6D33C01840D748CCA6C0CA4F9C38A1A5","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251121.xlsm","Size":9077909,"HashCode":"pUKUa5oPXZgQLw6RtAZBFooQRXJxnWPdGS2SR0PfU9Y="}],"AttachmentsB":[{"Guid":"D8EA1FAE96964731B4CFDDF2EF10F3D2","Name":"【原紙】〇〇様邸 質疑書.xlsx","Size":13750,"HashCode":"dnrJ2w/IJ1MLOI69KfHskM6F9fiH7HKsV6Sy5vemVdU="}],"AttachmentsC":[{"Guid":"21867930A2DE496498F71CA7C3532AC3","Name":"【原紙】実行予算作成日程.xlsx","Size":37226,"HashCode":"aeZgDzT3eoOphEFf3KDpryotxNSJ2+gaQGWHreu01JE="}],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T14:56:52","ResultId":390885,"Ver":1,"Body":"TEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-22T14:55:31","ItemTitle":"05B3BVANK-0002■大内 雄斗 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"304258","ClassB":"大内 雄斗 様邸","ClassC":"05B3BVANK","ClassI":"210031","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"05B3BVANK-0002","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[]","Class010":"","ClassY":"","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":1000.0,"NumB":10000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-22T14:56:29","DateB":"2025-06-18T00:00:00","DateC":"2025-06-25T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-22T14:56:43","Date026":"2025-11-22T14:56:52"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST TEST"},"CheckHash":{"CheckA":false,"CheckZ":true,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"FA72B3E6EB5D47729B6F0F5D990B0130","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251121.xlsm","Size":9077909,"HashCode":"pUKUa5oPXZgQLw6RtAZBFooQRXJxnWPdGS2SR0PfU9Y="}],"AttachmentsB":[{"Guid":"5D8E1808C5C1407DBE9732D3C0F329F5","Name":"【原紙】〇〇様邸 質疑書.xlsx","Size":13750,"HashCode":"dnrJ2w/IJ1MLOI69KfHskM6F9fiH7HKsV6Sy5vemVdU="}],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T14:55:14","ResultId":390884,"Ver":1,"Body":"TEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-22T14:54:08","ItemTitle":"05B3BVANK-0001■大内 雄斗 様邸■基礎のみ","ApiVersion":1.1,"ClassHash":{"ClassA":"304258","ClassB":"大内 雄斗 様邸","ClassC":"05B3BVANK","ClassI":"210031","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"1","ClassZ":"05B3BVANK-0001","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[]","Class010":"[\"421\"]","ClassY":"2025/11/22","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":1000.0,"NumB":10000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-22T14:54:46","DateB":"2025-06-18T00:00:00","DateC":"2025-06-25T00:00:00","Date001":"2025-11-22T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-22T14:54:59","Date026":"2025-11-22T14:55:14"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST TEST"},"CheckHash":{"CheckA":false,"CheckZ":true,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"5A6F5C0415CD45F5A957532AFA5B0105","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251121.xlsm","Size":9077909}],"AttachmentsB":[{"Guid":"44AAE997D3FE45889BA90A60528E34BB","Name":"【原紙】〇〇様邸 質疑書.xlsx","Size":13750}],"AttachmentsC":[{"Guid":"FC97DEA0B0F74C9FA23C70BDBC01E10F","Name":"【原紙】実行予算作成日程.xlsx","Size":37226}],"AttachmentsD":[{"Guid":"3E7686F0385B41C4A9C10A91EB277BB0","Name":"発注担当IDを一気に書き換える方法.pdf","Size":387662}],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T14:05:42","ResultId":383925,"Ver":3,"Body":"","Status":300,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":460,"CreatedTime":"2025-10-28T11:25:36","ItemTitle":"02V2BIWNK-0007■工藤 来 様邸■基礎のみ","ApiVersion":1.1,"ClassHash":{"ClassA":"237870","ClassB":"工藤 来 様邸","ClassC":"02V2BIWNK","ClassI":"109106","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"1","ClassZ":"02V2BIWNK-0007","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[]","Class010":"[\"421\"]","ClassY":"","Class020":"685","Class021":"1057","Class022":"421","Class015":"[]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-10-28T00:00:00","DateB":"2024-09-21T00:00:00","DateC":"2024-07-17T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T14:05:19","ResultId":381385,"Ver":2,"Body":"","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":460,"CreatedTime":"2025-10-10T16:23:09","ItemTitle":"95B3CCTNK-0001■石川 亮太 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"333194","ClassB":"石川 亮太 様邸","ClassC":"95B3CCTNK","ClassI":"210031","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"95B3CCTNK-0001","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"460","Class026":"460"},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-10-10T00:00:00","DateB":"2025-10-15T00:00:00","DateC":"2025-09-01T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-22T14:05:05","Date026":"2025-11-22T14:05:19"},"DescriptionHash":{"Description025":"一次承認コメント:","Description026":"最終決裁コメント:"},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T13:54:08","ResultId":390878,"Ver":1,"Body":"TEST-1","Status":100,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-11-22T13:54:08","ItemTitle":"03C3BWUNK-0004■蘒原 大資・里緒 様邸■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"308135","ClassB":"蘒原 大資・里緒 様邸","ClassC":"03C3BWUNK","ClassI":"109108","ClassJ":"平屋","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"6","ClassZ":"03C3BWUNK-0004","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"","ClassY":"","Class020":"","Class021":"","Class022":"421","Class015":"","Class025":"","Class026":""},"NumHash":{"NumA":10000.0,"NumB":10000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2025-10-10T00:00:00","DateC":"2025-08-03T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T13:44:06","ResultId":390708,"Ver":2,"Body":"TEST\nTEST\nTEST","Status":100,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":460,"CreatedTime":"2025-11-21T12:30:30","ItemTitle":"02V2BIWNK-0014■工藤 来 様邸■構造確定","ApiVersion":1.1,"ClassHash":{"ClassA":"237870","ClassB":"工藤 来 様邸","ClassC":"02V2BIWNK","ClassI":"109106","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"5","ClassZ":"02V2BIWNK-0014","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"","Class020":"","Class021":"","Class022":"421","Class015":"","Class025":"","Class026":""},"NumHash":{"NumA":100.0,"NumB":100.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2024-09-21T00:00:00","DateC":"2024-07-17T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":true,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-22T13:27:10","ResultId":390709,"Ver":2,"Body":"TEST-1","Status":100,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":460,"CreatedTime":"2025-11-21T12:32:10","ItemTitle":"03C3BWUNK-0003■蘒原 大資・里緒 様邸■A工種発注完了","ApiVersion":1.1,"ClassHash":{"ClassA":"","ClassB":"蘒原 大資・里緒 様邸","ClassC":"03C3BWUNK","ClassI":"109108","ClassJ":"平屋","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"4","ClassZ":"03C3BWUNK-0003","Class001":"","Class002":"","Class003":"","Class004":"","Class005":"","Class006":"","Class010":"","ClassY":"","Class020":"","Class021":"","Class022":"421","Class015":"","Class025":"","Class026":""},"NumHash":{"NumA":10000.0,"NumB":10000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2025-10-10T00:00:00","DateC":"2025-08-03T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":true,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-21T11:49:48","ResultId":390697,"Ver":1,"Body":"TEST","Status":100,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-21T11:49:48","ItemTitle":"05N6BTWNA-0002■長島 義幸 様邸■仮予算確定","ApiVersion":1.1,"ClassHash":{"ClassA":"293336","ClassB":"長島 義幸 様邸","ClassC":"05N6BTWNA","ClassI":"109101","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"愛知","ClassX":"3","ClassZ":"05N6BTWNA-0002","Class001":"","Class002":"","Class003":"","Class004":"","Class005":"","Class006":"","Class010":"","ClassY":"","Class020":"","Class021":"","Class022":"421","Class015":"","Class025":"","Class026":""},"NumHash":{"NumA":100000.0,"NumB":100000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2025-03-17T00:00:00","DateC":"2025-03-01T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-21T11:49:31","ResultId":390696,"Ver":1,"Body":"TEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-21T11:48:21","ItemTitle":"05N6BTWNA-0001■長島 義幸 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"293336","ClassB":"長島 義幸 様邸","ClassC":"05N6BTWNA","ClassI":"109101","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"愛知","ClassX":"2","ClassZ":"05N6BTWNA-0001","Class001":"[\"671\",\"676\",\"996\",\"979\"]","Class002":"[\"979\",\"677\"]","Class003":"[]","Class004":"[\"785\",\"786\",\"653\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/21","Class020":"685","Class021":"676","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":100000.0,"NumB":100000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-21T11:48:53","DateB":"2025-03-17T00:00:00","DateC":"2025-03-01T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-21T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-21T11:49:15","Date026":"2025-11-21T11:49:31"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST"},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"6E108C2055094E839C96599B1B07042A","Name":"BTWNA長島邸愛知実行予算20250402承認0403A工種発注完了0424構造材確定0529修正.xlsm","Size":3114010}],"AttachmentsB":[{"Guid":"FB82E956409B414592807A49407D53B2","Name":"長島義幸様邸 質疑書.xlsx","Size":15190}],"AttachmentsC":[{"Guid":"FFB00487A7C743C990ACAA34BFCDAC6C","Name":"長島義幸様邸 実行予算作成日程.pdf","Size":34649}],"AttachmentsD":[{"Guid":"C3762BCE8DB145A68D0D7F752AF08B9D","Name":"承認図 BTW長島義幸様0301.pdf","Size":12917231}],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-21T11:36:21","ResultId":390691,"Ver":1,"Body":"TEST-1\nTEST-2","Status":100,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-21T11:26:54","ItemTitle":"03C3BWUNK-0002■蘒原 大資・里緒 様邸■仮予算確定","ApiVersion":1.1,"ClassHash":{"ClassA":"308135","ClassB":"蘒原 大資・里緒 様邸","ClassC":"03C3BWUNK","ClassI":"109108","ClassJ":"平屋","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"3","ClassZ":"03C3BWUNK-0002","Class001":"","Class002":"","Class003":"","Class004":"","Class005":"","Class006":"","Class010":"","ClassY":"","Class020":"685","Class021":"","Class022":"421","Class015":"","Class025":"","Class026":""},"NumHash":{"NumA":10000.0,"NumB":10000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2025-10-10T00:00:00","DateC":"2025-08-03T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"2025-11-21T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"1DE89A41FCA040B996DF63E5F5179428","Name":"蘒原 大資・蘒原 里緒邸 実行予算.xlsm","Size":9078822,"HashCode":"gLvCpDecgJeOeXe3HRccxwlsd7spcopCQZpR+dinrsg="}],"AttachmentsB":[{"Guid":"0FF47342EA8B4A9AB869A162EA77D41F","Name":"蘒原 大資・蘒原 里緒様邸 質疑書(IC、設計返信).xlsx","Size":51556,"HashCode":"yBSY5NHQCf7z2DuWNTWJQW2aAZlZPi16unpibKBz11A="}],"AttachmentsC":[{"Guid":"20D4E6A92E254803A362060E4733A69B","Name":"蘒原 大資・蘒原 里緒邸 実行予算作成日程.xlsx","Size":37338,"HashCode":"Sfm2PO2ZWyDJchwFOu8UlW4DWBFAYXoGuWAnqEkc9s0="}],"AttachmentsD":[{"Guid":"1D26208AC528404DB1AB0C99524FF446","Name":"承認図 03C3BWUNK■蘒原 大資・蘒原 里緒1028.pdf","Size":16000869,"HashCode":"ZbO978kzwikBdiVXXk6DOXAiGxiKL/863EOzuFfuExo="}],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-21T11:26:20","ResultId":390688,"Ver":1,"Body":"TEST-1","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-21T11:21:38","ItemTitle":"03C3BWUNK-0001■蘒原 大資・里緒 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"308135","ClassB":"蘒原 大資・里緒 様邸","ClassC":"03C3BWUNK","ClassI":"109108","ClassJ":"平屋","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"03C3BWUNK-0001","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/21","Class020":"685","Class021":"892","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":10000.0,"NumB":10000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-21T11:22:08","DateB":"2025-10-10T00:00:00","DateC":"2025-08-03T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-21T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-21T11:25:28","Date026":"2025-11-21T11:26:20"},"DescriptionHash":{"Description025":"一次承認コメント:TEST-TEST","Description026":"最終決裁コメント:TEST-TEST-TEST"},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"898393152DC64CD8B887C60D375778B3","Name":"蘒原 大資・蘒原 里緒邸 実行予算.xlsm","Size":9078822}],"AttachmentsB":[{"Guid":"45C6C55DA957460AB20A2EB0C374EF8D","Name":"蘒原 大資・蘒原 里緒様邸 質疑書(IC、設計返信).xlsx","Size":51556}],"AttachmentsC":[{"Guid":"934F6EDCD8154A60BCBA6AEE7D196FBF","Name":"蘒原 大資・蘒原 里緒邸 実行予算作成日程.xlsx","Size":37338}],"AttachmentsD":[{"Guid":"6AB7A94819C74B8FBEDE792161B48D49","Name":"承認図 03C3BWUNK■蘒原 大資・蘒原 里緒1028.pdf","Size":16000869}],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-21T10:49:03","ResultId":390672,"Ver":1,"Body":"TEST\nTEST\nTEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-21T10:48:05","ItemTitle":"02V2BIWNK-0008■工藤 来 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"237870","ClassB":"工藤 来 様邸","ClassC":"02V2BIWNK","ClassI":"109106","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"02V2BIWNK-0008","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/21","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":100.0,"NumB":100.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-21T10:48:34","DateB":"2024-09-21T00:00:00","DateC":"2024-07-17T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-21T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-21T10:48:51","Date026":"2025-11-21T10:49:03"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST"},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"B592C56FAC9A4F4F908DCC2D74B80FA1","Name":"工藤 来様邸 実行予算.xlsm","Size":7576982}],"AttachmentsB":[{"Guid":"B01C1A74E6544EFFB7BBE918E5C6426A","Name":"工藤 来様邸 質疑書(営業返信).xlsx","Size":17135}],"AttachmentsC":[],"AttachmentsD":[{"Guid":"2E9DB5AD44AF4A49A485CEC8828F9EE1","Name":"再々承認図 02V2BIWNK 工藤来邸0221.pdf","Size":32224669}],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-16T15:47:14","ResultId":389823,"Ver":1,"Body":"TEST","Status":100,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-11-16T15:47:14","ItemTitle":"05N3BJMNK-0005■金子 亮祐・璃穂 様邸■構造確定","ApiVersion":1.1,"ClassHash":{"ClassA":"260719","ClassB":"金子 亮祐・璃穂 様邸","ClassC":"05N3BJMNK","ClassI":"109101","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"5","ClassZ":"05N3BJMNK-0005","Class001":"","Class002":"","Class003":"","Class004":"","Class005":"","Class006":"","Class010":"","ClassY":"","Class020":"","Class021":"","Class022":"421","Class015":"","Class025":"","Class026":""},"NumHash":{"NumA":1000.0,"NumB":1000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2024-10-02T00:00:00","DateC":"1899-12-30T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-16T15:39:14","ResultId":389819,"Ver":1,"Body":"TEST","Status":100,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-11-16T15:39:14","ItemTitle":"05N3BJMNK-0004■金子 亮祐・璃穂 様邸■仮予算確定","ApiVersion":1.1,"ClassHash":{"ClassA":"260719","ClassB":"金子 亮祐・璃穂 様邸","ClassC":"05N3BJMNK","ClassI":"109101","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"3","ClassZ":"05N3BJMNK-0004","Class001":"","Class002":"","Class003":"","Class004":"","Class005":"","Class006":"","Class010":"","ClassY":"","Class020":"","Class021":"","Class022":"421","Class015":"","Class025":"","Class026":""},"NumHash":{"NumA":1000.0,"NumB":1000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"1899-12-30T00:00:00","DateB":"2024-10-02T00:00:00","DateC":"1899-12-30T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-15T14:01:07","ResultId":388716,"Ver":2,"Body":"TEST\nTEST\nTEST","Status":100,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":460,"CreatedTime":"2025-11-10T10:37:15","ItemTitle":"05N3BJMNK-0003■金子 亮祐・璃穂 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"260719","ClassB":"金子 亮祐・璃穂 様邸","ClassC":"05N3BJMNK","ClassI":"109101","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"05N3BJMNK-0003","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/10","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":1000.0,"NumB":1000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-10T10:31:23","DateB":"2024-10-02T00:00:00","DateC":"1899-12-30T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-10T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-10T10:31:50","Date026":"2025-11-10T10:32:00"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST"},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-10T10:35:37","ResultId":388715,"Ver":1,"Body":"TEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-10T10:35:37","ItemTitle":"05N3BJMNK-0002■金子 亮祐・璃穂 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"260719","ClassB":"金子 亮祐・璃穂 様邸","ClassC":"05N3BJMNK","ClassI":"109101","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"05N3BJMNK-0002","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/10","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":1000.0,"NumB":1000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-10T10:31:23","DateB":"2024-10-02T00:00:00","DateC":"1899-12-30T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-10T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-10T10:31:50","Date026":"2025-11-10T10:32:00"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST"},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-10T10:32:00","ResultId":388713,"Ver":1,"Body":"TEST","Status":900,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-10T10:28:32","ItemTitle":"05N3BJMNK-0001■金子 亮祐・璃穂 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"260719","ClassB":"金子 亮祐・璃穂 様邸","ClassC":"05N3BJMNK","ClassI":"109101","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"2","ClassZ":"05N3BJMNK-0001","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2025/11/10","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":1000.0,"NumB":1000.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-10T10:31:23","DateB":"2024-10-02T00:00:00","DateC":"1899-12-30T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"2025-11-10T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-10T10:31:50","Date026":"2025-11-10T10:32:00"},"DescriptionHash":{"Description025":"一次承認コメント:TEST","Description026":"最終決裁コメント:TEST"},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"66C0614A96DC4BE8B167A1FD12AFFEBB","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251031.xlsm","Size":9072365}],"AttachmentsB":[{"Guid":"9FEA100F79C046DE9BE4BF19139E7A4A","Name":"【原紙】〇〇様邸 質疑書.xlsx","Size":13750}],"AttachmentsC":[{"Guid":"0937092E3CCF4CF8B18349D5C9AC9B94","Name":"【原紙】実行予算作成日程.xlsx","Size":37226}],"AttachmentsD":[{"Guid":"D5949D82E1724FAE8A3C1EFB63EF6057","Name":"【積算発注管理課】見積依頼手順・依頼先リスト2025.02.10.xlsm","Size":349972}],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-10T10:16:11","ResultId":388693,"Ver":1,"Body":"TEST","Status":100,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-10T09:03:59","ItemTitle":"03N3BBVNK-0001■濱野 修・陽子 様邸■仮予算確定","ApiVersion":1.1,"ClassHash":{"ClassA":"212208","ClassB":"濱野 修・陽子 様邸","ClassC":"03N3BBVNK","ClassI":"109101","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"3","ClassZ":"03N3BBVNK-0001","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"","Class020":"685","Class021":"","Class022":"","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":110.0,"NumB":110.0,"NumC":110.0,"NumD":110.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-10T09:08:33","DateB":"2024-03-28T00:00:00","DateC":"2024-02-11T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-10T09:18:00","Date026":"2025-11-10T09:18:19"},"DescriptionHash":{"Description025":"一次承認コメント:TEST2","Description026":"最終決裁コメント:TEST2"},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"52730B58C5B140A190040E0BFAB55526","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251031.xlsm","Size":9072365,"HashCode":"YBo0u6n06CIkAXbat/L43O09dqhT4Hr+kVkZ3TCFI38="}],"AttachmentsB":[{"Guid":"3B6278848DE44A3C93B102D87CFBDB08","Name":"【原紙】〇〇様邸 質疑書.xlsx","Size":13750,"HashCode":"dnrJ2w/IJ1MLOI69KfHskM6F9fiH7HKsV6Sy5vemVdU="}],"AttachmentsC":[{"Guid":"BEE43A60DA264588B6CA694377EBC4FE","Name":"【原紙】実行予算作成日程.xlsx","Size":37226,"HashCode":"aeZgDzT3eoOphEFf3KDpryotxNSJ2+gaQGWHreu01JE="}],"AttachmentsD":[{"Guid":"A75BBEAB6DB94E9BAE603628D3E367CD","Name":"承認図一式 デニス邸.pdf","Size":4657038,"HashCode":"Ik4KLlXDZjLzplwZqsEmm4D6jm4rEOBDNSIGzDj11fM="}],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-11-10T10:10:34","ResultId":388697,"Ver":1,"Body":"TEST","Status":150,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-11-10T09:27:35","ItemTitle":"03N3BBVNK-0002■濱野 修・陽子 様邸■A工種発注完了","ApiVersion":1.1,"ClassHash":{"ClassA":"212208","ClassB":"濱野 修・陽子 様邸","ClassC":"03N3BBVNK","ClassI":"109101","ClassJ":"平屋","ClassK":"21~30坪","ClassL":"構造用集成材","ClassD":"千葉","ClassX":"4","ClassZ":"03N3BBVNK-0002","Class001":"[\"895\",\"1057\",\"1020\",\"892\"]","Class002":"[\"895\"]","Class003":"[]","Class004":"[\"655\",\"1108\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"","Class020":"685","Class021":"895","Class022":"421","Class015":"[]","Class025":"685","Class026":"685"},"NumHash":{"NumA":110.0,"NumB":110.0,"NumC":110.0,"NumD":110.0,"Num001":0.0},"DateHash":{"DateA":"2025-11-10T09:08:33","DateB":"2024-03-28T00:00:00","DateC":"2024-02-11T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"2025-11-10T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"2025-11-10T09:18:00","Date026":"2025-11-10T09:18:19"},"DescriptionHash":{"Description025":"一次承認コメント:TEST2","Description026":"最終決裁コメント:TEST2"},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[{"Guid":"D53DE6C8D933433983726D17F841392F","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251031.xlsm","Size":9072365,"HashCode":"YBo0u6n06CIkAXbat/L43O09dqhT4Hr+kVkZ3TCFI38="}],"AttachmentsB":[{"Guid":"10FA22420EFA4D4FB14E46BF7DBAD7F8","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251031.xlsm","Size":9072365,"HashCode":"YBo0u6n06CIkAXbat/L43O09dqhT4Hr+kVkZ3TCFI38="}],"AttachmentsC":[{"Guid":"1C95EC757D204DD18A28A9531DC553B9","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251031.xlsm","Size":9072365,"HashCode":"YBo0u6n06CIkAXbat/L43O09dqhT4Hr+kVkZ3TCFI38="}],"AttachmentsD":[{"Guid":"9E04F7B277B7470BBC420F9DBFE9AFEB","Name":"※クラウドDX用【原紙】君津_君津実行予算_20251031.xlsm","Size":9072365,"HashCode":"YBo0u6n06CIkAXbat/L43O09dqhT4Hr+kVkZ3TCFI38="}],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-10-31T11:29:13","ResultId":384445,"Ver":1,"Body":"","Status":100,"Manager":685,"Owner":685,"Locked":false,"Comments":"[]","Creator":685,"Updator":685,"CreatedTime":"2025-10-31T11:29:13","ItemTitle":"05N3BIYNT-0001■櫻井 智成 様邸■仮予算","ApiVersion":1.1,"ClassHash":{"ClassA":"251440","ClassB":"櫻井 智成 様邸","ClassC":"05N3BIYNT","ClassI":"109101","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"東京A","ClassX":"2","ClassZ":"05N3BIYNT-0001","Class001":"[\"812\",\"1111\"]","Class002":"[]","Class003":"[\"422\",\"423\"]","Class004":"[\"785\",\"786\",\"653\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"","Class020":"685","Class021":"","Class022":"421","Class015":"[]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":0.0},"DateHash":{"DateA":"2025-10-31T00:00:00","DateB":"2024-09-18T00:00:00","DateC":"2024-07-14T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-10-31T09:36:13","ResultId":381383,"Ver":2,"Body":"","Status":150,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":460,"CreatedTime":"2025-10-10T16:20:40","ItemTitle":"9999AAABB-0001■阿部 真也 様邸■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"377349","ClassB":"阿部 真也 様邸","ClassC":"05N3CKYNA","ClassI":"109101","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"愛知","ClassX":"6","ClassZ":"9999AAABB-0001","Class001":"[\"671\",\"676\",\"996\",\"979\"]","Class002":"[\"979\",\"677\"]","Class003":"[]","Class004":"[\"785\",\"786\",\"653\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"1 回","Class020":"460","Class021":"676","Class022":"421","Class015":"[]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":1.0},"DateHash":{"DateA":"2025-10-10T00:00:00","DateB":"1899-12-30T00:00:00","DateC":"1899-12-30T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}},{"SiteId":376872,"UpdatedTime":"2025-10-10T16:26:47","ResultId":381384,"Ver":3,"Body":"","Status":900,"Manager":460,"Owner":460,"Locked":false,"Comments":"[]","Creator":460,"Updator":421,"CreatedTime":"2025-10-10T16:22:39","ItemTitle":"05N3CKYNA-0001■阿部 真也 様邸■予算修正","ApiVersion":1.1,"ClassHash":{"ClassA":"377349","ClassB":"阿部 真也 様邸","ClassC":"05N3CKYNA","ClassI":"109101","ClassJ":"2階建て","ClassK":"31~40坪","ClassL":"構造用集成材","ClassD":"愛知","ClassX":"6","ClassZ":"05N3CKYNA-0001","Class001":"[\"671\",\"676\",\"996\",\"979\"]","Class002":"[\"979\",\"677\"]","Class003":"[]","Class004":"[\"785\",\"786\",\"653\"]","Class005":"[\"803\",\"685\",\"670\"]","Class006":"[\"425\"]","Class010":"[\"421\"]","ClassY":"2 回","Class020":"460","Class021":"671","Class022":"421","Class015":"[]","Class025":"","Class026":""},"NumHash":{"NumA":0.0,"NumB":0.0,"NumC":0.0,"NumD":0.0,"Num001":2.0},"DateHash":{"DateA":"2025-10-10T00:00:00","DateB":"1899-12-30T00:00:00","DateC":"1899-12-30T00:00:00","Date001":"1899-12-30T00:00:00","Date002":"1899-12-30T00:00:00","Date003":"1899-12-30T00:00:00","Date004":"1899-12-30T00:00:00","Date005":"1899-12-30T00:00:00","Date024":"1899-12-30T00:00:00","Date025":"1899-12-30T00:00:00","Date026":"1899-12-30T00:00:00"},"DescriptionHash":{"Description025":"","Description026":""},"CheckHash":{"CheckA":false,"CheckZ":false,"CheckX":false,"CheckY":false},"AttachmentsHash":{"AttachmentsA":[],"AttachmentsB":[],"AttachmentsC":[],"AttachmentsD":[],"AttachmentsE":[],"AttachmentsF":[]}}]}}
diff --git a/PowerShell/test.ps1 b/PowerShell/test.ps1
new file mode 100644
index 00000000..cc6b3ae1
--- /dev/null
+++ b/PowerShell/test.ps1
@@ -0,0 +1,13 @@
+# 送信するJSONデータ
+$apiKey = "6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d"
+
+$jsonData = @{
+ ApiVersion = "1.1"
+ ApiKey = $apiKey
+} | ConvertTo-Json
+
+$uri = "https://nextoffice.next-hd.co.jp/pleasanter/api/items/376872/get"
+$outputFile = "result.txt"
+
+$response = Invoke-WebRequest -Uri $uri -Method POST -Body $jsonData -ContentType "application/json" -UseBasicParsing
+$response.Content | Out-File -FilePath $outputFile -Encoding UTF8
diff --git a/XVBA/.vscode/settings.json b/XVBA/.vscode/settings.json
index 77984130..8c44847d 100644
--- a/XVBA/.vscode/settings.json
+++ b/XVBA/.vscode/settings.json
@@ -1,3 +1,4 @@
{
+ "files.encoding": "shiftjis",
"pleasanter-code-assist.enabled": false
}
\ No newline at end of file
diff --git a/XVBA/マトリックス積算/.vscode/settings.json b/XVBA/マトリックス積算/.vscode/settings.json
new file mode 100644
index 00000000..c0ebeb96
--- /dev/null
+++ b/XVBA/マトリックス積算/.vscode/settings.json
@@ -0,0 +1,11 @@
+{
+ "files.encoding": "shiftjis",
+ "editor.fontFamily": "'HackGen35 Console'",
+ "editor.tokenColorCustomizations": {
+ "comments": {
+ "foreground": "#66ff33",
+ "fontStyle": "italic underline"
+ }
+ },
+ "editor.defaultFormatter": "local-smart.excel-live-server",
+}
\ No newline at end of file
diff --git a/XVBA/マトリックス積算/config.json b/XVBA/マトリックス積算/config.json
new file mode 100644
index 00000000..3269b67e
--- /dev/null
+++ b/XVBA/マトリックス積算/config.json
@@ -0,0 +1,14 @@
+{
+ "app_name": "XVBA",
+ "description": "",
+ "author": "",
+ "email": "",
+ "create_ate": "Sat Nov 15 2025 09:26:00 GMT+0900 (日本標準時)",
+ "excel_file": "マトリックス管理テーブル.xlsm",
+ "vba_folder": "vba-files",
+ "ribbon_file": "customUI14",
+ "ribbon_folder": "ribbons",
+ "logs": "on",
+ "xvba_packages": {},
+ "xvba_dev_packages": {}
+}
\ No newline at end of file
diff --git a/XVBA/マトリックス積算/package.json b/XVBA/マトリックス積算/package.json
new file mode 100644
index 00000000..a8deae27
--- /dev/null
+++ b/XVBA/マトリックス積算/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "xvba-app",
+ "version": "1.0.0",
+ "description": "A XVBA App",
+ "main": "index.js",
+ "author": "LocalSmart",
+ "license": "ISC",
+ "dependencies": {
+ "excel-types": "1.0.0",
+ "Xlog": "1.0.0"
+ },
+ "devDependencies": {
+ "@localsmart/xvba-cli": "^1.0.2"
+ }
+}
\ No newline at end of file
diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet1.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet1.cls
new file mode 100644
index 00000000..34122d33
--- /dev/null
+++ b/XVBA/マトリックス積算/vba-files/Class/Sheet1.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet1"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet10.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet10.cls
new file mode 100644
index 00000000..26de6af1
--- /dev/null
+++ b/XVBA/マトリックス積算/vba-files/Class/Sheet10.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet10"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet11.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet11.cls
new file mode 100644
index 00000000..9a6dee97
--- /dev/null
+++ b/XVBA/マトリックス積算/vba-files/Class/Sheet11.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet11"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet12.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet12.cls
new file mode 100644
index 00000000..65530ac4
--- /dev/null
+++ b/XVBA/マトリックス積算/vba-files/Class/Sheet12.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet12"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet13.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet13.cls
new file mode 100644
index 00000000..90e7028a
--- /dev/null
+++ b/XVBA/マトリックス積算/vba-files/Class/Sheet13.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet13"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet2.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet2.cls
new file mode 100644
index 00000000..bae245ef
--- /dev/null
+++ b/XVBA/マトリックス積算/vba-files/Class/Sheet2.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet2"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet3.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet3.cls
new file mode 100644
index 00000000..b0b36e83
--- /dev/null
+++ b/XVBA/マトリックス積算/vba-files/Class/Sheet3.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet3"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet4.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet4.cls
new file mode 100644
index 00000000..c9ba7ab7
--- /dev/null
+++ b/XVBA/マトリックス積算/vba-files/Class/Sheet4.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet4"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet5.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet5.cls
new file mode 100644
index 00000000..256756ea
--- /dev/null
+++ b/XVBA/マトリックス積算/vba-files/Class/Sheet5.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet5"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet6.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet6.cls
new file mode 100644
index 00000000..eb370ff4
--- /dev/null
+++ b/XVBA/マトリックス積算/vba-files/Class/Sheet6.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet6"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet7.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet7.cls
new file mode 100644
index 00000000..9d6db4a0
--- /dev/null
+++ b/XVBA/マトリックス積算/vba-files/Class/Sheet7.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet7"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet8.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet8.cls
new file mode 100644
index 00000000..39390f11
--- /dev/null
+++ b/XVBA/マトリックス積算/vba-files/Class/Sheet8.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet8"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/マトリックス積算/vba-files/Class/Sheet9.cls b/XVBA/マトリックス積算/vba-files/Class/Sheet9.cls
new file mode 100644
index 00000000..c37cda0d
--- /dev/null
+++ b/XVBA/マトリックス積算/vba-files/Class/Sheet9.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet9"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/マトリックス積算/vba-files/Class/ThisWorkbook.cls b/XVBA/マトリックス積算/vba-files/Class/ThisWorkbook.cls
new file mode 100644
index 00000000..6e197c86
--- /dev/null
+++ b/XVBA/マトリックス積算/vba-files/Class/ThisWorkbook.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "ThisWorkbook"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/マトリックス積算/vba-files/Module/Module1.bas b/XVBA/マトリックス積算/vba-files/Module/Module1.bas
new file mode 100644
index 00000000..4d9d28e1
--- /dev/null
+++ b/XVBA/マトリックス積算/vba-files/Module/Module1.bas
@@ -0,0 +1,306 @@
+Attribute VB_Name = "Module1"
+Option Explicit
+
+Sub ؒPXV}N()
+
+ Dim resp As VbMsgBoxResult
+ resp = MsgBox("ؒPXgXV܂B낵łH", vbYesNo + vbQuestion, "mF")
+ If resp <> vbYes Then Exit Sub
+
+ Application.ScreenUpdating = False
+ ' Ώۃt@C̃pX擾
+ Dim fileName As String
+ fileName = Dir(ThisWorkbook.FullName)
+ Dim folderPath As String
+ folderPath = Left(ThisWorkbook.FullName, Len(ThisWorkbook.FullName) - Len(fileName))
+ Dim targetFileName As String
+ targetFileName = Range("XVΏۃt@C").Value
+ Dim targetFilePath As String
+ targetFilePath = folderPath & targetFileName
+
+ If Dir(targetFilePath) = "" Then
+ MsgBox "Ώۃt@C܂: " & targetFilePath, vbExclamation
+ Exit Sub
+ End If
+
+ Dim wb As Workbook
+ Dim isOpened As Boolean
+ isOpened = False
+ For Each wb In Workbooks
+ If wb.FullName = targetFilePath Then
+ isOpened = True
+ Exit For
+ End If
+ Next wb
+
+ If Not isOpened Then
+ MsgBox "Ώۃt@C͊JĂ܂: " & targetFilePath, vbExclamation
+ Exit Sub
+ End If
+
+ ' Ώۃt@ČؒPV[ǵuؒPe[uv擾
+ Dim wsGenTsubo As Worksheet
+ Dim ws As Worksheet
+ Dim tbl As ListObject
+ Dim tblGenTsubo As ListObject
+
+ Set wsGenTsubo = Nothing
+ For Each ws In Workbooks(targetFileName).Worksheets
+ If ws.Name = "ؒP" Then
+ Set wsGenTsubo = ws
+ Exit For
+ End If
+ Next ws
+
+ If wsGenTsubo Is Nothing Then
+ MsgBox "ؒPV[g܂B", vbExclamation
+ Exit Sub
+ End If
+
+ Set tblGenTsubo = Nothing
+ For Each tbl In wsGenTsubo.ListObjects
+ Debug.Print tbl.Name
+ If tbl.Name = "e[u" Then
+ Set tblGenTsubo = tbl
+ Exit For
+ End If
+ Next tbl
+
+ If tblGenTsubo Is Nothing Then
+ MsgBox "e[u܂B", vbExclamation
+ Exit Sub
+ End If
+
+ ' ɍXVLq
+ Dim lastRow As Long
+ Dim i As Long
+ Dim srcWs As Worksheet
+ Dim srcRange As Range
+
+ Set srcWs = ThisWorkbook.Worksheets("ؒP")
+ lastRow = srcWs.Cells(srcWs.Rows.Count, "N").End(xlUp).Row
+
+ For i = 8 To lastRow
+ Dim findVal As Variant
+ findVal = srcWs.Cells(i, "N").Value
+
+ Dim tblRow As ListRow
+ Set tblRow = Nothing
+
+ ' e[u1ڂňvs
+ Dim r As ListRow
+ For Each r In tblGenTsubo.ListRows
+ If r.Range.Cells(1, 1).Value = findVal Then
+ Set tblRow = r
+ Exit For
+ End If
+ Next r
+
+ If Not tblRow Is Nothing Then
+ ' T܂ł̒le[uɓ]L
+ Dim colOffset As Integer
+ For colOffset = 0 To 8 ' N(14)`W(22) = 9
+ tblRow.Range.Cells(1, colOffset + 1).Value = srcWs.Cells(i, 14 + colOffset).Value
+ Next colOffset
+ End If
+ Next i
+
+ Application.ScreenUpdating = True
+ Workbooks(targetFileName).Save
+ MsgBox "ؒP̍XV܂B", vbInformation
+End Sub
+
+Sub }gbNXXV}N()
+ Dim brand As String
+ Dim kaisu As String
+ brand = ActiveSheet.Range("C2").Value
+ kaisu = ActiveSheet.Range("C3").Value
+
+ Dim resp As VbMsgBoxResult
+ resp = MsgBox(brand & " " & kaisu & " ̃}gbNXzXV܂B낵łH", vbYesNo + vbQuestion, "mF")
+ If resp <> vbYes Then
+ Exit Sub
+ End If
+
+ Application.ScreenUpdating = False
+
+ ' L[擾
+ Dim key As Variant
+ key = ActiveSheet.Range("C4").Value
+
+ ' t@CpX擾
+ Dim fileName As String
+ fileName = Dir(ThisWorkbook.FullName)
+ Dim folderPath As String
+ folderPath = Left(ThisWorkbook.FullName, Len(ThisWorkbook.FullName) - Len(fileName))
+ Dim targetFileName As String
+ targetFileName = Range("XVΏۃt@C").Value
+ Dim targetFilePath As String
+ targetFilePath = folderPath & targetFileName
+
+ If Dir(targetFilePath) = "" Then
+ MsgBox "Ώۃt@C܂: " & targetFilePath, vbExclamation
+ Exit Sub
+ End If
+
+ Dim wb As Workbook
+ Dim isOpened As Boolean
+ isOpened = False
+ For Each wb In Workbooks
+ If wb.FullName = targetFilePath Then
+ isOpened = True
+ Exit For
+ End If
+ Next wb
+
+ If Not isOpened Then
+ MsgBox "Ώۃt@C͊JĂ܂: " & targetFilePath, vbExclamation
+ Exit Sub
+ End If
+
+ ' Ώۃt@Ću}gbNXvV[g擾
+ Dim wsMatrix As Worksheet
+ Set wsMatrix = Workbooks(targetFileName).Worksheets("}gbNX")
+
+ ' 2sڂL[
+ Dim keyCol As Long
+ keyCol = 0
+ Dim col As Long
+ For col = 1 To wsMatrix.Cells(2, wsMatrix.Columns.Count).End(xlToLeft).Column
+ If wsMatrix.Cells(2, col).Value = key Then
+ keyCol = col
+ Exit For
+ End If
+ Next col
+
+ If keyCol = 0 Or keyCol <= 2 Then
+ MsgBox "L[ȂAʒusłB", vbExclamation
+ Exit Sub
+ End If
+
+ ' ΏۃV[g3ikeyCol-2`keyColj6sڂ1000sڂNA
+ wsMatrix.Range(wsMatrix.Cells(6, keyCol - 2), wsMatrix.Cells(1000, keyCol)).ClearContents
+ ' XVf[^擾iN7:P܂Łj
+ ' Dim srcWs As Worksheet
+ ' Set srcWs = ActiveSheet
+ ' Dim srcRow As Long
+ ' srcRow = 7
+ 'Do While srcWs.Cells(srcRow, "N").Value <> ""
+ ' 3̃f[^]L
+ ' wsMatrix.Cells(srcRow - 1, keyCol - 2).Value = srcWs.Cells(srcRow, "N").Value
+ ' wsMatrix.Cells(srcRow - 1, keyCol - 1).Value = srcWs.Cells(srcRow, "O").Value
+ ' wsMatrix.Cells(srcRow - 1, keyCol).Value = srcWs.Cells(srcRow, "P").Value
+ ' srcRow = srcRow + 1
+ ' Loop
+
+ ' XVf[^擾iN7:P܂Łj
+ Dim srcWs As Worksheet
+ Set srcWs = ActiveSheet
+ Dim srcRow As Long
+ srcRow = 7
+ ' \[Xf[^2zɊi[
+ Dim lastSrcRow As Long
+ lastSrcRow = srcWs.Cells(srcWs.Rows.Count, "N").End(xlUp).Row
+ If lastSrcRow < srcRow Then
+ MsgBox "]Lf[^܂B", vbExclamation
+ Exit Sub
+ End If
+
+ Dim arrData As Variant
+ arrData = srcWs.Range("N" & srcRow & ":P" & lastSrcRow).Value
+
+ ' ]L͈͂Ɉꊇ}
+ wsMatrix.Range(wsMatrix.Cells(srcRow - 1, keyCol - 2), wsMatrix.Cells(srcRow - 1 + UBound(arrData, 1) - 1, keyCol)).Value = arrData
+
+ Application.ScreenUpdating = True
+ Workbooks(targetFileName).Save
+ MsgBox "}gbNX̍XV܂B", vbInformation
+End Sub
+
+Sub }gbNX\()
+ Dim resp As VbMsgBoxResult
+ resp = MsgBox("̃V[g̃}gbNX\XV܂B낵łH", vbYesNo + vbQuestion, "mF")
+ If resp <> vbYes Then
+ Exit Sub
+ End If
+ Application.ScreenUpdating = False
+
+ Dim ws As Worksheet
+ Set ws = ActiveSheet
+
+ Dim comboCount As Long
+ comboCount = ws.Range("J4").Value
+
+ Dim tbl As ListObject
+ Set tbl = Nothing
+ Dim t As ListObject
+ Dim tableName As String
+ tableName = ws.Name & "e[u"
+ For Each t In ws.ListObjects
+ If t.Name = tableName Then
+ Set tbl = t
+ Exit For
+ End If
+ Next t
+
+ If tbl Is Nothing Then
+ MsgBox "e[uu" & tableName & "v܂B", vbExclamation
+ Exit Sub
+ End If
+
+ Dim lastNum As Long
+ lastNum = 0
+ Dim r As ListRow
+ Dim delStartRow As Long
+ delStartRow = 0
+ For Each r In tbl.ListRows
+ Dim numVal As Variant
+ numVal = r.Range.Cells(1, 1).Value
+ If IsNumeric(numVal) Then
+ If numVal > lastNum Then
+ lastNum = numVal
+ End If
+ If numVal = comboCount + 1 Then
+ delStartRow = r.Index
+ End If
+ End If
+ Next r
+
+ If comboCount < lastNum Then
+ ' ]ȍsNA
+ If delStartRow > 0 Then
+ tbl.DataBodyRange.Rows(delStartRow & ":" & tbl.ListRows.Count).Delete
+ End If
+
+ Elseif comboCount > lastNum Then
+ ' sRs[đ₷iێA7ڂ͒l1Œj
+ Dim baseRow As ListRow
+ Set baseRow = Nothing
+ For Each r In tbl.ListRows
+ If IsNumeric(r.Range.Cells(1, 1).Value) Then
+ If r.Range.Cells(1, 1).Value = lastNum Then
+ Set baseRow = r
+ Exit For
+ End If
+ End If
+ Next r
+
+ If Not baseRow Is Nothing Then
+ Dim i As Long
+ For i = lastNum + 1 To comboCount
+ Dim newRow As ListRow
+ Set newRow = tbl.ListRows.Add
+ baseRow.Range.Copy
+ newRow.Range.PasteSpecial xlPasteFormulasAndNumberFormats
+ newRow.Range.Cells(1, 1).Value = i
+ newRow.Range.Cells(1, 7).Value = 1 ' 7ڂ͒l1Œ
+ Next i
+ Application.CutCopyMode = False
+ End If
+ End If
+
+ Application.ScreenUpdating = True
+ ActiveWorkbook.Save
+ MsgBox "}gbNX\̍XV܂B", vbInformation
+
+End Sub
diff --git a/XVBA/マトリックス積算/xvba_modules/Xdebug/CHANGELOG.md b/XVBA/マトリックス積算/xvba_modules/Xdebug/CHANGELOG.md
new file mode 100644
index 00000000..f1f3ad96
--- /dev/null
+++ b/XVBA/マトリックス積算/xvba_modules/Xdebug/CHANGELOG.md
@@ -0,0 +1,13 @@
+# Changelog
+## Xdebug (Under Construction)
+
+- This package provides a way to simulate VBA Immediate Window in Output VSCode window
+
+## [1.0.0b0] - 2020-09-16
+### Added
+ - Create XDebug.printx
+ - Create XDebug.printError
+
+
+
+
\ No newline at end of file
diff --git a/XVBA/マトリックス積算/xvba_modules/Xdebug/README.md b/XVBA/マトリックス積算/xvba_modules/Xdebug/README.md
new file mode 100644
index 00000000..9d8b74f0
--- /dev/null
+++ b/XVBA/マトリックス積算/xvba_modules/Xdebug/README.md
@@ -0,0 +1,58 @@
+# Xdebug (VBA Immediate Window in Output VSCode Window)
+
+## Description
+ - This package provides a way to simulate VBA Immediate Window in Output VSCode window
+ - Find the Output window (VBA Immediate Window)
+
+ ## Methods
+
+
+
+
+
+
+ ### Xdebug.printx
+
+- This method print any type os variable
+
+
+```
+
+Public Sub index()
+
+
+ Dim test(1) As Variant
+
+ 'Add an Object
+ Set test(0) = Sheets(1)
+ 'Add a String
+ test(1) = "Test Xdebug Output"
+
+ Xdebug.printx test
+
+End Sub
+
+```
+
+
+ ### Xdebug.printError
+
+- This method is use for print error
+
+
+```
+ Public Sub index()
+
+ On Error GoTo ErrorHandle:
+ 'throw an error
+ d = 1/0
+ 'Your code here
+
+
+ ErrorHandle:
+ Xdebug.errorSource = "pageConsoller.index"
+ Xdebug.printError
+
+ End Sub
+```
+
diff --git a/XVBA/マトリックス積算/xvba_modules/Xdebug/Xdebug.cls b/XVBA/マトリックス積算/xvba_modules/Xdebug/Xdebug.cls
new file mode 100644
index 00000000..0856356e
--- /dev/null
+++ b/XVBA/マトリックス積算/xvba_modules/Xdebug/Xdebug.cls
@@ -0,0 +1,241 @@
+VERSION 1.0 CLASS
+BEGIN
+MultiUse = -1 'True
+END
+Attribute VB_Name = "Xdebug"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = False
+
+'namespace=xvba_modules\Xdebug
+
+Public env As String
+
+'Example of Package Create by XVBA-CLI
+
+Private OS_TMP__FOLDER_PATH As String
+
+Private IMMEDIATE_FOLDER As String
+
+Private IMMEDIATE_FILE As String
+
+Private DEBUG_FILE_PATH As String
+
+Const EMPTY_TYPE = 0
+Const NULL_TYPE = 1
+Const ERROR_TYPE = 10
+Const INTEGER_TYPE = 2
+Const LONG_TYPE = 3
+Const SINGLE_TYPE = 4
+Const DOUBLE_TYPE = 5
+Const CURRENCY_TYPE = 6
+Const DATE_TYPE = 7
+Const DECIMAL_TYPE = 14
+Const LONG_LONG_TYPE = 20
+Const BOOLEAN_TYPE = 11
+Const STRING_TYPE = 8
+Const ARRAY_TYPE = 8204
+Const OBJECT_TYPE = 9
+Const VARIANT_TYPE = 12
+Const DATA_OBJECT_TYPE = 13
+Private Const MESSAGE_SPACE = " "
+
+Public errorSource As String
+Public errorTitle As String
+
+'/*
+'Flag for Actrive os Deactive VBA Debug.Print
+'*/
+Public vbaDebugPrintActive As Boolean
+
+Private Sub class_initialize()
+
+ Dim fso As Object
+ Set fso = CreateObject("Scripting.FileSystemObject")
+ OS_TMP__FOLDER_PATH = fso.GetSpecialFolder(2)
+ IMMEDIATE_FOLDER = "xvba_immediate"
+ IMMEDIATE_FILE = "immediate.txt"
+ vbaDebugPrintActive = True
+ errorSource = ""
+ errorTitle = "XVBA: New Error Was Found"
+ env = "DEV"
+
+ DEBUG_FILE_PATH = OS_TMP__FOLDER_PATH & "\" & IMMEDIATE_FOLDER & "\" & IMMEDIATE_FILE
+
+End Sub
+
+
+
+
+Public Function printx(inputValue As Variant,Optional messageType As Integer = 1)
+
+ if(env="DEV") Then
+ Dim messageText As String
+
+ messageText = createOutputMessage(inputValue)
+
+ Call writeDebugFileContent(messageText,messageType)
+ End If
+End Function
+
+'/*
+'Print A Error
+'
+'*/
+Public Function printError()
+ if(env="DEV") Then
+
+ Dim message As String
+
+ message = ErrorHanddler()
+
+ Call writeDebugFileContent(message,0)
+
+ End If
+End Function
+
+
+'/*
+'
+'Write Debug ino on File
+'
+'
+'*/
+Private Function writeDebugFileContent(messageText,messageType)
+
+ Dim filePath As String
+ Dim FileNum As Integer
+ Dim PREFIX As String
+
+ filePath = DEBUG_FILE_PATH
+
+ FileNum = FreeFile
+
+ PREFIX = Now & " - "
+
+ Open filePath For Append As #FileNum
+
+ Dim debugMessage As String
+ Select Case messageType
+
+ Case 0 'Error Message
+
+ debugMessage= PREFIX & "Error:" & messageText
+ Case 1 'Success
+ debugMessage= PREFIX & messageText
+ Case Else 'No Type Set
+
+ debugMessage= PREFIX & "Info:" & messageText
+ End Select
+
+ Print #FileNum,debugMessage
+
+ Close #FileNum
+
+ If (vbaDebugPrintActive) Then
+
+ Debug.Print debugMessage
+
+ End If
+End Function
+
+
+Private Function createOutputMessage(inputValue) As String
+
+ Dim typeOfVar As Integer
+ Dim response As String
+
+ typeOfVar = VarType(inputValue)
+
+
+ 'Set Error Source Macro/Function name
+ Err.Source="createOutputMessage"
+ Select Case typeOfVar
+ Case STRING_TYPE
+ response = "String: " & inputValue
+ Case INTEGER_TYPE
+ response = "Integer: " & CStr(inputValue)
+ Case LONG_TYPE
+ response = "Long: " & CStr(inputValue)
+ Case SINGLE_TYPE
+ response = "Single: " & CStr(inputValue)
+ Case DOUBLE_TYPE
+ response = "Double: " & CStr(inputValue)
+ Case CURRENCY_TYPE
+ response = "Currenty: " & CStr(inputValue)
+ Case DATE_TYPE
+ response = "Date: " & CStr(inputValue)
+ Case DECIMAL_TYPE
+ response = "Decimal: " & CStr(inputValue)
+ Case LONG_LONG_TYPE
+ response = "LongLong: " & CStr(inputValue)
+ Case BOOLEAN_TYPE
+ response = "Boolean: " & CStr(inputValue)
+ Case ARRAY_TYPE
+ response = makeArrayTypeMessage(inputValue)
+ Case EMPTY_TYPE
+ response = "Empty: "
+ Case OBJECT_TYPE
+ response = "Object: " & TypeName(inputValue)
+ Case NULL_TYPE
+ response = "Null: "
+ Case ERROR_TYPE
+ response = "Error: "
+ Case VARIANT_TYPE
+ response = "Variant: "
+ Case DATA_OBJECT_TYPE
+ response = "Data Object: " & TypeName(inputValue)
+ Case Else
+ response = "Type Not Supported yet please inform xvba developer "
+ Debug.Print typeOfVar
+ Debug.Print inputValue
+
+ End Select
+
+
+ createOutputMessage = response
+
+End Function
+
+
+Private Function makeArrayTypeMessage(inputValue)As String
+ Dim nextItem As Variant
+ Dim response As String
+ Dim message As String
+
+ For Each nextItem In inputValue
+ message = createOutputMessage(nextItem)
+ response = response & " [ " & message & " ]" & vbCrLf
+ Next nextItem
+ makeArrayTypeMessage = "Array: " & vbCrLf & response
+End Function
+
+
+
+Private Function ErrorHanddler() As String
+ Dim errorDescription As String
+ Dim numberDescription As String
+ Dim lineError As String
+ Dim sourceError As String
+ Dim errorTitleMsg As String
+ Dim errorSourceMsg As String
+
+ errorTitleMsg = vbCrLf & MESSAGE_SPACE & errorTitle
+ errorSourceMsg = vbCrLf & MESSAGE_SPACE & "Error Source: " & errorSource
+
+
+ Select Case Err.Number
+ Case 11
+ numberDescription = vbCrLf & MESSAGE_SPACE & "Error Number: " & Err.Number
+ lineError = vbCrLf & MESSAGE_SPACE & "Error Line: " & Erl
+ errorDescription = vbCrLf & MESSAGE_SPACE & "Error Description: " & Err.Description
+ Case Else
+ numberDescription = vbCrLf & MESSAGE_SPACE & "Error Number: " & Err.Number
+ errorDescription = vbCrLf & MESSAGE_SPACE & "Error Description: " & Err.Description
+ End Select
+
+
+ ErrorHanddler = errorTitleMsg & lineError & errorSourceMsg & numberDescription & errorDescription
+
+End Function
\ No newline at end of file
diff --git a/XVBA/マトリックス積算/xvba_modules/Xdebug/images/immediate.gif b/XVBA/マトリックス積算/xvba_modules/Xdebug/images/immediate.gif
new file mode 100644
index 00000000..dd641693
Binary files /dev/null and b/XVBA/マトリックス積算/xvba_modules/Xdebug/images/immediate.gif differ
diff --git a/XVBA/マトリックス積算/xvba_modules/Xdebug/xvba.package.json b/XVBA/マトリックス積算/xvba_modules/Xdebug/xvba.package.json
new file mode 100644
index 00000000..4a1da537
--- /dev/null
+++ b/XVBA/マトリックス積算/xvba_modules/Xdebug/xvba.package.json
@@ -0,0 +1,15 @@
+{
+ "package": "Xdebug",
+ "version": "1.0.0",
+ "author": "Alberto Edaurdo",
+ "email": "alberto.aeraphe@gmail.com",
+ "license": "ISC",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/Aeraphe/xdebug.git"
+ },
+ "description": "Creating amazing XVBA packages",
+ "dependencies": {},
+ "dev_dependencies": {},
+ "homepage": "www.xvba.dev"
+}
\ No newline at end of file
diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/CHANGELOG.md b/XVBA/マトリックス積算/xvba_modules/excel-types/CHANGELOG.md
new file mode 100644
index 00000000..39a71ff4
--- /dev/null
+++ b/XVBA/マトリックス積算/xvba_modules/excel-types/CHANGELOG.md
@@ -0,0 +1,8 @@
+# Changelog
+## excel@types (Under Construction)
+
+- This package provides a way to use auto-complete for excel class
+
+
+
+
\ No newline at end of file
diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/README.md b/XVBA/マトリックス積算/xvba_modules/excel-types/README.md
new file mode 100644
index 00000000..dcf0411e
--- /dev/null
+++ b/XVBA/マトリックス積算/xvba_modules/excel-types/README.md
@@ -0,0 +1,51 @@
+# Excel VBA type Definitions Package (excel-types)
+
+ - This package provides a way to use auto-complete for Excel VBA Class
+ - You can Create your own vba type definition packages our update this.
+ - Type definition packages are named like: name-types
+ - The packages are store in www.xvba.dev
+ - Ech excel vba class has your own file definition
+ - The files extension has to be filename.d.vb
+ - Auto-complete just expose Public types
+
+
+## Create,install and share VBA Packages With Xvba-cli and Xvba Repository:
+
+- Xvba Repository : www.xvba.dev
+- XVBA-CLI Command Line Interface for XVBA VSCode extension @localsmart/xvba-cli
+
+## Install
+
+- For instal excel-types just use XVBA-CLI install command
+
+```
+ npx xvba install excel-types
+```
+## Comments Block
+
+- Use comments blocks below for documenting class/methods/Subs/Functions/Properties
+- The comments blocs has to start with '/* and ends with '*/
+
+```
+
+'/*
+'Represents the entire Microsoft Excel application.
+'
+'
+'*/
+Public Class Application()
+
+```
+
+```
+'/*
+'Returns a Range object that represents the active cell in the active window
+'(the window on top) or in the specified window. If the window isn't displaying
+'a worksheet, this property fails. Read-only.
+'
+'@type {Object.}
+'
+'*/
+Public Property ActiveCell As Range
+
+```
\ No newline at end of file
diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/application.d.vb b/XVBA/マトリックス積算/xvba_modules/excel-types/application.d.vb
new file mode 100644
index 00000000..af74a242
--- /dev/null
+++ b/XVBA/マトリックス積算/xvba_modules/excel-types/application.d.vb
@@ -0,0 +1,147 @@
+'/*
+'Represents the entire Microsoft Excel application.
+'
+'
+'*/
+Public Class Application()
+
+'/*
+'Returns an object that represents the active sheet (the sheet on top)
+'in the active workbook or in the specified window or workbook.
+'Returns Nothing if no sheet is active.
+'
+'*/
+Public Property ActiveSheet As Worksheet
+
+'/*
+'Returns a Workbook object that represents the workbook in the
+'active window (the window on top).
+'Returns Nothing if there are no windows open or if either
+'the Info window or the Clipboard window is the active window. Read-only.
+'
+'
+'*/
+Public Property ActiveWorkbook As Workbook
+
+'/*
+'True if Microsoft Excel displays certain alerts and messages while
+'a macro is running. Read/write Boolean.
+'
+'Example
+'Application.DisplayAlerts = False
+'Workbooks("BOOK1.XLS").Close
+'Application.DisplayAlerts = True
+'
+'*/
+Public Property DisplayAlerts As Boolean
+
+
+'/*
+'Returns or sets an XlCalculation value that represents the calculation mode.
+'
+'Example
+'Application.Calculation = xlCalculationManual
+'Application.Calculation = xlAutomatic
+'
+'@type {XlCalculation}
+'*/
+Public Property Calculation As XlCalculation
+
+'/*
+'True if events are enabled for the specified object. Read/write Boolean.
+'
+'@type {Boolean}
+'*/
+Public Property EnableEvents As Boolean
+
+'/*
+'True if screen updating is turned on. Read/write Boolean.
+'@type {Boolean}
+'*/
+Public Property ScreenUpdating As Boolean
+
+
+'/*
+'Returns a Range object that represents the active cell in the active window
+'(the window on top) or in the specified window. If the window isn't displaying
+'a worksheet, this property fails. Read-only.
+'
+'@type {Object.}
+'
+'*/
+Public Property ActiveCell As Range
+
+'/*
+'Returns a Chart object that represents the active chart (either an embedded chart or a chart sheet).
+'An embedded chart is considered active when it's either selected or activated. When no chart is active,
+'this property returns Nothing.
+'
+'Example:
+'ActiveChart.HasLegend = True
+'
+'@type {Object.}
+'*/
+Public Property ActiveChart As Chart
+
+'/*
+'Returns a Workbooks collection that represents all the open workbooks. Read-only.
+'
+'@type {Object.} Workbooks Collection
+'*/
+Public Property ThisWorkbook As Workbook
+
+'/*
+'Returns a Workbooks collection that represents all the open workbooks. Read-only.
+'
+'@type {Object.} Workbooks Collection
+'*/
+Public Property Workbooks As Workbooks
+
+'/*
+'Activates a Microsoft application. If the application is already running,
+'this method activates the running application.
+'If the application isn't running, this method starts a new instance of the application.
+'
+'Example: (This example starts and activates Word.)
+'
+'Application.ActivateMicrosoftApp xlMicrosoftWord
+'
+'@param {XlMSApplication} index
+'*/
+Public Sub ActivateMicrosoftApp( index As XlMSApplication)
+
+End Sub
+
+'/*
+'An event occurs when all pending refresh activity (both synchronous and asynchronous)
+'and all of the resultant calculation activities have been completed.
+'
+'*/
+Public Event AfterCalculate()
+
+'/*
+'Occurs when a new workbook is created.
+'
+'Example:
+'
+'Private Sub App_NewWorkbook(ByVal Wb As Workbook)
+'Application.Windows.Arrange xlArrangeStyleTiled End Sub
+'
+'@param {Workbook} Wb
+'*/
+Public Event NewWorkbook(ByVal Wb As Workbook)
+
+'/*
+'Returns a Sheets collection that represents all the sheets in the specified workbook. Read-only Sheets object.
+'
+'Example:
+'Set newSheet = Sheets.Add(Type:=xlWorksheet)
+'For i = 1 To Sheets.Count
+' newSheet.Cells(i, 1).Value = Sheets(i).Name
+' Next i
+'
+'@type {Sheets}
+'*/
+Public Property Sheets As Worksheets
+
+End Class
\ No newline at end of file
diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/dictionary.d.vb b/XVBA/マトリックス積算/xvba_modules/excel-types/dictionary.d.vb
new file mode 100644
index 00000000..6a580711
--- /dev/null
+++ b/XVBA/マトリックス積算/xvba_modules/excel-types/dictionary.d.vb
@@ -0,0 +1,109 @@
+
+
+
+'/*
+'
+'
+'
+'/*
+Public Class Scripting()
+
+
+'/*
+'
+'Object that stores data key/item pairs.
+'
+'/*
+Public Function Dictionary()
+
+End Function
+
+'/*
+'
+'Adds a new key/item pair to a Dictionary object.
+'
+'*/
+Public Sub Add()
+
+End Sub
+
+'/*
+'
+'Returns a Boolean value that indicates whether a specified key exists in the Dictionary object.
+'
+'*/
+Public Sub Exists()
+
+End Sub
+
+'/*
+'
+'Returns an array of all the items in a Dictionary object.
+'
+'*/
+Public Sub Items()
+
+End Sub
+
+'/*
+'
+'Returns an array of all the keys in a Dictionary object.
+'
+'*/
+Public Sub Keys()
+
+End Sub
+
+'/*
+'
+'Removes one specified key/item pair from the Dictionary object.
+'
+'*/
+Public Sub Remove()
+
+End Sub
+
+'/*
+'
+'Removes all the key/item pairs in the Dictionary object.
+'
+'*/
+Public Sub RemoveAll()
+
+End Sub
+
+
+
+'/*
+'Sets or returns the comparison mode for comparing keys in a Dictionary object.
+'
+'
+'*/
+Public Property CompareMode As Variant
+
+
+'/*
+'Returns the number of key/item pairs in a Dictionary object.
+'
+'
+'*/
+Public Property Count As Long
+
+
+'/*
+'Sets or returns the value of an item in a Dictionary object.
+'
+'
+'*/
+Public Property Item As Variant
+
+'/*
+'Sets a new key value for an existing key value in a Dictionary object.
+'
+'
+'*/
+Public Property Key As Variant
+
+
+
+End Class
\ No newline at end of file
diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/err.d.vb b/XVBA/マトリックス積算/xvba_modules/excel-types/err.d.vb
new file mode 100644
index 00000000..7115cac1
--- /dev/null
+++ b/XVBA/マトリックス積算/xvba_modules/excel-types/err.d.vb
@@ -0,0 +1,30 @@
+'/*
+'Contains information about run-time errors.
+'
+'
+'*/
+Public Class Err()
+
+'/*
+'Returns or sets a string expression containing a
+'descriptive string associated with an object. Read/write.
+'
+'*/
+Public Property Description As String
+
+'/*
+'Returns or sets a numeric value specifying an error.
+'Number is the Err object's default property. Read/write.
+'
+'*/
+Public Property Number As Integer
+
+
+'/*
+'Returns or sets a string expression specifying the name of
+'the object or application that originally generated the error. Read/write.
+'
+'*/
+Public Property Source As String
+
+End Class
\ No newline at end of file
diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/functions.d.vb b/XVBA/マトリックス積算/xvba_modules/excel-types/functions.d.vb
new file mode 100644
index 00000000..38aba162
--- /dev/null
+++ b/XVBA/マトリックス積算/xvba_modules/excel-types/functions.d.vb
@@ -0,0 +1,547 @@
+
+'/*
+'[Conversion Func]
+'
+'*/
+Function Asc()
+End Function
+
+'/*
+'[Conversion Func]
+'Returns a String containing the character associated
+'with the specified character code.
+'
+'Example:
+'
+'Dim MyChar
+'MyChar = Chr(65) ' Returns A.
+'MyChar = Chr(97) ' Returns a.
+'MyChar = Chr(62) ' Returns >.
+'MyChar = Chr(37) ' Returns %.
+'*/
+Function Chr()
+End Function
+
+'/*
+'[Conversion Func]
+'
+'*/
+Function Format()
+End Function
+
+'/*
+'[Conversion Func]
+'
+'*/
+Function Hex()
+End Function
+
+
+'/*
+'[Conversion Func]
+'
+'*/
+Function Oct()
+End Function
+
+
+'/*
+'[Conversion Func]
+'Returns a Variant (String) representation of a number.
+'
+'Example:
+'Dim MyString
+'MyString = Str(459) ' Returns " 459".
+'MyString = Str(-459.65) ' Returns "-459.65".
+'MyString = Str(459.001) ' Returns " 459.001".
+'
+'*/
+Function Str() As Variant
+End Function
+
+
+'/*
+'[Conversion Func]
+'Returns the numbers contained in a string as
+'a numeric value of appropriate type.
+'
+'Example:
+'
+'Dim MyValue
+'MyValue = Val("2457") ' Returns 2457.
+'MyValue = Val(" 2 45 7") ' Returns 2457.
+'MyValue = Val("24 and 57") ' Returns 24.
+'*/
+Function Val(String)
+End Function
+
+
+
+Function CreateObject()
+End Function
+
+
+Function CurDir()
+End Function
+
+'/*
+'Returns a Variant (Date) containing the current system date.
+'
+'Example
+'
+'Dim MyDate
+'MyDate = Date ' MyDate contains the current system date.
+'
+'*/
+Function Date()
+
+End Function
+
+
+
+Function DateDiff()
+End Function
+
+Function DatePart()
+End Function
+
+Function DateSerial()
+End Function
+
+Function Day()
+End Function
+
+Function DDB()
+End Function
+
+Function Dir()
+End Function
+
+Function DoEvents()
+End Function
+
+Function Environ()
+End Function
+
+Function EOF()
+End Function
+
+Function Error()
+End Function
+
+
+Function FileAttr()
+End Function
+
+Function FileDateTime()
+End Function
+
+Function FileLen()
+End Function
+
+Function Filter()
+End Function
+
+Function FormatCurrency()
+End Function
+
+Function FormatDateTime()
+End Function
+
+Function FormatNumber()
+End Function
+
+Function FormaPercent()
+End Function
+
+
+Function FreeFile()
+End Function
+
+Function FV()
+End Function
+
+Function GetAllSettings()
+End Function
+
+Function GetAttr()
+End Function
+
+Function GetObject()
+End Function
+
+Function GetSetting()
+End Function
+
+
+Function Hour()
+End Function
+
+Function IIf()
+End Function
+
+Function IMEStatus()
+End Function
+
+Function Input()
+End Function
+
+Function InputBox()
+End Function
+
+Function InStr()
+End Function
+
+Function InStrRev()
+End Function
+
+Function IPmt()
+End Function
+
+
+
+Function IRR()
+End Function
+
+Function IsArray()
+End Function
+
+Function IsDate()
+End Function
+
+'/*
+'
+'Returns a Boolean value indicating whether a variable has been initialized.
+'
+'*/
+Function IsEmpty()
+End Function
+
+
+Function IsError()
+End Function
+
+Function IsMissing()
+End Function
+
+Function IsNull()
+End Function
+
+Function IsNumeric()
+End Function
+
+
+Function IsObject()
+End Function
+
+'/*
+'Returns a string created by joining a number of substrings contained in an array.
+'
+'*/
+Function Join()
+End Function
+
+
+
+Function LBound()
+End Function
+
+Function LCase()
+End Function
+
+Function Left()
+End Function
+
+Function Len()
+End Function
+
+
+Function Loc()
+End Function
+
+Function LOF()
+End Function
+
+Function LTrim()
+End Function
+
+Function RTrim()
+End Function
+
+Function Trim()
+End Function
+
+
+Function MacID()
+End Function
+
+
+
+Function MacScript()
+End Function
+
+'/*
+'[Math Function]
+'Returns a value of the same type that is passed to it specifying the absolute value of a number.
+'
+'*/
+Function Abs()
+End Function
+
+'/*
+'[Math Function]
+'Returns a Double specifying the arctangent of a number.
+'
+'*/
+Function Atn()
+End Function
+
+
+'/*
+'[Math Function]
+'
+'*/
+Function Cos()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Exp()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Int()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Fix()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Log()
+End Function
+
+
+'/*
+'[Math Function]
+'
+'*/
+Function Rnd()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Sgn()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Sin()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Sqr()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Tan()
+End Function
+
+
+
+Function Mid()
+End Function
+
+
+Function Minute()
+End Function
+
+
+Function MIRR()
+End Function
+
+
+Function Month()
+End Function
+
+Function MonthName()
+End Function
+
+'/*
+'Displays a message in a dialog box, waits for the user to click a button,
+'and returns an Integer indicating which button the user clicked.
+'
+'*/
+Function MsgBox(prompt, [ buttons, ] [ title, ] [ helpfile, context ])
+End Function
+
+
+Function Now()
+End Function
+
+
+Function NPer()
+End Function
+
+
+Function NPV()
+End Function
+
+Function PPmt()
+End Function
+
+
+Function QBColor()
+End Function
+
+
+Function Rate()
+End Function
+
+'/*
+'Returns a string, which is a substring of a string
+'expression beginning at the start position (defaults to 1),
+'in which a specified substring has been replaced with another
+'substring a specified number of times.
+'
+'*/
+Function Replace(expression, find, replace, [ start, [ count, [ compare ]]])
+End Function
+
+Function RGB()
+End Function
+
+
+Function Right()
+End Function
+
+
+Function Round()
+End Function
+
+
+Function Second()
+End Function
+
+
+
+Function Seek()
+End Function
+
+
+Function Shell()
+End Function
+
+
+Function SNL()
+End Function
+
+
+Function Space()
+End Function
+
+
+Function Spc()
+End Function
+
+
+Function Split()
+End Function
+
+
+Function StrComp()
+End Function
+
+
+
+Function StrConv()
+End Function
+
+
+Function String()
+End Function
+
+
+Function StrReverse()
+End Function
+
+
+
+Function Switch()
+End Function
+
+
+Function SYD()
+End Function
+
+
+Function Tab()
+End Function
+
+
+Function Time()
+End Function
+
+
+
+Function Timer()
+End Function
+
+
+Function TimeSerial()
+End Function
+
+
+Function TimeValue()
+End Function
+
+
+
+Function TypeName()
+End Function
+
+
+Function UBound()
+End Function
+
+
+Function Ucase()
+End Function
+
+
+Function VarType()
+End Function
+
+
+
+Function Weekday()
+End Function
+
+
+Function WeekdayName()
+End Function
+
+
+Function Year()
+End Function
\ No newline at end of file
diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/range.d.vb b/XVBA/マトリックス積算/xvba_modules/excel-types/range.d.vb
new file mode 100644
index 00000000..92a9c7d7
--- /dev/null
+++ b/XVBA/マトリックス積算/xvba_modules/excel-types/range.d.vb
@@ -0,0 +1,625 @@
+'/*
+'Represents a cell, a row, a column, a selection of cells containing one or more contiguous blocks of cells, or a 3D range.
+'
+'
+'*/
+Public Class Range()
+
+'/*
+'(Range)
+'
+'Activates a single cell, which must be inside the current selection.
+'To select a range of cells, use the Select method.,
+'
+'Example
+'
+'This example selects cells A1:C3 on Sheet1 and then makes cell B2 the active cell.
+'
+' Worksheets("Sheet1").Activate
+' Range("A1:C3").Select
+' Range("B2").Activate
+'
+'*/
+Public Sub Activate()
+
+End Sub
+
+
+'/*
+'Adds a comment to the range.
+'
+'Example:
+'
+'Worksheets(1).Range("E5").AddComment "Current Sales"
+'
+'@param {String} text
+'*/
+Public Sub AddComment(text As String)
+
+End Sub
+
+Public Sub AddCommentThreaded()
+
+End Sub
+
+Public Sub AdvancedFilter()
+
+End Sub
+
+Public Sub AllocateChanges()
+
+End Sub
+
+Public Sub ApplyName()
+
+End Sub
+
+Public Sub ApplyOutLineStyles()
+
+End Sub
+
+Public Sub AutoComplete()
+
+End Sub
+
+Public Sub AutoFill()
+
+End Sub
+
+Public Sub AutoFilter()
+
+End Sub
+
+Public Sub AutioFit()
+
+End Sub
+
+Public Sub AutoOutline()
+
+End Sub
+
+Public Sub BorderAround()
+
+End Sub
+
+Public Sub Calculate()
+
+End Sub
+
+Public Sub CalculateRowMajorOrder()
+
+End Sub
+
+Public Sub CheckSpelling()
+
+End Sub
+
+Public Sub Clear()
+
+End Sub
+
+Public Sub ClearComments()
+
+End Sub
+
+Public Sub ClearContents()
+
+End Sub
+
+Public Sub ClearFormats()
+
+End Sub
+
+Public Sub ClearHyperlinks()
+
+End Sub
+
+Public Sub ClearNotes()
+
+End Sub
+
+Public Sub ClearOutline()
+
+End Sub
+
+Public Sub ColumnDifferences()
+
+End Sub
+
+Public Sub Consolidate()
+
+End Sub
+
+Public Sub ConvertToLinkedDataType()
+
+End Sub
+
+Public Sub Copy()
+
+End Sub
+
+Public Sub CopyFromRecordset()
+
+End Sub
+
+Public Sub CopyPicture()
+
+End Sub
+
+Public Sub CreateNames()
+
+End Sub
+
+Public Sub Cut()
+
+End Sub
+
+Public Function DataSeries (Rowcol, Type, Date, Step, Stop, Trend)
+
+End Function
+
+Public Function DataTypeToText()
+
+End Function
+
+Public Function Delete (Shift)
+
+End Function
+
+Public Function DialogBox()
+
+End Function
+
+Public Function Dirty()
+
+End Function
+Public Function DiscardChanges()
+
+End Function
+Public Function EditionOptions (Type, Option, Name, Reference, Appearance, ChartSize, Format)
+
+End Function
+Public Function ExportAsFixedFormat (Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish, FixedFormatExtClassPtr)
+
+End Function
+Public Function FillDown()
+
+End Function
+Public Function FillLeft()
+
+End Function
+
+Public Function FillRight()
+
+End Function
+
+Public Function FillUp()
+
+End Function
+
+Public Function Find (What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)
+
+End Function
+
+Public Function FindNext (After)
+
+End Function
+
+Public Function FindPrevious (Before)
+
+End Function
+
+Public Function FlashFill ()
+
+End Function
+
+
+Public Function FunctionWizard ()
+
+End Function
+
+
+Public Function Group (Start, End, By, Periods)
+
+End Function
+
+Public Function Insert (Shift, CopyOrigin)
+
+End Function
+
+
+Public Function InsertIndent (InsertAmount)
+
+End Function
+
+
+Public Function Justify()
+
+End Function
+
+
+Public Function ListNames()
+
+End Function
+
+Public Function Merge(Across)
+
+End Function
+
+Public Function NavigateArrow(TowardPrecedent, ArrowNumber, LinkNumber)
+
+End Function
+
+Public Function NoteText(Text, Start, Length)
+
+End Function
+
+Public Function Parse(ParseLine, Destination)
+
+End Function
+
+Public Function PasteSpecial(Paste, Operation, SkipBlanks, Transpose)
+
+End Function
+
+
+Public Function PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName)
+
+End Function
+
+Public Function PrintPreview(EnableChanges)
+
+End Function
+
+Public Function RemoveDuplicates(Columns , Header)
+
+End Function
+
+Public Function RemoveSubtotal()
+
+End Function
+
+
+Public Function Replace(What, Replacement, LookAt, SearchOrder, MatchCase, MatchByte, SearchFormat, ReplaceFormat)
+
+End Function
+
+
+Public Function RowDifferences(Comparison)
+
+End Function
+
+Public Function Run(Arg1, Arg2, Arg3, Arg4, Arg5...)
+
+End Function
+
+Public Function Select()
+
+End Function
+
+Public Function SetCellDataTypeFromCell(Range, LanguageCulture)
+
+End Function
+
+
+Public Function SetPhonetic()
+
+End Function
+
+
+Public Function Show()
+
+End Function
+
+
+Public Function ShowCard()
+
+End Function
+
+
+Public Function ShowDependents(Remove)
+
+End Function
+
+
+Public Function ShowErrors()
+
+End Function
+
+
+Public Function ShowPrecedents(Remove)
+
+End Function
+
+
+Public Function Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3)
+
+End Function
+
+
+Public Function SortSpecial(SortMethod, Key1, Order1, Type, Key2, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, DataOption1, DataOption2, DataOption3)
+
+End Function
+
+Public Function Speak(SpeakDirection, SpeakFormulas)
+
+End Function
+
+
+Public Function SpecialCells(Type, Value)
+
+End Function
+
+Public Function SubscribeTo(Edition, Format)
+
+End Function
+
+Public Function Subtotal(GroupBy, Function, TotalList, Replace, PageBreaks, SummaryBelowData)
+
+End Function
+
+
+Public Function Table(RowInput, ColumnInput)
+
+End Function
+
+
+Public Function TextToColumns(Destination, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers
+
+End Function
+
+
+Public Function Ungroup()
+
+End Function
+
+
+Public Function UnMerge()
+
+End Function
+
+Public Property AddIndent As Variant
+
+Public Function Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo) As Variant
+End Function
+
+Public Function AddressLocal(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo) As Range
+End Function
+
+Public Property Application As Application
+
+Public Property Areas As Areas
+
+Public Property Borders As Variant
+
+Public Property Cells As Range
+
+Public Function Characters(Start, Length) As Variant
+End Function
+
+Public Property Column As Long
+
+Public Property Columns As Long
+
+Public Property ColumnWidth As Variant
+
+Public Property Comment As Variant
+
+Public Property CommentThreaded As Variant
+
+
+Public Property Count As Long
+
+
+Public Property CountLarge As Variant
+
+
+Public Property Creator As Integer
+
+
+Public Property CurrentArray As Range
+
+'/*
+'Returns a Range object that represents the current region.
+'The current region is a range bounded by any combination of blank rows and blank columns. Read-only.
+'
+'Example
+'Worksheets("Sheet1").Activate
+'ActiveCell.CurrentRegion.Select
+'*/
+Public Property CurrentRegion As Range
+
+Public Property Dependents As Range
+
+Public Property DirectDependents As Range
+
+Public Property DirectPrecedents As Range
+
+Public Property DisplayFormat As Object
+
+
+Public Function End(Direction) As Object
+End Function
+
+Public Property EntireColumn As Range
+
+
+Public Property EntireRow As Range
+
+
+Public Property Errors As Errors
+
+
+Public Property Font As Font
+
+
+Public Property FormatConditions As Range
+
+Public Property Formula As Variant
+
+Public Property FormulaArray As Variant
+
+Public Property FormulaHidden As Variant
+
+
+Public Property FormulaLocal As Object
+
+Public Property FormulaR1C1 As Varaint
+
+Public Property FormulaR1C1Local As Varaint
+
+Public Property HasArray As Varaint
+
+Public Property HasFormula As Varaint
+
+Public Property HasRichDataType As Varaint
+
+Public Property Height As Double
+
+Public Property Hidden As Variant
+
+Public Property HorizontalAlignment As Variant
+
+Public Property Hyperlinks As Object
+
+Public Property ID As String
+
+Public Property IndentLevel As Variant
+
+Public Property Interior As Double
+
+Public Function Item (RowIndex, ColumnIndex) As Range
+End Function
+
+
+Public Property Left As Variant
+
+
+Public Property LinkedDataTypeState As Variant
+
+Public Property ListHeaderRows As Variant
+
+
+Public Property ListObject As Object
+
+Public Property LocationInTable As Variant
+
+Public Property Locked As Variant
+
+Public Property MDX As String
+
+Public Property MergeArea As Range
+
+Public Property MergeCells As Boolean
+
+Public Property Name As Variant
+
+Public Property Next As Range
+
+Public Property NumberFormat As Variant
+
+Public Property NumberFormatLocal As Variant
+
+Public Function Offset (RowOffset, ColumnOffset) As Range
+
+End Function
+
+
+Public Property Orientation As Variant
+
+Public Property OutlineLevel As Variant
+
+Public Property PageBreak As Variant
+
+Public Property Parent As Variant
+
+Public Property Phonetic As Variant
+
+Public Property Phonetics As Variant
+
+Public Property PivotCell As Variant
+
+
+Public Property PivotField As Variant
+
+
+Public Property PivotItem As Variant
+
+Public Property PivotTable As Variant
+
+Public Property Precedents As Range
+
+Public Property PrefixCharacter As Variant
+
+
+Public Property Previous As Range
+
+Public Property QueryTable As Variant
+
+Public Function Range (Cell1, Cell2) As Range
+End Function
+
+Public Property ReadingOrder As Variant
+
+Public Function Resize (RowSize, ColumnSize) As Range
+End Function
+
+
+Public Property Row As Long
+
+Public Property RowHeight As Double
+
+Public Property Rows As Range
+
+Public Property ServerActions As Variant
+
+
+Public Property ShowDetail As Variant
+
+
+Public Property ShrinkToFit As Variant
+
+
+Public Property SoundNote As Variant
+
+
+Public Property SparklineGroups As Variant
+
+
+Public Property Style As Variant
+
+Public Property Summary As Variant
+
+
+Public Property Text As String
+
+Public Property Top As Variant
+
+Public Property UseStandardHeight As Variant
+
+Public Property UseStandardWidth As Variant
+
+Public Property Validation As Variant
+
+Public Function Value (RangeValueDataType) As Variant
+End Function
+
+Public Property Value2 As Variant
+
+
+Public Property VerticalAlignment As Variant
+
+Public Property Width As Double
+
+
+
+Public Property Worksheet As Worksheet
+
+
+Public Property WrapText As Variant
+
+Public Property XPath As XPath
+
+
+
+End Class
diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/workbook.d.vb b/XVBA/マトリックス積算/xvba_modules/excel-types/workbook.d.vb
new file mode 100644
index 00000000..55764e2b
--- /dev/null
+++ b/XVBA/マトリックス積算/xvba_modules/excel-types/workbook.d.vb
@@ -0,0 +1,157 @@
+'/*
+'Represents a Microsoft Excel workbook.
+'
+'
+'*/
+Public Class Workbook()
+
+'/*
+'Returns a String that represents the complete path to the
+'workbook/file that this workbook object represents.
+'
+'*/
+Public Property Path As String
+
+
+Public Property Worksheets As Worksheet
+
+'/*
+'True if a backup file is created when this file is saved. Read-only Boolean.
+'
+'@type {Boolean}
+'*/
+Public Property CreateBackup As Boolean
+
+'/*
+'Returns a String value that represents the name of the object.
+'
+'@type {Boolean}
+'*/
+Public Property Name As String
+
+'/*
+'True if no changes have been made to the specified workbook since it was last saved. Read/write Boolean.
+'
+'Example:
+'If Not ActiveWorkbook.Saved Then
+' MsgBox "This workbook contains unsaved changes."
+'End If
+'
+'@type {Boolean}
+'*/
+Public Property Saved As String
+
+'/*
+'Returns a Sheets collection that represents all the sheets in the specified workbook. Read-only Sheets object.
+'
+'Example:
+'Set newSheet = Sheets.Add(Type:=xlWorksheet)
+'For i = 1 To Sheets.Count
+' newSheet.Cells(i, 1).Value = Sheets(i).Name
+' Next i
+'
+'@type {Sheets}
+'*/
+Public Property Sheets As Worksheets
+
+
+'/*
+'
+'Activates the first window associated with the workbook.
+'
+'*/
+Public Function Activate()
+
+End Function
+
+'/*
+'
+'Closes the object.
+'
+'Example
+'
+'Workbooks("BOOK1.XLS").Close SaveChanges:=False
+'
+'@param {Variant} SaveChanges:[Optional] True or false
+'@param {Variant} FileName:[Optional] Saves changes under this file name.
+'@param {Variant} RouteWorkbook:[Optional] True or False
+'*/
+Public Function Close(SaveChanges,FileName,RouteWorkbook)
+
+End Function
+
+'/*
+'Saves changes to the specified workbook.
+'*/
+Public Function Save()
+
+End Function
+
+'/*
+'Saves changes to the workbook in a different file.
+'
+'@param {Variant} FileName:[Optional]
+'@param {Variant} FileFormat:[Optional]
+'@param {Variant} Password:[Optional]
+'@param {Variant} WriteResPassword:[Optional]
+'@param {Variant} ReadOnlyRecommended:[Optional]
+'@param {Variant} CreateBackup:[Optional]
+'@param {Variant} AccessMode:[Optional]
+'@param {Variant} ConflictResolution:[Optional]
+'@param {Variant} AddToMru:[Optional]
+'@param {Variant} TextCodepage:[Optional]
+'@param {Variant} TextVisualLayout:[Optional]
+'@param {Variant} Local:[Optional]
+'*/
+Public Function SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)
+
+End Function
+
+
+'/*
+'Exports the data that has been mapped to the specified XML schema map to an XML data file.
+'
+'@param {String} FileName:[Required]
+'@param {XmlMap} Map:[Required]
+'*/
+Public Function SaveAsXMLData(FileName, Map)
+
+End Function
+
+
+'/*
+'Saves a copy of the workbook to a file but doesn't modify the open workbook in memory.
+'
+'Example
+'ActiveWorkbook.SaveCopyAs "C:\TEMP\XXXX.XLS"
+'
+'@param {Variant} FileName:[Required]
+'*/
+Public Function SaveCopyAs(FileName, Map)
+
+End Function
+
+'/*
+'Sends the workbook by using the installed mail system.
+'
+'Example
+'ActiveWorkbook.SendMail recipients:="Jean Selva"
+'
+'@param {Variant} Recipients:[Required]
+'@param {Variant} Subject:[Optional]
+'@param {Variant} ReturnReceipt:[Optional]
+'*/
+Public Function SendMail(Recipients, Subject, ReturnReceipt)
+
+End Function
+
+'/*
+'
+'The ExportAsFixedFormat method is used to publish
+'a workbook to either the PDF or XPS format.
+'
+'*/
+Public Function ExportAsFixedFormat(Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish, FixedFormatExtClassPtr)
+End Function
+
+End Class
\ No newline at end of file
diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/workbooks.d.vb b/XVBA/マトリックス積算/xvba_modules/excel-types/workbooks.d.vb
new file mode 100644
index 00000000..07f71c5f
--- /dev/null
+++ b/XVBA/マトリックス積算/xvba_modules/excel-types/workbooks.d.vb
@@ -0,0 +1,109 @@
+'/*
+'A collection of all the Workbook objects that are currently open in the Microsoft Excel application.
+'
+'*/
+Public Class Workbooks()
+
+'/*
+'Creates a new workbook. The new workbook becomes the active workbook.
+'
+'@param {Variant} Template:[Optional] Determines how the new workbook is created.
+'If this argument is a string specifying the name of an existing Microsoft Excel file,
+'the new workbook is created with the specified file as a template.
+'*/
+Public Function Add(Template)
+
+End Function
+
+
+'/*
+'True if Microsoft Excel can check out a specified workbook from a server.
+'Read/write Boolean.
+'
+'@param {String} FileName:[Required] The name of the file to check out.
+'
+'*/
+Public Function CanCheckOut (FileName)
+
+End Function
+
+
+Public Function CheckOut (FileName)
+
+End Function
+
+
+Public Function Close ()
+
+End Function
+
+'/*
+'
+'Opens a workbook.
+'
+'Example
+'Workbooks.Open "ANALYSIS.XLS"
+'ActiveWorkbook.RunAutoMacros xlAutoOpen
+'*/
+Public Function Open (FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad) As Workbook
+
+End Function
+
+'/*
+'Returns a Workbook object representing a database.
+'*/
+Public Function OpenDatabase (FileName, CommandText, CommandType, BackgroundQuery, ImportDataAs)
+
+End Function
+
+
+'/*
+'Loads and parses a text file as a new workbook with a single sheet that contains the parsed text-file data.
+'*/
+Public Function (FileName, Origin, StartRow, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, TextVisualLayout, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers, Local)
+
+End Function
+
+'/*
+'Opens an XML data file. Returns a Workbook object.
+'*/
+Public Function OpenXML (FileName, Stylesheets, LoadOption)
+
+End Function
+
+
+'/*
+'When used without an object qualifier, this property returns an
+'Application object that represents the Microsoft Excel application.
+'
+'*/
+Public Property Application As Application
+
+
+'/*
+'Returns a Long value that represents the number of objects in the collection.
+'
+'*/
+Public Property Count As Long
+
+'/*
+'Returns a 32-bit integer that indicates the application in which this object was created. Read-only Long.
+'
+'*/
+Public Property Creator As Integer
+
+
+
+'/*
+'Returns a single object from a collection.
+'
+'*/
+Public Property Item(Index) As Object
+
+'/*
+'Returns the parent object for the specified object. Read-only.
+'
+'*/
+Public Property Parent As Object
+
+End Class
\ No newline at end of file
diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/worksheet.d.vb b/XVBA/マトリックス積算/xvba_modules/excel-types/worksheet.d.vb
new file mode 100644
index 00000000..24a02271
--- /dev/null
+++ b/XVBA/マトリックス積算/xvba_modules/excel-types/worksheet.d.vb
@@ -0,0 +1,86 @@
+'/*
+'Represents a worksheet.
+'
+'Example
+'
+'Worksheets(1).Visible = False
+'
+'*/
+Public Class Worksheet()
+
+
+'/*
+'Makes the current sheet the active sheet.
+'
+'Example
+'ActiveWorkbook.SendMail recipients:="Jean Selva"
+'*/
+Public Sub Activate()
+
+End Sub
+
+
+Public Sub Calculate()
+
+End Sub
+
+Public Sub Copy()
+
+End Sub
+
+Public Sub Delete()
+End Sub
+
+Public Sub Move()
+
+End Sub
+
+Public Sub Past()
+
+End Sub
+
+Public Sub PastSpecial()
+
+End Sub
+
+Public Sub Select()
+End Sub
+
+Public Sub SaveAs()
+
+End Sub
+
+'/*
+'
+'Returns a Range object that represents a cell or a range of cells.
+'
+'Example:
+'
+'Worksheets("Sheet1").Range("A1").Value = 3.14159
+'
+'*/
+Public Property Range As Range
+
+
+'/*
+'
+'Returns a Range object that represents all the rows on the specified worksheet.
+'
+'Example:
+'
+'Worksheets("Sheet1").Rows(3).Delete
+'
+'*/
+Public Property Row As Range
+
+
+'/*
+'
+'Returns a Long value that represents the index number of the
+'object within the collection of similar objects.orksheets("Sheet1").Rows(3).Delete
+'
+'*/
+Public Property Index As Long
+
+
+End Class
\ No newline at end of file
diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/worksheets.d.vb b/XVBA/マトリックス積算/xvba_modules/excel-types/worksheets.d.vb
new file mode 100644
index 00000000..7d775495
--- /dev/null
+++ b/XVBA/マトリックス積算/xvba_modules/excel-types/worksheets.d.vb
@@ -0,0 +1,54 @@
+'/*
+'A collection of all the Worksheet objects in the specified or active workbook. Each Worksheet object represents a worksheet.
+'
+'Example
+'
+'Worksheets(1).Visible = False
+'
+'*/
+Public Class Worksheets()
+
+'/*
+'Constructor
+'
+'*/
+Public Sub New(Name As String) As Worksheet
+
+End Sub
+
+Public Sub Add()
+
+End Sub
+
+
+Public Sub Add2()
+
+End Sub
+
+Public Sub Copy()
+
+End Sub
+
+Public Sub Delete()
+End Sub
+
+Public Sub Move()
+
+End Sub
+
+Public Sub FillAcrossSheets()
+
+End Sub
+
+Public Sub PrintOut()
+
+End Sub
+
+Public Sub PrintPreview()
+End Sub
+
+Public Sub Select()
+
+End Sub
+
+End Class
\ No newline at end of file
diff --git a/XVBA/マトリックス積算/xvba_modules/excel-types/xvba.package.json b/XVBA/マトリックス積算/xvba_modules/excel-types/xvba.package.json
new file mode 100644
index 00000000..2fb972d9
--- /dev/null
+++ b/XVBA/マトリックス積算/xvba_modules/excel-types/xvba.package.json
@@ -0,0 +1,15 @@
+{
+ "package": "excel-types",
+ "version": "1.0.0",
+ "author": "Alberto Oliveira",
+ "email": "alberto.aeraph@gmail.comn",
+ "license": "ISC",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/Aeraphe/excel-types.git"
+ },
+ "description": "Creating amazing XVBA packages",
+ "dependencies": {},
+ "dev_dependencies": {},
+ "homepage": "https://github.com/Aeraphe/xvba-cli"
+}
\ No newline at end of file
diff --git a/XVBA/マトリックス積算/x【※非公開】マトリックス管理テーブル.xlsx b/XVBA/マトリックス積算/x【※非公開】マトリックス管理テーブル.xlsx
new file mode 100644
index 00000000..ef4eca64
Binary files /dev/null and b/XVBA/マトリックス積算/x【※非公開】マトリックス管理テーブル.xlsx differ
diff --git a/XVBA/マトリックス積算/【※非公開】マトリックス管理テーブルv0.3.xlsm b/XVBA/マトリックス積算/【※非公開】マトリックス管理テーブルv0.3.xlsm
new file mode 100644
index 00000000..b02fdbd8
Binary files /dev/null and b/XVBA/マトリックス積算/【※非公開】マトリックス管理テーブルv0.3.xlsm differ
diff --git a/XVBA/マトリックス積算/【※非公開】マトリックス管理テーブルv1.1.xlsm b/XVBA/マトリックス積算/【※非公開】マトリックス管理テーブルv1.1.xlsm
new file mode 100644
index 00000000..045dc935
Binary files /dev/null and b/XVBA/マトリックス積算/【※非公開】マトリックス管理テーブルv1.1.xlsm differ
diff --git a/XVBA/マトリックス積算/マトリックス積算システム Ver.251006-AA-全-002.xlsm b/XVBA/マトリックス積算/マトリックス積算システム Ver.251006-AA-全-002.xlsm
new file mode 100644
index 00000000..ab0a5d23
Binary files /dev/null and b/XVBA/マトリックス積算/マトリックス積算システム Ver.251006-AA-全-002.xlsm differ
diff --git a/XVBA/マトリックス積算/マトリックス積算システム Ver.251101-AA-全-003.xlsm b/XVBA/マトリックス積算/マトリックス積算システム Ver.251101-AA-全-003.xlsm
new file mode 100644
index 00000000..09e1ad5e
Binary files /dev/null and b/XVBA/マトリックス積算/マトリックス積算システム Ver.251101-AA-全-003.xlsm differ
diff --git a/XVBA/マトリックス積算/マトリックス管理テーブル.xlsm b/XVBA/マトリックス積算/マトリックス管理テーブル.xlsm
new file mode 100644
index 00000000..7edfb609
Binary files /dev/null and b/XVBA/マトリックス積算/マトリックス管理テーブル.xlsm differ
diff --git a/XVBA/久保ファイル/.vscode/settings.json b/XVBA/久保ファイル/.vscode/settings.json
new file mode 100644
index 00000000..c0ebeb96
--- /dev/null
+++ b/XVBA/久保ファイル/.vscode/settings.json
@@ -0,0 +1,11 @@
+{
+ "files.encoding": "shiftjis",
+ "editor.fontFamily": "'HackGen35 Console'",
+ "editor.tokenColorCustomizations": {
+ "comments": {
+ "foreground": "#66ff33",
+ "fontStyle": "italic underline"
+ }
+ },
+ "editor.defaultFormatter": "local-smart.excel-live-server",
+}
\ No newline at end of file
diff --git a/XVBA/久保ファイル/config.json b/XVBA/久保ファイル/config.json
new file mode 100644
index 00000000..c06fe211
--- /dev/null
+++ b/XVBA/久保ファイル/config.json
@@ -0,0 +1,14 @@
+{
+ "app_name": "XVBA",
+ "description": "",
+ "author": "",
+ "email": "",
+ "create_ate": "Thu Dec 11 2025 13:26:38 GMT+0900 (日本標準時)",
+ "excel_file": "久保ファイル_v1.3.xlsm",
+ "vba_folder": "vba-files",
+ "ribbon_file": "customUI14",
+ "ribbon_folder": "ribbons",
+ "logs": "on",
+ "xvba_packages": {},
+ "xvba_dev_packages": {}
+}
\ No newline at end of file
diff --git a/XVBA/久保ファイル/package.json b/XVBA/久保ファイル/package.json
new file mode 100644
index 00000000..a8deae27
--- /dev/null
+++ b/XVBA/久保ファイル/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "xvba-app",
+ "version": "1.0.0",
+ "description": "A XVBA App",
+ "main": "index.js",
+ "author": "LocalSmart",
+ "license": "ISC",
+ "dependencies": {
+ "excel-types": "1.0.0",
+ "Xlog": "1.0.0"
+ },
+ "devDependencies": {
+ "@localsmart/xvba-cli": "^1.0.2"
+ }
+}
\ No newline at end of file
diff --git a/XVBA/久保ファイル/vba-files/Class/Sheet1.cls b/XVBA/久保ファイル/vba-files/Class/Sheet1.cls
new file mode 100644
index 00000000..7e5eed8e
--- /dev/null
+++ b/XVBA/久保ファイル/vba-files/Class/Sheet1.cls
@@ -0,0 +1,9 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet1"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
diff --git a/XVBA/久保ファイル/vba-files/Class/Sheet2.cls b/XVBA/久保ファイル/vba-files/Class/Sheet2.cls
new file mode 100644
index 00000000..9368fcbc
--- /dev/null
+++ b/XVBA/久保ファイル/vba-files/Class/Sheet2.cls
@@ -0,0 +1,9 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet2"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
diff --git a/XVBA/久保ファイル/vba-files/Class/Sheet3.cls b/XVBA/久保ファイル/vba-files/Class/Sheet3.cls
new file mode 100644
index 00000000..bf55a0db
--- /dev/null
+++ b/XVBA/久保ファイル/vba-files/Class/Sheet3.cls
@@ -0,0 +1,9 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet3"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
diff --git a/XVBA/久保ファイル/vba-files/Class/Sheet4.cls b/XVBA/久保ファイル/vba-files/Class/Sheet4.cls
new file mode 100644
index 00000000..3b565844
--- /dev/null
+++ b/XVBA/久保ファイル/vba-files/Class/Sheet4.cls
@@ -0,0 +1,9 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet4"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
diff --git a/XVBA/久保ファイル/vba-files/Class/Sheet5.cls b/XVBA/久保ファイル/vba-files/Class/Sheet5.cls
new file mode 100644
index 00000000..5d56cc32
--- /dev/null
+++ b/XVBA/久保ファイル/vba-files/Class/Sheet5.cls
@@ -0,0 +1,9 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet5"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
diff --git a/XVBA/久保ファイル/vba-files/Class/Sheet6.cls b/XVBA/久保ファイル/vba-files/Class/Sheet6.cls
new file mode 100644
index 00000000..2e001954
--- /dev/null
+++ b/XVBA/久保ファイル/vba-files/Class/Sheet6.cls
@@ -0,0 +1,9 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet6"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
diff --git a/XVBA/久保ファイル/vba-files/Class/Sheet7.cls b/XVBA/久保ファイル/vba-files/Class/Sheet7.cls
new file mode 100644
index 00000000..9d6db4a0
--- /dev/null
+++ b/XVBA/久保ファイル/vba-files/Class/Sheet7.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet7"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/久保ファイル/vba-files/Class/ThisWorkbook.cls b/XVBA/久保ファイル/vba-files/Class/ThisWorkbook.cls
new file mode 100644
index 00000000..71a35984
--- /dev/null
+++ b/XVBA/久保ファイル/vba-files/Class/ThisWorkbook.cls
@@ -0,0 +1,9 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "ThisWorkbook"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
diff --git a/XVBA/久保ファイル/vba-files/Module/Module1.bas b/XVBA/久保ファイル/vba-files/Module/Module1.bas
new file mode 100644
index 00000000..0efb178a
--- /dev/null
+++ b/XVBA/久保ファイル/vba-files/Module/Module1.bas
@@ -0,0 +1,141 @@
+Attribute VB_Name = "Module1"
+Sub SToORs[()
+
+ Dim SV[g, OV[g As Worksheet
+ Dim SXg, OXg As Object
+
+ Set SV[g = Sheets("S")
+ Set OV[g = Sheets("O")
+
+ SV[g.Select
+ Set SXg = SV[g.ListObjects("S")
+ OV[g.Select
+ Set OXg = OV[g.ListObjects("O")
+
+ If Not OXg Is Nothing Then OXg.DataBodyRange.Delete
+
+ SXg.DataBodyRange.Copy OV[g.Range("A2")
+
+ SV[g.Select
+ SXg.QueryTable.Refresh
+
+
+End Sub
+
+'tOꊇ폜
+Sub NA()
+ Application.ScreenUpdating = False
+ Dim wXg As Worksheet
+ Set wXg = Worksheets("w")
+
+ 'tOꊇ폜
+ wXg.Range("O6:O65").Value = ""
+
+ Application.ScreenUpdating = True
+End Sub
+
+
+Sub t쐬()
+ Application.ScreenUpdating = False
+
+ Dim wXg As Worksheet
+ Dim t As Worksheet
+
+ Set wXg = Worksheets("w")
+
+ Dim i, j, p
+
+
+ j = 27
+ p = 0
+
+ Dim lastRow As Long
+ lastRow = wXg.Cells(wXg.Rows.Count, "D").End(xlUp).Row
+
+ For i = 6 To lastRow
+ Dim f1, f2, f3
+ f1 = wXg.Cells(i, 15).Value 't쐬Ώ
+ f2 = wXg.Cells(i, 14).Value '
+ f3 = wXg.Cells(i, 11).Value 'mFς݂͏O
+
+ If f1 = 1 And f3 = "" Then
+ If f2 = 1 Then
+ 'Pt
+ Set t = Worksheets("t1")
+
+ 'a@
+ t.Range("D2").Value = wXg.Cells(i, 12).Value
+ 'a@Z
+ t.Range("E2").Value = wXg.Cells(i, 13).Value
+ 'a@
+ t.Range("F2").Value = wXg.Cells(i, 10).Value
+ '厡
+ t.Range("G2").Value = wXg.Cells(i, 9).Value
+ 'pҖ
+ t.Range("H2").Value = wXg.Cells(i, 4).Value
+ 'wJn
+ t.Range("I2").Value = wXg.Cells(i, 17).Value
+ 'N
+ t.Range("J2").Value = wXg.Cells(i, 8).Value
+
+ p = 1
+ wXg.Cells(i, 15).Value = ""
+
+ Else
+ '
+ Set t = Worksheets("t2")
+ 'a@
+ t.Range("D2").Value = wXg.Cells(i, 12).Value
+ 'a@Z
+ t.Range("E2").Value = wXg.Cells(i, 13).Value
+ 'a@
+ t.Range("F2").Value = wXg.Cells(i, 10).Value
+
+ 'pҖ
+ t.Cells(j, 7).Value = wXg.Cells(i, 4).Value & "@l"
+ 'N
+ t.Cells(j, 12).Value = wXg.Cells(i, 8).Value
+ j = j + 1
+ 'wJn
+ t.Cells(j, 7).Value = wXg.Cells(i, 17).Value
+ j = j + 1
+
+ p = 2
+
+ wXg.Cells(i, 15).Value = ""
+
+ End If
+
+ End If
+
+
+ 's
+ If p = 1 Then
+ t.Activate
+ ActiveWindow.SelectedSheets.PrintOut Copies:=1
+
+ p = 0
+
+ Elseif p = 2 Then
+ 'a@̐ؑւ
+ If Not wXg.Cells(i, 10).Value = wXg.Cells(i + 1, 10).Value Then
+
+ t.Activate
+ ActiveWindow.SelectedSheets.PrintOut Copies:=1
+ t.Range("G27:G42").Value = ""
+ t.Range("L27:L42").Value = ""
+ j = 27
+
+ p = 0
+
+ End If
+ End If
+ Next
+
+ wXg.Activate
+
+ Application.ScreenUpdating = True
+End Sub
+
+
+
diff --git a/XVBA/久保ファイル/xvba_modules/Xdebug/CHANGELOG.md b/XVBA/久保ファイル/xvba_modules/Xdebug/CHANGELOG.md
new file mode 100644
index 00000000..f1f3ad96
--- /dev/null
+++ b/XVBA/久保ファイル/xvba_modules/Xdebug/CHANGELOG.md
@@ -0,0 +1,13 @@
+# Changelog
+## Xdebug (Under Construction)
+
+- This package provides a way to simulate VBA Immediate Window in Output VSCode window
+
+## [1.0.0b0] - 2020-09-16
+### Added
+ - Create XDebug.printx
+ - Create XDebug.printError
+
+
+
+
\ No newline at end of file
diff --git a/XVBA/久保ファイル/xvba_modules/Xdebug/README.md b/XVBA/久保ファイル/xvba_modules/Xdebug/README.md
new file mode 100644
index 00000000..9d8b74f0
--- /dev/null
+++ b/XVBA/久保ファイル/xvba_modules/Xdebug/README.md
@@ -0,0 +1,58 @@
+# Xdebug (VBA Immediate Window in Output VSCode Window)
+
+## Description
+ - This package provides a way to simulate VBA Immediate Window in Output VSCode window
+ - Find the Output window (VBA Immediate Window)
+
+ ## Methods
+
+
+
+
+
+
+ ### Xdebug.printx
+
+- This method print any type os variable
+
+
+```
+
+Public Sub index()
+
+
+ Dim test(1) As Variant
+
+ 'Add an Object
+ Set test(0) = Sheets(1)
+ 'Add a String
+ test(1) = "Test Xdebug Output"
+
+ Xdebug.printx test
+
+End Sub
+
+```
+
+
+ ### Xdebug.printError
+
+- This method is use for print error
+
+
+```
+ Public Sub index()
+
+ On Error GoTo ErrorHandle:
+ 'throw an error
+ d = 1/0
+ 'Your code here
+
+
+ ErrorHandle:
+ Xdebug.errorSource = "pageConsoller.index"
+ Xdebug.printError
+
+ End Sub
+```
+
diff --git a/XVBA/久保ファイル/xvba_modules/Xdebug/Xdebug.cls b/XVBA/久保ファイル/xvba_modules/Xdebug/Xdebug.cls
new file mode 100644
index 00000000..0856356e
--- /dev/null
+++ b/XVBA/久保ファイル/xvba_modules/Xdebug/Xdebug.cls
@@ -0,0 +1,241 @@
+VERSION 1.0 CLASS
+BEGIN
+MultiUse = -1 'True
+END
+Attribute VB_Name = "Xdebug"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = False
+
+'namespace=xvba_modules\Xdebug
+
+Public env As String
+
+'Example of Package Create by XVBA-CLI
+
+Private OS_TMP__FOLDER_PATH As String
+
+Private IMMEDIATE_FOLDER As String
+
+Private IMMEDIATE_FILE As String
+
+Private DEBUG_FILE_PATH As String
+
+Const EMPTY_TYPE = 0
+Const NULL_TYPE = 1
+Const ERROR_TYPE = 10
+Const INTEGER_TYPE = 2
+Const LONG_TYPE = 3
+Const SINGLE_TYPE = 4
+Const DOUBLE_TYPE = 5
+Const CURRENCY_TYPE = 6
+Const DATE_TYPE = 7
+Const DECIMAL_TYPE = 14
+Const LONG_LONG_TYPE = 20
+Const BOOLEAN_TYPE = 11
+Const STRING_TYPE = 8
+Const ARRAY_TYPE = 8204
+Const OBJECT_TYPE = 9
+Const VARIANT_TYPE = 12
+Const DATA_OBJECT_TYPE = 13
+Private Const MESSAGE_SPACE = " "
+
+Public errorSource As String
+Public errorTitle As String
+
+'/*
+'Flag for Actrive os Deactive VBA Debug.Print
+'*/
+Public vbaDebugPrintActive As Boolean
+
+Private Sub class_initialize()
+
+ Dim fso As Object
+ Set fso = CreateObject("Scripting.FileSystemObject")
+ OS_TMP__FOLDER_PATH = fso.GetSpecialFolder(2)
+ IMMEDIATE_FOLDER = "xvba_immediate"
+ IMMEDIATE_FILE = "immediate.txt"
+ vbaDebugPrintActive = True
+ errorSource = ""
+ errorTitle = "XVBA: New Error Was Found"
+ env = "DEV"
+
+ DEBUG_FILE_PATH = OS_TMP__FOLDER_PATH & "\" & IMMEDIATE_FOLDER & "\" & IMMEDIATE_FILE
+
+End Sub
+
+
+
+
+Public Function printx(inputValue As Variant,Optional messageType As Integer = 1)
+
+ if(env="DEV") Then
+ Dim messageText As String
+
+ messageText = createOutputMessage(inputValue)
+
+ Call writeDebugFileContent(messageText,messageType)
+ End If
+End Function
+
+'/*
+'Print A Error
+'
+'*/
+Public Function printError()
+ if(env="DEV") Then
+
+ Dim message As String
+
+ message = ErrorHanddler()
+
+ Call writeDebugFileContent(message,0)
+
+ End If
+End Function
+
+
+'/*
+'
+'Write Debug ino on File
+'
+'
+'*/
+Private Function writeDebugFileContent(messageText,messageType)
+
+ Dim filePath As String
+ Dim FileNum As Integer
+ Dim PREFIX As String
+
+ filePath = DEBUG_FILE_PATH
+
+ FileNum = FreeFile
+
+ PREFIX = Now & " - "
+
+ Open filePath For Append As #FileNum
+
+ Dim debugMessage As String
+ Select Case messageType
+
+ Case 0 'Error Message
+
+ debugMessage= PREFIX & "Error:" & messageText
+ Case 1 'Success
+ debugMessage= PREFIX & messageText
+ Case Else 'No Type Set
+
+ debugMessage= PREFIX & "Info:" & messageText
+ End Select
+
+ Print #FileNum,debugMessage
+
+ Close #FileNum
+
+ If (vbaDebugPrintActive) Then
+
+ Debug.Print debugMessage
+
+ End If
+End Function
+
+
+Private Function createOutputMessage(inputValue) As String
+
+ Dim typeOfVar As Integer
+ Dim response As String
+
+ typeOfVar = VarType(inputValue)
+
+
+ 'Set Error Source Macro/Function name
+ Err.Source="createOutputMessage"
+ Select Case typeOfVar
+ Case STRING_TYPE
+ response = "String: " & inputValue
+ Case INTEGER_TYPE
+ response = "Integer: " & CStr(inputValue)
+ Case LONG_TYPE
+ response = "Long: " & CStr(inputValue)
+ Case SINGLE_TYPE
+ response = "Single: " & CStr(inputValue)
+ Case DOUBLE_TYPE
+ response = "Double: " & CStr(inputValue)
+ Case CURRENCY_TYPE
+ response = "Currenty: " & CStr(inputValue)
+ Case DATE_TYPE
+ response = "Date: " & CStr(inputValue)
+ Case DECIMAL_TYPE
+ response = "Decimal: " & CStr(inputValue)
+ Case LONG_LONG_TYPE
+ response = "LongLong: " & CStr(inputValue)
+ Case BOOLEAN_TYPE
+ response = "Boolean: " & CStr(inputValue)
+ Case ARRAY_TYPE
+ response = makeArrayTypeMessage(inputValue)
+ Case EMPTY_TYPE
+ response = "Empty: "
+ Case OBJECT_TYPE
+ response = "Object: " & TypeName(inputValue)
+ Case NULL_TYPE
+ response = "Null: "
+ Case ERROR_TYPE
+ response = "Error: "
+ Case VARIANT_TYPE
+ response = "Variant: "
+ Case DATA_OBJECT_TYPE
+ response = "Data Object: " & TypeName(inputValue)
+ Case Else
+ response = "Type Not Supported yet please inform xvba developer "
+ Debug.Print typeOfVar
+ Debug.Print inputValue
+
+ End Select
+
+
+ createOutputMessage = response
+
+End Function
+
+
+Private Function makeArrayTypeMessage(inputValue)As String
+ Dim nextItem As Variant
+ Dim response As String
+ Dim message As String
+
+ For Each nextItem In inputValue
+ message = createOutputMessage(nextItem)
+ response = response & " [ " & message & " ]" & vbCrLf
+ Next nextItem
+ makeArrayTypeMessage = "Array: " & vbCrLf & response
+End Function
+
+
+
+Private Function ErrorHanddler() As String
+ Dim errorDescription As String
+ Dim numberDescription As String
+ Dim lineError As String
+ Dim sourceError As String
+ Dim errorTitleMsg As String
+ Dim errorSourceMsg As String
+
+ errorTitleMsg = vbCrLf & MESSAGE_SPACE & errorTitle
+ errorSourceMsg = vbCrLf & MESSAGE_SPACE & "Error Source: " & errorSource
+
+
+ Select Case Err.Number
+ Case 11
+ numberDescription = vbCrLf & MESSAGE_SPACE & "Error Number: " & Err.Number
+ lineError = vbCrLf & MESSAGE_SPACE & "Error Line: " & Erl
+ errorDescription = vbCrLf & MESSAGE_SPACE & "Error Description: " & Err.Description
+ Case Else
+ numberDescription = vbCrLf & MESSAGE_SPACE & "Error Number: " & Err.Number
+ errorDescription = vbCrLf & MESSAGE_SPACE & "Error Description: " & Err.Description
+ End Select
+
+
+ ErrorHanddler = errorTitleMsg & lineError & errorSourceMsg & numberDescription & errorDescription
+
+End Function
\ No newline at end of file
diff --git a/XVBA/久保ファイル/xvba_modules/Xdebug/images/immediate.gif b/XVBA/久保ファイル/xvba_modules/Xdebug/images/immediate.gif
new file mode 100644
index 00000000..dd641693
Binary files /dev/null and b/XVBA/久保ファイル/xvba_modules/Xdebug/images/immediate.gif differ
diff --git a/XVBA/久保ファイル/xvba_modules/Xdebug/xvba.package.json b/XVBA/久保ファイル/xvba_modules/Xdebug/xvba.package.json
new file mode 100644
index 00000000..4a1da537
--- /dev/null
+++ b/XVBA/久保ファイル/xvba_modules/Xdebug/xvba.package.json
@@ -0,0 +1,15 @@
+{
+ "package": "Xdebug",
+ "version": "1.0.0",
+ "author": "Alberto Edaurdo",
+ "email": "alberto.aeraphe@gmail.com",
+ "license": "ISC",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/Aeraphe/xdebug.git"
+ },
+ "description": "Creating amazing XVBA packages",
+ "dependencies": {},
+ "dev_dependencies": {},
+ "homepage": "www.xvba.dev"
+}
\ No newline at end of file
diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/CHANGELOG.md b/XVBA/久保ファイル/xvba_modules/excel-types/CHANGELOG.md
new file mode 100644
index 00000000..39a71ff4
--- /dev/null
+++ b/XVBA/久保ファイル/xvba_modules/excel-types/CHANGELOG.md
@@ -0,0 +1,8 @@
+# Changelog
+## excel@types (Under Construction)
+
+- This package provides a way to use auto-complete for excel class
+
+
+
+
\ No newline at end of file
diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/README.md b/XVBA/久保ファイル/xvba_modules/excel-types/README.md
new file mode 100644
index 00000000..dcf0411e
--- /dev/null
+++ b/XVBA/久保ファイル/xvba_modules/excel-types/README.md
@@ -0,0 +1,51 @@
+# Excel VBA type Definitions Package (excel-types)
+
+ - This package provides a way to use auto-complete for Excel VBA Class
+ - You can Create your own vba type definition packages our update this.
+ - Type definition packages are named like: name-types
+ - The packages are store in www.xvba.dev
+ - Ech excel vba class has your own file definition
+ - The files extension has to be filename.d.vb
+ - Auto-complete just expose Public types
+
+
+## Create,install and share VBA Packages With Xvba-cli and Xvba Repository:
+
+- Xvba Repository : www.xvba.dev
+- XVBA-CLI Command Line Interface for XVBA VSCode extension @localsmart/xvba-cli
+
+## Install
+
+- For instal excel-types just use XVBA-CLI install command
+
+```
+ npx xvba install excel-types
+```
+## Comments Block
+
+- Use comments blocks below for documenting class/methods/Subs/Functions/Properties
+- The comments blocs has to start with '/* and ends with '*/
+
+```
+
+'/*
+'Represents the entire Microsoft Excel application.
+'
+'
+'*/
+Public Class Application()
+
+```
+
+```
+'/*
+'Returns a Range object that represents the active cell in the active window
+'(the window on top) or in the specified window. If the window isn't displaying
+'a worksheet, this property fails. Read-only.
+'
+'@type {Object.}
+'
+'*/
+Public Property ActiveCell As Range
+
+```
\ No newline at end of file
diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/application.d.vb b/XVBA/久保ファイル/xvba_modules/excel-types/application.d.vb
new file mode 100644
index 00000000..af74a242
--- /dev/null
+++ b/XVBA/久保ファイル/xvba_modules/excel-types/application.d.vb
@@ -0,0 +1,147 @@
+'/*
+'Represents the entire Microsoft Excel application.
+'
+'
+'*/
+Public Class Application()
+
+'/*
+'Returns an object that represents the active sheet (the sheet on top)
+'in the active workbook or in the specified window or workbook.
+'Returns Nothing if no sheet is active.
+'
+'*/
+Public Property ActiveSheet As Worksheet
+
+'/*
+'Returns a Workbook object that represents the workbook in the
+'active window (the window on top).
+'Returns Nothing if there are no windows open or if either
+'the Info window or the Clipboard window is the active window. Read-only.
+'
+'
+'*/
+Public Property ActiveWorkbook As Workbook
+
+'/*
+'True if Microsoft Excel displays certain alerts and messages while
+'a macro is running. Read/write Boolean.
+'
+'Example
+'Application.DisplayAlerts = False
+'Workbooks("BOOK1.XLS").Close
+'Application.DisplayAlerts = True
+'
+'*/
+Public Property DisplayAlerts As Boolean
+
+
+'/*
+'Returns or sets an XlCalculation value that represents the calculation mode.
+'
+'Example
+'Application.Calculation = xlCalculationManual
+'Application.Calculation = xlAutomatic
+'
+'@type {XlCalculation}
+'*/
+Public Property Calculation As XlCalculation
+
+'/*
+'True if events are enabled for the specified object. Read/write Boolean.
+'
+'@type {Boolean}
+'*/
+Public Property EnableEvents As Boolean
+
+'/*
+'True if screen updating is turned on. Read/write Boolean.
+'@type {Boolean}
+'*/
+Public Property ScreenUpdating As Boolean
+
+
+'/*
+'Returns a Range object that represents the active cell in the active window
+'(the window on top) or in the specified window. If the window isn't displaying
+'a worksheet, this property fails. Read-only.
+'
+'@type {Object.}
+'
+'*/
+Public Property ActiveCell As Range
+
+'/*
+'Returns a Chart object that represents the active chart (either an embedded chart or a chart sheet).
+'An embedded chart is considered active when it's either selected or activated. When no chart is active,
+'this property returns Nothing.
+'
+'Example:
+'ActiveChart.HasLegend = True
+'
+'@type {Object.}
+'*/
+Public Property ActiveChart As Chart
+
+'/*
+'Returns a Workbooks collection that represents all the open workbooks. Read-only.
+'
+'@type {Object.} Workbooks Collection
+'*/
+Public Property ThisWorkbook As Workbook
+
+'/*
+'Returns a Workbooks collection that represents all the open workbooks. Read-only.
+'
+'@type {Object.} Workbooks Collection
+'*/
+Public Property Workbooks As Workbooks
+
+'/*
+'Activates a Microsoft application. If the application is already running,
+'this method activates the running application.
+'If the application isn't running, this method starts a new instance of the application.
+'
+'Example: (This example starts and activates Word.)
+'
+'Application.ActivateMicrosoftApp xlMicrosoftWord
+'
+'@param {XlMSApplication} index
+'*/
+Public Sub ActivateMicrosoftApp( index As XlMSApplication)
+
+End Sub
+
+'/*
+'An event occurs when all pending refresh activity (both synchronous and asynchronous)
+'and all of the resultant calculation activities have been completed.
+'
+'*/
+Public Event AfterCalculate()
+
+'/*
+'Occurs when a new workbook is created.
+'
+'Example:
+'
+'Private Sub App_NewWorkbook(ByVal Wb As Workbook)
+'Application.Windows.Arrange xlArrangeStyleTiled End Sub
+'
+'@param {Workbook} Wb
+'*/
+Public Event NewWorkbook(ByVal Wb As Workbook)
+
+'/*
+'Returns a Sheets collection that represents all the sheets in the specified workbook. Read-only Sheets object.
+'
+'Example:
+'Set newSheet = Sheets.Add(Type:=xlWorksheet)
+'For i = 1 To Sheets.Count
+' newSheet.Cells(i, 1).Value = Sheets(i).Name
+' Next i
+'
+'@type {Sheets}
+'*/
+Public Property Sheets As Worksheets
+
+End Class
\ No newline at end of file
diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/dictionary.d.vb b/XVBA/久保ファイル/xvba_modules/excel-types/dictionary.d.vb
new file mode 100644
index 00000000..6a580711
--- /dev/null
+++ b/XVBA/久保ファイル/xvba_modules/excel-types/dictionary.d.vb
@@ -0,0 +1,109 @@
+
+
+
+'/*
+'
+'
+'
+'/*
+Public Class Scripting()
+
+
+'/*
+'
+'Object that stores data key/item pairs.
+'
+'/*
+Public Function Dictionary()
+
+End Function
+
+'/*
+'
+'Adds a new key/item pair to a Dictionary object.
+'
+'*/
+Public Sub Add()
+
+End Sub
+
+'/*
+'
+'Returns a Boolean value that indicates whether a specified key exists in the Dictionary object.
+'
+'*/
+Public Sub Exists()
+
+End Sub
+
+'/*
+'
+'Returns an array of all the items in a Dictionary object.
+'
+'*/
+Public Sub Items()
+
+End Sub
+
+'/*
+'
+'Returns an array of all the keys in a Dictionary object.
+'
+'*/
+Public Sub Keys()
+
+End Sub
+
+'/*
+'
+'Removes one specified key/item pair from the Dictionary object.
+'
+'*/
+Public Sub Remove()
+
+End Sub
+
+'/*
+'
+'Removes all the key/item pairs in the Dictionary object.
+'
+'*/
+Public Sub RemoveAll()
+
+End Sub
+
+
+
+'/*
+'Sets or returns the comparison mode for comparing keys in a Dictionary object.
+'
+'
+'*/
+Public Property CompareMode As Variant
+
+
+'/*
+'Returns the number of key/item pairs in a Dictionary object.
+'
+'
+'*/
+Public Property Count As Long
+
+
+'/*
+'Sets or returns the value of an item in a Dictionary object.
+'
+'
+'*/
+Public Property Item As Variant
+
+'/*
+'Sets a new key value for an existing key value in a Dictionary object.
+'
+'
+'*/
+Public Property Key As Variant
+
+
+
+End Class
\ No newline at end of file
diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/err.d.vb b/XVBA/久保ファイル/xvba_modules/excel-types/err.d.vb
new file mode 100644
index 00000000..7115cac1
--- /dev/null
+++ b/XVBA/久保ファイル/xvba_modules/excel-types/err.d.vb
@@ -0,0 +1,30 @@
+'/*
+'Contains information about run-time errors.
+'
+'
+'*/
+Public Class Err()
+
+'/*
+'Returns or sets a string expression containing a
+'descriptive string associated with an object. Read/write.
+'
+'*/
+Public Property Description As String
+
+'/*
+'Returns or sets a numeric value specifying an error.
+'Number is the Err object's default property. Read/write.
+'
+'*/
+Public Property Number As Integer
+
+
+'/*
+'Returns or sets a string expression specifying the name of
+'the object or application that originally generated the error. Read/write.
+'
+'*/
+Public Property Source As String
+
+End Class
\ No newline at end of file
diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/functions.d.vb b/XVBA/久保ファイル/xvba_modules/excel-types/functions.d.vb
new file mode 100644
index 00000000..38aba162
--- /dev/null
+++ b/XVBA/久保ファイル/xvba_modules/excel-types/functions.d.vb
@@ -0,0 +1,547 @@
+
+'/*
+'[Conversion Func]
+'
+'*/
+Function Asc()
+End Function
+
+'/*
+'[Conversion Func]
+'Returns a String containing the character associated
+'with the specified character code.
+'
+'Example:
+'
+'Dim MyChar
+'MyChar = Chr(65) ' Returns A.
+'MyChar = Chr(97) ' Returns a.
+'MyChar = Chr(62) ' Returns >.
+'MyChar = Chr(37) ' Returns %.
+'*/
+Function Chr()
+End Function
+
+'/*
+'[Conversion Func]
+'
+'*/
+Function Format()
+End Function
+
+'/*
+'[Conversion Func]
+'
+'*/
+Function Hex()
+End Function
+
+
+'/*
+'[Conversion Func]
+'
+'*/
+Function Oct()
+End Function
+
+
+'/*
+'[Conversion Func]
+'Returns a Variant (String) representation of a number.
+'
+'Example:
+'Dim MyString
+'MyString = Str(459) ' Returns " 459".
+'MyString = Str(-459.65) ' Returns "-459.65".
+'MyString = Str(459.001) ' Returns " 459.001".
+'
+'*/
+Function Str() As Variant
+End Function
+
+
+'/*
+'[Conversion Func]
+'Returns the numbers contained in a string as
+'a numeric value of appropriate type.
+'
+'Example:
+'
+'Dim MyValue
+'MyValue = Val("2457") ' Returns 2457.
+'MyValue = Val(" 2 45 7") ' Returns 2457.
+'MyValue = Val("24 and 57") ' Returns 24.
+'*/
+Function Val(String)
+End Function
+
+
+
+Function CreateObject()
+End Function
+
+
+Function CurDir()
+End Function
+
+'/*
+'Returns a Variant (Date) containing the current system date.
+'
+'Example
+'
+'Dim MyDate
+'MyDate = Date ' MyDate contains the current system date.
+'
+'*/
+Function Date()
+
+End Function
+
+
+
+Function DateDiff()
+End Function
+
+Function DatePart()
+End Function
+
+Function DateSerial()
+End Function
+
+Function Day()
+End Function
+
+Function DDB()
+End Function
+
+Function Dir()
+End Function
+
+Function DoEvents()
+End Function
+
+Function Environ()
+End Function
+
+Function EOF()
+End Function
+
+Function Error()
+End Function
+
+
+Function FileAttr()
+End Function
+
+Function FileDateTime()
+End Function
+
+Function FileLen()
+End Function
+
+Function Filter()
+End Function
+
+Function FormatCurrency()
+End Function
+
+Function FormatDateTime()
+End Function
+
+Function FormatNumber()
+End Function
+
+Function FormaPercent()
+End Function
+
+
+Function FreeFile()
+End Function
+
+Function FV()
+End Function
+
+Function GetAllSettings()
+End Function
+
+Function GetAttr()
+End Function
+
+Function GetObject()
+End Function
+
+Function GetSetting()
+End Function
+
+
+Function Hour()
+End Function
+
+Function IIf()
+End Function
+
+Function IMEStatus()
+End Function
+
+Function Input()
+End Function
+
+Function InputBox()
+End Function
+
+Function InStr()
+End Function
+
+Function InStrRev()
+End Function
+
+Function IPmt()
+End Function
+
+
+
+Function IRR()
+End Function
+
+Function IsArray()
+End Function
+
+Function IsDate()
+End Function
+
+'/*
+'
+'Returns a Boolean value indicating whether a variable has been initialized.
+'
+'*/
+Function IsEmpty()
+End Function
+
+
+Function IsError()
+End Function
+
+Function IsMissing()
+End Function
+
+Function IsNull()
+End Function
+
+Function IsNumeric()
+End Function
+
+
+Function IsObject()
+End Function
+
+'/*
+'Returns a string created by joining a number of substrings contained in an array.
+'
+'*/
+Function Join()
+End Function
+
+
+
+Function LBound()
+End Function
+
+Function LCase()
+End Function
+
+Function Left()
+End Function
+
+Function Len()
+End Function
+
+
+Function Loc()
+End Function
+
+Function LOF()
+End Function
+
+Function LTrim()
+End Function
+
+Function RTrim()
+End Function
+
+Function Trim()
+End Function
+
+
+Function MacID()
+End Function
+
+
+
+Function MacScript()
+End Function
+
+'/*
+'[Math Function]
+'Returns a value of the same type that is passed to it specifying the absolute value of a number.
+'
+'*/
+Function Abs()
+End Function
+
+'/*
+'[Math Function]
+'Returns a Double specifying the arctangent of a number.
+'
+'*/
+Function Atn()
+End Function
+
+
+'/*
+'[Math Function]
+'
+'*/
+Function Cos()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Exp()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Int()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Fix()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Log()
+End Function
+
+
+'/*
+'[Math Function]
+'
+'*/
+Function Rnd()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Sgn()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Sin()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Sqr()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Tan()
+End Function
+
+
+
+Function Mid()
+End Function
+
+
+Function Minute()
+End Function
+
+
+Function MIRR()
+End Function
+
+
+Function Month()
+End Function
+
+Function MonthName()
+End Function
+
+'/*
+'Displays a message in a dialog box, waits for the user to click a button,
+'and returns an Integer indicating which button the user clicked.
+'
+'*/
+Function MsgBox(prompt, [ buttons, ] [ title, ] [ helpfile, context ])
+End Function
+
+
+Function Now()
+End Function
+
+
+Function NPer()
+End Function
+
+
+Function NPV()
+End Function
+
+Function PPmt()
+End Function
+
+
+Function QBColor()
+End Function
+
+
+Function Rate()
+End Function
+
+'/*
+'Returns a string, which is a substring of a string
+'expression beginning at the start position (defaults to 1),
+'in which a specified substring has been replaced with another
+'substring a specified number of times.
+'
+'*/
+Function Replace(expression, find, replace, [ start, [ count, [ compare ]]])
+End Function
+
+Function RGB()
+End Function
+
+
+Function Right()
+End Function
+
+
+Function Round()
+End Function
+
+
+Function Second()
+End Function
+
+
+
+Function Seek()
+End Function
+
+
+Function Shell()
+End Function
+
+
+Function SNL()
+End Function
+
+
+Function Space()
+End Function
+
+
+Function Spc()
+End Function
+
+
+Function Split()
+End Function
+
+
+Function StrComp()
+End Function
+
+
+
+Function StrConv()
+End Function
+
+
+Function String()
+End Function
+
+
+Function StrReverse()
+End Function
+
+
+
+Function Switch()
+End Function
+
+
+Function SYD()
+End Function
+
+
+Function Tab()
+End Function
+
+
+Function Time()
+End Function
+
+
+
+Function Timer()
+End Function
+
+
+Function TimeSerial()
+End Function
+
+
+Function TimeValue()
+End Function
+
+
+
+Function TypeName()
+End Function
+
+
+Function UBound()
+End Function
+
+
+Function Ucase()
+End Function
+
+
+Function VarType()
+End Function
+
+
+
+Function Weekday()
+End Function
+
+
+Function WeekdayName()
+End Function
+
+
+Function Year()
+End Function
\ No newline at end of file
diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/range.d.vb b/XVBA/久保ファイル/xvba_modules/excel-types/range.d.vb
new file mode 100644
index 00000000..92a9c7d7
--- /dev/null
+++ b/XVBA/久保ファイル/xvba_modules/excel-types/range.d.vb
@@ -0,0 +1,625 @@
+'/*
+'Represents a cell, a row, a column, a selection of cells containing one or more contiguous blocks of cells, or a 3D range.
+'
+'
+'*/
+Public Class Range()
+
+'/*
+'(Range)
+'
+'Activates a single cell, which must be inside the current selection.
+'To select a range of cells, use the Select method.,
+'
+'Example
+'
+'This example selects cells A1:C3 on Sheet1 and then makes cell B2 the active cell.
+'
+' Worksheets("Sheet1").Activate
+' Range("A1:C3").Select
+' Range("B2").Activate
+'
+'*/
+Public Sub Activate()
+
+End Sub
+
+
+'/*
+'Adds a comment to the range.
+'
+'Example:
+'
+'Worksheets(1).Range("E5").AddComment "Current Sales"
+'
+'@param {String} text
+'*/
+Public Sub AddComment(text As String)
+
+End Sub
+
+Public Sub AddCommentThreaded()
+
+End Sub
+
+Public Sub AdvancedFilter()
+
+End Sub
+
+Public Sub AllocateChanges()
+
+End Sub
+
+Public Sub ApplyName()
+
+End Sub
+
+Public Sub ApplyOutLineStyles()
+
+End Sub
+
+Public Sub AutoComplete()
+
+End Sub
+
+Public Sub AutoFill()
+
+End Sub
+
+Public Sub AutoFilter()
+
+End Sub
+
+Public Sub AutioFit()
+
+End Sub
+
+Public Sub AutoOutline()
+
+End Sub
+
+Public Sub BorderAround()
+
+End Sub
+
+Public Sub Calculate()
+
+End Sub
+
+Public Sub CalculateRowMajorOrder()
+
+End Sub
+
+Public Sub CheckSpelling()
+
+End Sub
+
+Public Sub Clear()
+
+End Sub
+
+Public Sub ClearComments()
+
+End Sub
+
+Public Sub ClearContents()
+
+End Sub
+
+Public Sub ClearFormats()
+
+End Sub
+
+Public Sub ClearHyperlinks()
+
+End Sub
+
+Public Sub ClearNotes()
+
+End Sub
+
+Public Sub ClearOutline()
+
+End Sub
+
+Public Sub ColumnDifferences()
+
+End Sub
+
+Public Sub Consolidate()
+
+End Sub
+
+Public Sub ConvertToLinkedDataType()
+
+End Sub
+
+Public Sub Copy()
+
+End Sub
+
+Public Sub CopyFromRecordset()
+
+End Sub
+
+Public Sub CopyPicture()
+
+End Sub
+
+Public Sub CreateNames()
+
+End Sub
+
+Public Sub Cut()
+
+End Sub
+
+Public Function DataSeries (Rowcol, Type, Date, Step, Stop, Trend)
+
+End Function
+
+Public Function DataTypeToText()
+
+End Function
+
+Public Function Delete (Shift)
+
+End Function
+
+Public Function DialogBox()
+
+End Function
+
+Public Function Dirty()
+
+End Function
+Public Function DiscardChanges()
+
+End Function
+Public Function EditionOptions (Type, Option, Name, Reference, Appearance, ChartSize, Format)
+
+End Function
+Public Function ExportAsFixedFormat (Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish, FixedFormatExtClassPtr)
+
+End Function
+Public Function FillDown()
+
+End Function
+Public Function FillLeft()
+
+End Function
+
+Public Function FillRight()
+
+End Function
+
+Public Function FillUp()
+
+End Function
+
+Public Function Find (What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)
+
+End Function
+
+Public Function FindNext (After)
+
+End Function
+
+Public Function FindPrevious (Before)
+
+End Function
+
+Public Function FlashFill ()
+
+End Function
+
+
+Public Function FunctionWizard ()
+
+End Function
+
+
+Public Function Group (Start, End, By, Periods)
+
+End Function
+
+Public Function Insert (Shift, CopyOrigin)
+
+End Function
+
+
+Public Function InsertIndent (InsertAmount)
+
+End Function
+
+
+Public Function Justify()
+
+End Function
+
+
+Public Function ListNames()
+
+End Function
+
+Public Function Merge(Across)
+
+End Function
+
+Public Function NavigateArrow(TowardPrecedent, ArrowNumber, LinkNumber)
+
+End Function
+
+Public Function NoteText(Text, Start, Length)
+
+End Function
+
+Public Function Parse(ParseLine, Destination)
+
+End Function
+
+Public Function PasteSpecial(Paste, Operation, SkipBlanks, Transpose)
+
+End Function
+
+
+Public Function PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName)
+
+End Function
+
+Public Function PrintPreview(EnableChanges)
+
+End Function
+
+Public Function RemoveDuplicates(Columns , Header)
+
+End Function
+
+Public Function RemoveSubtotal()
+
+End Function
+
+
+Public Function Replace(What, Replacement, LookAt, SearchOrder, MatchCase, MatchByte, SearchFormat, ReplaceFormat)
+
+End Function
+
+
+Public Function RowDifferences(Comparison)
+
+End Function
+
+Public Function Run(Arg1, Arg2, Arg3, Arg4, Arg5...)
+
+End Function
+
+Public Function Select()
+
+End Function
+
+Public Function SetCellDataTypeFromCell(Range, LanguageCulture)
+
+End Function
+
+
+Public Function SetPhonetic()
+
+End Function
+
+
+Public Function Show()
+
+End Function
+
+
+Public Function ShowCard()
+
+End Function
+
+
+Public Function ShowDependents(Remove)
+
+End Function
+
+
+Public Function ShowErrors()
+
+End Function
+
+
+Public Function ShowPrecedents(Remove)
+
+End Function
+
+
+Public Function Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3)
+
+End Function
+
+
+Public Function SortSpecial(SortMethod, Key1, Order1, Type, Key2, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, DataOption1, DataOption2, DataOption3)
+
+End Function
+
+Public Function Speak(SpeakDirection, SpeakFormulas)
+
+End Function
+
+
+Public Function SpecialCells(Type, Value)
+
+End Function
+
+Public Function SubscribeTo(Edition, Format)
+
+End Function
+
+Public Function Subtotal(GroupBy, Function, TotalList, Replace, PageBreaks, SummaryBelowData)
+
+End Function
+
+
+Public Function Table(RowInput, ColumnInput)
+
+End Function
+
+
+Public Function TextToColumns(Destination, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers
+
+End Function
+
+
+Public Function Ungroup()
+
+End Function
+
+
+Public Function UnMerge()
+
+End Function
+
+Public Property AddIndent As Variant
+
+Public Function Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo) As Variant
+End Function
+
+Public Function AddressLocal(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo) As Range
+End Function
+
+Public Property Application As Application
+
+Public Property Areas As Areas
+
+Public Property Borders As Variant
+
+Public Property Cells As Range
+
+Public Function Characters(Start, Length) As Variant
+End Function
+
+Public Property Column As Long
+
+Public Property Columns As Long
+
+Public Property ColumnWidth As Variant
+
+Public Property Comment As Variant
+
+Public Property CommentThreaded As Variant
+
+
+Public Property Count As Long
+
+
+Public Property CountLarge As Variant
+
+
+Public Property Creator As Integer
+
+
+Public Property CurrentArray As Range
+
+'/*
+'Returns a Range object that represents the current region.
+'The current region is a range bounded by any combination of blank rows and blank columns. Read-only.
+'
+'Example
+'Worksheets("Sheet1").Activate
+'ActiveCell.CurrentRegion.Select
+'*/
+Public Property CurrentRegion As Range
+
+Public Property Dependents As Range
+
+Public Property DirectDependents As Range
+
+Public Property DirectPrecedents As Range
+
+Public Property DisplayFormat As Object
+
+
+Public Function End(Direction) As Object
+End Function
+
+Public Property EntireColumn As Range
+
+
+Public Property EntireRow As Range
+
+
+Public Property Errors As Errors
+
+
+Public Property Font As Font
+
+
+Public Property FormatConditions As Range
+
+Public Property Formula As Variant
+
+Public Property FormulaArray As Variant
+
+Public Property FormulaHidden As Variant
+
+
+Public Property FormulaLocal As Object
+
+Public Property FormulaR1C1 As Varaint
+
+Public Property FormulaR1C1Local As Varaint
+
+Public Property HasArray As Varaint
+
+Public Property HasFormula As Varaint
+
+Public Property HasRichDataType As Varaint
+
+Public Property Height As Double
+
+Public Property Hidden As Variant
+
+Public Property HorizontalAlignment As Variant
+
+Public Property Hyperlinks As Object
+
+Public Property ID As String
+
+Public Property IndentLevel As Variant
+
+Public Property Interior As Double
+
+Public Function Item (RowIndex, ColumnIndex) As Range
+End Function
+
+
+Public Property Left As Variant
+
+
+Public Property LinkedDataTypeState As Variant
+
+Public Property ListHeaderRows As Variant
+
+
+Public Property ListObject As Object
+
+Public Property LocationInTable As Variant
+
+Public Property Locked As Variant
+
+Public Property MDX As String
+
+Public Property MergeArea As Range
+
+Public Property MergeCells As Boolean
+
+Public Property Name As Variant
+
+Public Property Next As Range
+
+Public Property NumberFormat As Variant
+
+Public Property NumberFormatLocal As Variant
+
+Public Function Offset (RowOffset, ColumnOffset) As Range
+
+End Function
+
+
+Public Property Orientation As Variant
+
+Public Property OutlineLevel As Variant
+
+Public Property PageBreak As Variant
+
+Public Property Parent As Variant
+
+Public Property Phonetic As Variant
+
+Public Property Phonetics As Variant
+
+Public Property PivotCell As Variant
+
+
+Public Property PivotField As Variant
+
+
+Public Property PivotItem As Variant
+
+Public Property PivotTable As Variant
+
+Public Property Precedents As Range
+
+Public Property PrefixCharacter As Variant
+
+
+Public Property Previous As Range
+
+Public Property QueryTable As Variant
+
+Public Function Range (Cell1, Cell2) As Range
+End Function
+
+Public Property ReadingOrder As Variant
+
+Public Function Resize (RowSize, ColumnSize) As Range
+End Function
+
+
+Public Property Row As Long
+
+Public Property RowHeight As Double
+
+Public Property Rows As Range
+
+Public Property ServerActions As Variant
+
+
+Public Property ShowDetail As Variant
+
+
+Public Property ShrinkToFit As Variant
+
+
+Public Property SoundNote As Variant
+
+
+Public Property SparklineGroups As Variant
+
+
+Public Property Style As Variant
+
+Public Property Summary As Variant
+
+
+Public Property Text As String
+
+Public Property Top As Variant
+
+Public Property UseStandardHeight As Variant
+
+Public Property UseStandardWidth As Variant
+
+Public Property Validation As Variant
+
+Public Function Value (RangeValueDataType) As Variant
+End Function
+
+Public Property Value2 As Variant
+
+
+Public Property VerticalAlignment As Variant
+
+Public Property Width As Double
+
+
+
+Public Property Worksheet As Worksheet
+
+
+Public Property WrapText As Variant
+
+Public Property XPath As XPath
+
+
+
+End Class
diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/workbook.d.vb b/XVBA/久保ファイル/xvba_modules/excel-types/workbook.d.vb
new file mode 100644
index 00000000..55764e2b
--- /dev/null
+++ b/XVBA/久保ファイル/xvba_modules/excel-types/workbook.d.vb
@@ -0,0 +1,157 @@
+'/*
+'Represents a Microsoft Excel workbook.
+'
+'
+'*/
+Public Class Workbook()
+
+'/*
+'Returns a String that represents the complete path to the
+'workbook/file that this workbook object represents.
+'
+'*/
+Public Property Path As String
+
+
+Public Property Worksheets As Worksheet
+
+'/*
+'True if a backup file is created when this file is saved. Read-only Boolean.
+'
+'@type {Boolean}
+'*/
+Public Property CreateBackup As Boolean
+
+'/*
+'Returns a String value that represents the name of the object.
+'
+'@type {Boolean}
+'*/
+Public Property Name As String
+
+'/*
+'True if no changes have been made to the specified workbook since it was last saved. Read/write Boolean.
+'
+'Example:
+'If Not ActiveWorkbook.Saved Then
+' MsgBox "This workbook contains unsaved changes."
+'End If
+'
+'@type {Boolean}
+'*/
+Public Property Saved As String
+
+'/*
+'Returns a Sheets collection that represents all the sheets in the specified workbook. Read-only Sheets object.
+'
+'Example:
+'Set newSheet = Sheets.Add(Type:=xlWorksheet)
+'For i = 1 To Sheets.Count
+' newSheet.Cells(i, 1).Value = Sheets(i).Name
+' Next i
+'
+'@type {Sheets}
+'*/
+Public Property Sheets As Worksheets
+
+
+'/*
+'
+'Activates the first window associated with the workbook.
+'
+'*/
+Public Function Activate()
+
+End Function
+
+'/*
+'
+'Closes the object.
+'
+'Example
+'
+'Workbooks("BOOK1.XLS").Close SaveChanges:=False
+'
+'@param {Variant} SaveChanges:[Optional] True or false
+'@param {Variant} FileName:[Optional] Saves changes under this file name.
+'@param {Variant} RouteWorkbook:[Optional] True or False
+'*/
+Public Function Close(SaveChanges,FileName,RouteWorkbook)
+
+End Function
+
+'/*
+'Saves changes to the specified workbook.
+'*/
+Public Function Save()
+
+End Function
+
+'/*
+'Saves changes to the workbook in a different file.
+'
+'@param {Variant} FileName:[Optional]
+'@param {Variant} FileFormat:[Optional]
+'@param {Variant} Password:[Optional]
+'@param {Variant} WriteResPassword:[Optional]
+'@param {Variant} ReadOnlyRecommended:[Optional]
+'@param {Variant} CreateBackup:[Optional]
+'@param {Variant} AccessMode:[Optional]
+'@param {Variant} ConflictResolution:[Optional]
+'@param {Variant} AddToMru:[Optional]
+'@param {Variant} TextCodepage:[Optional]
+'@param {Variant} TextVisualLayout:[Optional]
+'@param {Variant} Local:[Optional]
+'*/
+Public Function SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)
+
+End Function
+
+
+'/*
+'Exports the data that has been mapped to the specified XML schema map to an XML data file.
+'
+'@param {String} FileName:[Required]
+'@param {XmlMap} Map:[Required]
+'*/
+Public Function SaveAsXMLData(FileName, Map)
+
+End Function
+
+
+'/*
+'Saves a copy of the workbook to a file but doesn't modify the open workbook in memory.
+'
+'Example
+'ActiveWorkbook.SaveCopyAs "C:\TEMP\XXXX.XLS"
+'
+'@param {Variant} FileName:[Required]
+'*/
+Public Function SaveCopyAs(FileName, Map)
+
+End Function
+
+'/*
+'Sends the workbook by using the installed mail system.
+'
+'Example
+'ActiveWorkbook.SendMail recipients:="Jean Selva"
+'
+'@param {Variant} Recipients:[Required]
+'@param {Variant} Subject:[Optional]
+'@param {Variant} ReturnReceipt:[Optional]
+'*/
+Public Function SendMail(Recipients, Subject, ReturnReceipt)
+
+End Function
+
+'/*
+'
+'The ExportAsFixedFormat method is used to publish
+'a workbook to either the PDF or XPS format.
+'
+'*/
+Public Function ExportAsFixedFormat(Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish, FixedFormatExtClassPtr)
+End Function
+
+End Class
\ No newline at end of file
diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/workbooks.d.vb b/XVBA/久保ファイル/xvba_modules/excel-types/workbooks.d.vb
new file mode 100644
index 00000000..07f71c5f
--- /dev/null
+++ b/XVBA/久保ファイル/xvba_modules/excel-types/workbooks.d.vb
@@ -0,0 +1,109 @@
+'/*
+'A collection of all the Workbook objects that are currently open in the Microsoft Excel application.
+'
+'*/
+Public Class Workbooks()
+
+'/*
+'Creates a new workbook. The new workbook becomes the active workbook.
+'
+'@param {Variant} Template:[Optional] Determines how the new workbook is created.
+'If this argument is a string specifying the name of an existing Microsoft Excel file,
+'the new workbook is created with the specified file as a template.
+'*/
+Public Function Add(Template)
+
+End Function
+
+
+'/*
+'True if Microsoft Excel can check out a specified workbook from a server.
+'Read/write Boolean.
+'
+'@param {String} FileName:[Required] The name of the file to check out.
+'
+'*/
+Public Function CanCheckOut (FileName)
+
+End Function
+
+
+Public Function CheckOut (FileName)
+
+End Function
+
+
+Public Function Close ()
+
+End Function
+
+'/*
+'
+'Opens a workbook.
+'
+'Example
+'Workbooks.Open "ANALYSIS.XLS"
+'ActiveWorkbook.RunAutoMacros xlAutoOpen
+'*/
+Public Function Open (FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad) As Workbook
+
+End Function
+
+'/*
+'Returns a Workbook object representing a database.
+'*/
+Public Function OpenDatabase (FileName, CommandText, CommandType, BackgroundQuery, ImportDataAs)
+
+End Function
+
+
+'/*
+'Loads and parses a text file as a new workbook with a single sheet that contains the parsed text-file data.
+'*/
+Public Function (FileName, Origin, StartRow, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, TextVisualLayout, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers, Local)
+
+End Function
+
+'/*
+'Opens an XML data file. Returns a Workbook object.
+'*/
+Public Function OpenXML (FileName, Stylesheets, LoadOption)
+
+End Function
+
+
+'/*
+'When used without an object qualifier, this property returns an
+'Application object that represents the Microsoft Excel application.
+'
+'*/
+Public Property Application As Application
+
+
+'/*
+'Returns a Long value that represents the number of objects in the collection.
+'
+'*/
+Public Property Count As Long
+
+'/*
+'Returns a 32-bit integer that indicates the application in which this object was created. Read-only Long.
+'
+'*/
+Public Property Creator As Integer
+
+
+
+'/*
+'Returns a single object from a collection.
+'
+'*/
+Public Property Item(Index) As Object
+
+'/*
+'Returns the parent object for the specified object. Read-only.
+'
+'*/
+Public Property Parent As Object
+
+End Class
\ No newline at end of file
diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/worksheet.d.vb b/XVBA/久保ファイル/xvba_modules/excel-types/worksheet.d.vb
new file mode 100644
index 00000000..24a02271
--- /dev/null
+++ b/XVBA/久保ファイル/xvba_modules/excel-types/worksheet.d.vb
@@ -0,0 +1,86 @@
+'/*
+'Represents a worksheet.
+'
+'Example
+'
+'Worksheets(1).Visible = False
+'
+'*/
+Public Class Worksheet()
+
+
+'/*
+'Makes the current sheet the active sheet.
+'
+'Example
+'ActiveWorkbook.SendMail recipients:="Jean Selva"
+'*/
+Public Sub Activate()
+
+End Sub
+
+
+Public Sub Calculate()
+
+End Sub
+
+Public Sub Copy()
+
+End Sub
+
+Public Sub Delete()
+End Sub
+
+Public Sub Move()
+
+End Sub
+
+Public Sub Past()
+
+End Sub
+
+Public Sub PastSpecial()
+
+End Sub
+
+Public Sub Select()
+End Sub
+
+Public Sub SaveAs()
+
+End Sub
+
+'/*
+'
+'Returns a Range object that represents a cell or a range of cells.
+'
+'Example:
+'
+'Worksheets("Sheet1").Range("A1").Value = 3.14159
+'
+'*/
+Public Property Range As Range
+
+
+'/*
+'
+'Returns a Range object that represents all the rows on the specified worksheet.
+'
+'Example:
+'
+'Worksheets("Sheet1").Rows(3).Delete
+'
+'*/
+Public Property Row As Range
+
+
+'/*
+'
+'Returns a Long value that represents the index number of the
+'object within the collection of similar objects.orksheets("Sheet1").Rows(3).Delete
+'
+'*/
+Public Property Index As Long
+
+
+End Class
\ No newline at end of file
diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/worksheets.d.vb b/XVBA/久保ファイル/xvba_modules/excel-types/worksheets.d.vb
new file mode 100644
index 00000000..7d775495
--- /dev/null
+++ b/XVBA/久保ファイル/xvba_modules/excel-types/worksheets.d.vb
@@ -0,0 +1,54 @@
+'/*
+'A collection of all the Worksheet objects in the specified or active workbook. Each Worksheet object represents a worksheet.
+'
+'Example
+'
+'Worksheets(1).Visible = False
+'
+'*/
+Public Class Worksheets()
+
+'/*
+'Constructor
+'
+'*/
+Public Sub New(Name As String) As Worksheet
+
+End Sub
+
+Public Sub Add()
+
+End Sub
+
+
+Public Sub Add2()
+
+End Sub
+
+Public Sub Copy()
+
+End Sub
+
+Public Sub Delete()
+End Sub
+
+Public Sub Move()
+
+End Sub
+
+Public Sub FillAcrossSheets()
+
+End Sub
+
+Public Sub PrintOut()
+
+End Sub
+
+Public Sub PrintPreview()
+End Sub
+
+Public Sub Select()
+
+End Sub
+
+End Class
\ No newline at end of file
diff --git a/XVBA/久保ファイル/xvba_modules/excel-types/xvba.package.json b/XVBA/久保ファイル/xvba_modules/excel-types/xvba.package.json
new file mode 100644
index 00000000..2fb972d9
--- /dev/null
+++ b/XVBA/久保ファイル/xvba_modules/excel-types/xvba.package.json
@@ -0,0 +1,15 @@
+{
+ "package": "excel-types",
+ "version": "1.0.0",
+ "author": "Alberto Oliveira",
+ "email": "alberto.aeraph@gmail.comn",
+ "license": "ISC",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/Aeraphe/excel-types.git"
+ },
+ "description": "Creating amazing XVBA packages",
+ "dependencies": {},
+ "dev_dependencies": {},
+ "homepage": "https://github.com/Aeraphe/xvba-cli"
+}
\ No newline at end of file
diff --git a/XVBA/久保ファイル/久保ファイル_v1.3.xlsm b/XVBA/久保ファイル/久保ファイル_v1.3.xlsm
new file mode 100644
index 00000000..fca9e04e
Binary files /dev/null and b/XVBA/久保ファイル/久保ファイル_v1.3.xlsm differ
diff --git a/XVBA/事業計画集計/.vscode/settings.json b/XVBA/事業計画集計/.vscode/settings.json
new file mode 100644
index 00000000..c0ebeb96
--- /dev/null
+++ b/XVBA/事業計画集計/.vscode/settings.json
@@ -0,0 +1,11 @@
+{
+ "files.encoding": "shiftjis",
+ "editor.fontFamily": "'HackGen35 Console'",
+ "editor.tokenColorCustomizations": {
+ "comments": {
+ "foreground": "#66ff33",
+ "fontStyle": "italic underline"
+ }
+ },
+ "editor.defaultFormatter": "local-smart.excel-live-server",
+}
\ No newline at end of file
diff --git a/XVBA/事業計画集計/config.json b/XVBA/事業計画集計/config.json
new file mode 100644
index 00000000..6896c640
--- /dev/null
+++ b/XVBA/事業計画集計/config.json
@@ -0,0 +1,14 @@
+{
+ "app_name": "XVBA",
+ "description": "",
+ "author": "",
+ "email": "",
+ "create_ate": "Sat Nov 08 2025 17:26:55 GMT+0900 (日本標準時)",
+ "excel_file": "【2025経営計画】新・事業計画集計v4.0.xlsm",
+ "vba_folder": "vba-files",
+ "ribbon_file": "customUI14",
+ "ribbon_folder": "ribbons",
+ "logs": "on",
+ "xvba_packages": {},
+ "xvba_dev_packages": {}
+}
\ No newline at end of file
diff --git a/XVBA/事業計画集計/package.json b/XVBA/事業計画集計/package.json
new file mode 100644
index 00000000..a8deae27
--- /dev/null
+++ b/XVBA/事業計画集計/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "xvba-app",
+ "version": "1.0.0",
+ "description": "A XVBA App",
+ "main": "index.js",
+ "author": "LocalSmart",
+ "license": "ISC",
+ "dependencies": {
+ "excel-types": "1.0.0",
+ "Xlog": "1.0.0"
+ },
+ "devDependencies": {
+ "@localsmart/xvba-cli": "^1.0.2"
+ }
+}
\ No newline at end of file
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet1.cls b/XVBA/事業計画集計/vba-files/Class/Sheet1.cls
new file mode 100644
index 00000000..34122d33
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet1.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet1"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet10.cls b/XVBA/事業計画集計/vba-files/Class/Sheet10.cls
new file mode 100644
index 00000000..26de6af1
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet10.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet10"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet11.cls b/XVBA/事業計画集計/vba-files/Class/Sheet11.cls
new file mode 100644
index 00000000..9a6dee97
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet11.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet11"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet12.cls b/XVBA/事業計画集計/vba-files/Class/Sheet12.cls
new file mode 100644
index 00000000..65530ac4
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet12.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet12"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet120.cls b/XVBA/事業計画集計/vba-files/Class/Sheet120.cls
new file mode 100644
index 00000000..b2cf6540
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet120.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet120"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet121.cls b/XVBA/事業計画集計/vba-files/Class/Sheet121.cls
new file mode 100644
index 00000000..fd1c2113
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet121.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet121"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet122.cls b/XVBA/事業計画集計/vba-files/Class/Sheet122.cls
new file mode 100644
index 00000000..7fd30445
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet122.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet122"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet123.cls b/XVBA/事業計画集計/vba-files/Class/Sheet123.cls
new file mode 100644
index 00000000..76734a60
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet123.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet123"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet124.cls b/XVBA/事業計画集計/vba-files/Class/Sheet124.cls
new file mode 100644
index 00000000..9c0950d2
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet124.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet124"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet125.cls b/XVBA/事業計画集計/vba-files/Class/Sheet125.cls
new file mode 100644
index 00000000..7bb7c803
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet125.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet125"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet126.cls b/XVBA/事業計画集計/vba-files/Class/Sheet126.cls
new file mode 100644
index 00000000..a1b236b5
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet126.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet126"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet127.cls b/XVBA/事業計画集計/vba-files/Class/Sheet127.cls
new file mode 100644
index 00000000..d686605d
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet127.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet127"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet128.cls b/XVBA/事業計画集計/vba-files/Class/Sheet128.cls
new file mode 100644
index 00000000..39630ddd
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet128.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet128"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet129.cls b/XVBA/事業計画集計/vba-files/Class/Sheet129.cls
new file mode 100644
index 00000000..44f7f763
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet129.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet129"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet13.cls b/XVBA/事業計画集計/vba-files/Class/Sheet13.cls
new file mode 100644
index 00000000..90e7028a
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet13.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet13"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet130.cls b/XVBA/事業計画集計/vba-files/Class/Sheet130.cls
new file mode 100644
index 00000000..c1abb15a
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet130.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet130"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet131.cls b/XVBA/事業計画集計/vba-files/Class/Sheet131.cls
new file mode 100644
index 00000000..74ce3b7c
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet131.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet131"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet132.cls b/XVBA/事業計画集計/vba-files/Class/Sheet132.cls
new file mode 100644
index 00000000..b7884c51
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet132.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet132"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet133.cls b/XVBA/事業計画集計/vba-files/Class/Sheet133.cls
new file mode 100644
index 00000000..6e773d0e
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet133.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet133"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet134.cls b/XVBA/事業計画集計/vba-files/Class/Sheet134.cls
new file mode 100644
index 00000000..49ae0cc7
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet134.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet134"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet135.cls b/XVBA/事業計画集計/vba-files/Class/Sheet135.cls
new file mode 100644
index 00000000..3cc58afe
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet135.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet135"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet136.cls b/XVBA/事業計画集計/vba-files/Class/Sheet136.cls
new file mode 100644
index 00000000..c9a26ff2
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet136.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet136"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet137.cls b/XVBA/事業計画集計/vba-files/Class/Sheet137.cls
new file mode 100644
index 00000000..8c36e5b6
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet137.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet137"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet138.cls b/XVBA/事業計画集計/vba-files/Class/Sheet138.cls
new file mode 100644
index 00000000..f1cbf4fa
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet138.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet138"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet139.cls b/XVBA/事業計画集計/vba-files/Class/Sheet139.cls
new file mode 100644
index 00000000..c983191e
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet139.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet139"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet14.cls b/XVBA/事業計画集計/vba-files/Class/Sheet14.cls
new file mode 100644
index 00000000..4324809d
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet14.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet14"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet140.cls b/XVBA/事業計画集計/vba-files/Class/Sheet140.cls
new file mode 100644
index 00000000..860f6956
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet140.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet140"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet141.cls b/XVBA/事業計画集計/vba-files/Class/Sheet141.cls
new file mode 100644
index 00000000..158f8d5b
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet141.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet141"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet142.cls b/XVBA/事業計画集計/vba-files/Class/Sheet142.cls
new file mode 100644
index 00000000..70552fe5
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet142.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet142"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet143.cls b/XVBA/事業計画集計/vba-files/Class/Sheet143.cls
new file mode 100644
index 00000000..cc04faf5
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet143.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet143"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet144.cls b/XVBA/事業計画集計/vba-files/Class/Sheet144.cls
new file mode 100644
index 00000000..90fe5871
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet144.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet144"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet145.cls b/XVBA/事業計画集計/vba-files/Class/Sheet145.cls
new file mode 100644
index 00000000..9d9923c3
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet145.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet145"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet146.cls b/XVBA/事業計画集計/vba-files/Class/Sheet146.cls
new file mode 100644
index 00000000..1031f6f8
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet146.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet146"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet147.cls b/XVBA/事業計画集計/vba-files/Class/Sheet147.cls
new file mode 100644
index 00000000..8d1a0111
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet147.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet147"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet148.cls b/XVBA/事業計画集計/vba-files/Class/Sheet148.cls
new file mode 100644
index 00000000..281322ae
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet148.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet148"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet149.cls b/XVBA/事業計画集計/vba-files/Class/Sheet149.cls
new file mode 100644
index 00000000..dc796369
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet149.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet149"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet15.cls b/XVBA/事業計画集計/vba-files/Class/Sheet15.cls
new file mode 100644
index 00000000..3470200e
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet15.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet15"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet150.cls b/XVBA/事業計画集計/vba-files/Class/Sheet150.cls
new file mode 100644
index 00000000..49475638
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet150.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet150"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet151.cls b/XVBA/事業計画集計/vba-files/Class/Sheet151.cls
new file mode 100644
index 00000000..0f669ec6
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet151.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet151"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet152.cls b/XVBA/事業計画集計/vba-files/Class/Sheet152.cls
new file mode 100644
index 00000000..7d91b612
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet152.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet152"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet153.cls b/XVBA/事業計画集計/vba-files/Class/Sheet153.cls
new file mode 100644
index 00000000..c77f81ac
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet153.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet153"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet16.cls b/XVBA/事業計画集計/vba-files/Class/Sheet16.cls
new file mode 100644
index 00000000..f463f889
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet16.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet16"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet17.cls b/XVBA/事業計画集計/vba-files/Class/Sheet17.cls
new file mode 100644
index 00000000..b55e1e56
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet17.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet17"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet18.cls b/XVBA/事業計画集計/vba-files/Class/Sheet18.cls
new file mode 100644
index 00000000..03b35007
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet18.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet18"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet19.cls b/XVBA/事業計画集計/vba-files/Class/Sheet19.cls
new file mode 100644
index 00000000..3e6aaac9
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet19.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet19"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet2.cls b/XVBA/事業計画集計/vba-files/Class/Sheet2.cls
new file mode 100644
index 00000000..bae245ef
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet2.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet2"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet20.cls b/XVBA/事業計画集計/vba-files/Class/Sheet20.cls
new file mode 100644
index 00000000..2821c5ac
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet20.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet20"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet21.cls b/XVBA/事業計画集計/vba-files/Class/Sheet21.cls
new file mode 100644
index 00000000..35a666cb
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet21.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet21"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet215.cls b/XVBA/事業計画集計/vba-files/Class/Sheet215.cls
new file mode 100644
index 00000000..f6139c91
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet215.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet215"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet216.cls b/XVBA/事業計画集計/vba-files/Class/Sheet216.cls
new file mode 100644
index 00000000..76ca9cf2
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet216.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet216"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet217.cls b/XVBA/事業計画集計/vba-files/Class/Sheet217.cls
new file mode 100644
index 00000000..e34a0fc0
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet217.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet217"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet218.cls b/XVBA/事業計画集計/vba-files/Class/Sheet218.cls
new file mode 100644
index 00000000..fe8a54c0
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet218.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet218"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet219.cls b/XVBA/事業計画集計/vba-files/Class/Sheet219.cls
new file mode 100644
index 00000000..46ffaa4d
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet219.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet219"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet22.cls b/XVBA/事業計画集計/vba-files/Class/Sheet22.cls
new file mode 100644
index 00000000..26e440e3
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet22.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet22"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet220.cls b/XVBA/事業計画集計/vba-files/Class/Sheet220.cls
new file mode 100644
index 00000000..f7c3edc6
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet220.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet220"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet221.cls b/XVBA/事業計画集計/vba-files/Class/Sheet221.cls
new file mode 100644
index 00000000..e0ed163c
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet221.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet221"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet222.cls b/XVBA/事業計画集計/vba-files/Class/Sheet222.cls
new file mode 100644
index 00000000..8558e514
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet222.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet222"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet223.cls b/XVBA/事業計画集計/vba-files/Class/Sheet223.cls
new file mode 100644
index 00000000..f468f4db
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet223.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet223"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet224.cls b/XVBA/事業計画集計/vba-files/Class/Sheet224.cls
new file mode 100644
index 00000000..1a19802e
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet224.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet224"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet225.cls b/XVBA/事業計画集計/vba-files/Class/Sheet225.cls
new file mode 100644
index 00000000..88b7004d
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet225.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet225"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet226.cls b/XVBA/事業計画集計/vba-files/Class/Sheet226.cls
new file mode 100644
index 00000000..5f76b98c
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet226.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet226"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet227.cls b/XVBA/事業計画集計/vba-files/Class/Sheet227.cls
new file mode 100644
index 00000000..4ad4c051
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet227.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet227"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet228.cls b/XVBA/事業計画集計/vba-files/Class/Sheet228.cls
new file mode 100644
index 00000000..10c5fbf3
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet228.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet228"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet229.cls b/XVBA/事業計画集計/vba-files/Class/Sheet229.cls
new file mode 100644
index 00000000..5bc2f307
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet229.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet229"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet23.cls b/XVBA/事業計画集計/vba-files/Class/Sheet23.cls
new file mode 100644
index 00000000..807cc1e4
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet23.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet23"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet230.cls b/XVBA/事業計画集計/vba-files/Class/Sheet230.cls
new file mode 100644
index 00000000..5f5ea003
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet230.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet230"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet231.cls b/XVBA/事業計画集計/vba-files/Class/Sheet231.cls
new file mode 100644
index 00000000..b75dff98
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet231.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet231"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet232.cls b/XVBA/事業計画集計/vba-files/Class/Sheet232.cls
new file mode 100644
index 00000000..d74559fc
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet232.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet232"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet233.cls b/XVBA/事業計画集計/vba-files/Class/Sheet233.cls
new file mode 100644
index 00000000..2fd328d6
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet233.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet233"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet234.cls b/XVBA/事業計画集計/vba-files/Class/Sheet234.cls
new file mode 100644
index 00000000..16291710
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet234.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet234"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet235.cls b/XVBA/事業計画集計/vba-files/Class/Sheet235.cls
new file mode 100644
index 00000000..00c2fbd3
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet235.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet235"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet236.cls b/XVBA/事業計画集計/vba-files/Class/Sheet236.cls
new file mode 100644
index 00000000..9fa48682
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet236.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet236"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet237.cls b/XVBA/事業計画集計/vba-files/Class/Sheet237.cls
new file mode 100644
index 00000000..5339f612
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet237.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet237"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet238.cls b/XVBA/事業計画集計/vba-files/Class/Sheet238.cls
new file mode 100644
index 00000000..309ef224
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet238.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet238"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet239.cls b/XVBA/事業計画集計/vba-files/Class/Sheet239.cls
new file mode 100644
index 00000000..1f28e4f3
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet239.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet239"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet24.cls b/XVBA/事業計画集計/vba-files/Class/Sheet24.cls
new file mode 100644
index 00000000..7f57500d
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet24.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet24"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet240.cls b/XVBA/事業計画集計/vba-files/Class/Sheet240.cls
new file mode 100644
index 00000000..976f399c
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet240.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet240"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet241.cls b/XVBA/事業計画集計/vba-files/Class/Sheet241.cls
new file mode 100644
index 00000000..2b3fca5a
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet241.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet241"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet242.cls b/XVBA/事業計画集計/vba-files/Class/Sheet242.cls
new file mode 100644
index 00000000..eae9cf9f
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet242.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet242"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet243.cls b/XVBA/事業計画集計/vba-files/Class/Sheet243.cls
new file mode 100644
index 00000000..da503d85
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet243.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet243"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet244.cls b/XVBA/事業計画集計/vba-files/Class/Sheet244.cls
new file mode 100644
index 00000000..11790629
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet244.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet244"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet245.cls b/XVBA/事業計画集計/vba-files/Class/Sheet245.cls
new file mode 100644
index 00000000..cb091d26
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet245.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet245"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet246.cls b/XVBA/事業計画集計/vba-files/Class/Sheet246.cls
new file mode 100644
index 00000000..408d972e
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet246.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet246"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet247.cls b/XVBA/事業計画集計/vba-files/Class/Sheet247.cls
new file mode 100644
index 00000000..b838f32c
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet247.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet247"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet248.cls b/XVBA/事業計画集計/vba-files/Class/Sheet248.cls
new file mode 100644
index 00000000..935df63e
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet248.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet248"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet249.cls b/XVBA/事業計画集計/vba-files/Class/Sheet249.cls
new file mode 100644
index 00000000..391008a8
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet249.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet249"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet25.cls b/XVBA/事業計画集計/vba-files/Class/Sheet25.cls
new file mode 100644
index 00000000..9a0d662f
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet25.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet25"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet26.cls b/XVBA/事業計画集計/vba-files/Class/Sheet26.cls
new file mode 100644
index 00000000..85d938c4
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet26.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet26"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet27.cls b/XVBA/事業計画集計/vba-files/Class/Sheet27.cls
new file mode 100644
index 00000000..a023af98
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet27.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet27"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet28.cls b/XVBA/事業計画集計/vba-files/Class/Sheet28.cls
new file mode 100644
index 00000000..c090f504
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet28.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet28"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet29.cls b/XVBA/事業計画集計/vba-files/Class/Sheet29.cls
new file mode 100644
index 00000000..3840b8d1
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet29.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet29"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet3.cls b/XVBA/事業計画集計/vba-files/Class/Sheet3.cls
new file mode 100644
index 00000000..0393198e
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet3.cls
@@ -0,0 +1,10 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet3"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet30.cls b/XVBA/事業計画集計/vba-files/Class/Sheet30.cls
new file mode 100644
index 00000000..f16dfb8c
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet30.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet30"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet31.cls b/XVBA/事業計画集計/vba-files/Class/Sheet31.cls
new file mode 100644
index 00000000..6905d0a6
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet31.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet31"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet32.cls b/XVBA/事業計画集計/vba-files/Class/Sheet32.cls
new file mode 100644
index 00000000..8cc0c7e4
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet32.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet32"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet33.cls b/XVBA/事業計画集計/vba-files/Class/Sheet33.cls
new file mode 100644
index 00000000..fb9f552f
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet33.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet33"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet34.cls b/XVBA/事業計画集計/vba-files/Class/Sheet34.cls
new file mode 100644
index 00000000..5d1e4c60
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet34.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet34"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet35.cls b/XVBA/事業計画集計/vba-files/Class/Sheet35.cls
new file mode 100644
index 00000000..2e36cc70
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet35.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet35"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet36.cls b/XVBA/事業計画集計/vba-files/Class/Sheet36.cls
new file mode 100644
index 00000000..887a9f2a
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet36.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet36"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet37.cls b/XVBA/事業計画集計/vba-files/Class/Sheet37.cls
new file mode 100644
index 00000000..bfbf99c4
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet37.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet37"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet38.cls b/XVBA/事業計画集計/vba-files/Class/Sheet38.cls
new file mode 100644
index 00000000..38149f6a
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet38.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet38"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet39.cls b/XVBA/事業計画集計/vba-files/Class/Sheet39.cls
new file mode 100644
index 00000000..849aa162
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet39.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet39"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet4.cls b/XVBA/事業計画集計/vba-files/Class/Sheet4.cls
new file mode 100644
index 00000000..c9ba7ab7
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet4.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet4"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet40.cls b/XVBA/事業計画集計/vba-files/Class/Sheet40.cls
new file mode 100644
index 00000000..c7b2afa1
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet40.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet40"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet41.cls b/XVBA/事業計画集計/vba-files/Class/Sheet41.cls
new file mode 100644
index 00000000..c27b7a0c
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet41.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet41"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet42.cls b/XVBA/事業計画集計/vba-files/Class/Sheet42.cls
new file mode 100644
index 00000000..b2ff87c8
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet42.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet42"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet47.cls b/XVBA/事業計画集計/vba-files/Class/Sheet47.cls
new file mode 100644
index 00000000..9978b5d4
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet47.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet47"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet48.cls b/XVBA/事業計画集計/vba-files/Class/Sheet48.cls
new file mode 100644
index 00000000..f5f17bf6
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet48.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet48"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet49.cls b/XVBA/事業計画集計/vba-files/Class/Sheet49.cls
new file mode 100644
index 00000000..f31204b7
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet49.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet49"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet5.cls b/XVBA/事業計画集計/vba-files/Class/Sheet5.cls
new file mode 100644
index 00000000..256756ea
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet5.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet5"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet6.cls b/XVBA/事業計画集計/vba-files/Class/Sheet6.cls
new file mode 100644
index 00000000..eb370ff4
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet6.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet6"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet7.cls b/XVBA/事業計画集計/vba-files/Class/Sheet7.cls
new file mode 100644
index 00000000..9d6db4a0
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet7.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet7"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet8.cls b/XVBA/事業計画集計/vba-files/Class/Sheet8.cls
new file mode 100644
index 00000000..39390f11
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet8.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet8"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/Sheet9.cls b/XVBA/事業計画集計/vba-files/Class/Sheet9.cls
new file mode 100644
index 00000000..c37cda0d
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/Sheet9.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet9"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計/vba-files/Class/ThisWorkbook.cls b/XVBA/事業計画集計/vba-files/Class/ThisWorkbook.cls
new file mode 100644
index 00000000..90b268e3
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Class/ThisWorkbook.cls
@@ -0,0 +1,10 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "ThisWorkbook"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
diff --git a/XVBA/事業計画集計/vba-files/Module/JsonConverter.bas b/XVBA/事業計画集計/vba-files/Module/JsonConverter.bas
new file mode 100644
index 00000000..3aec36d2
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Module/JsonConverter.bas
@@ -0,0 +1,1123 @@
+Attribute VB_Name = "JsonConverter"
+''
+' VBA-JSON v2.3.1
+' (c) Tim Hall - https://github.com/VBA-tools/VBA-JSON
+'
+' JSON Converter for VBA
+'
+' Errors:
+' 10001 - JSON parse error
+'
+' @class JsonConverter
+' @author tim.hall.engr@gmail.com
+' @license MIT (http://www.opensource.org/licenses/mit-license.php)
+'' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ '
+'
+' Based originally on vba-json (with extensive changes)
+' BSD license included below
+'
+' JSONLib, http://code.google.com/p/vba-json/
+'
+' Copyright (c) 2013, Ryo Yokoyama
+' All rights reserved.
+'
+' Redistribution and use in source and binary forms, with or without
+' modification, are permitted provided that the following conditions are met:
+' * Redistributions of source code must retain the above copyright
+' notice, this list of conditions and the following disclaimer.
+' * Redistributions in binary form must reproduce the above copyright
+' notice, this list of conditions and the following disclaimer in the
+' documentation and/or other materials provided with the distribution.
+' * Neither the name of the nor the
+' names of its contributors may be used to endorse or promote products
+' derived from this software without specific prior written permission.
+'
+' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+' ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+' WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+' DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
+' DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+' (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+' LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+' ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+' (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+' SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ '
+Option Explicit
+
+' === VBA-UTC Headers
+#If Mac Then
+
+#If VBA7 Then
+
+' 64-bit Mac (2016)
+Private Declare PtrSafe Function utc_popen Lib "/usr/lib/libc.dylib" Alias "popen" _
+ (ByVal utc_Command As String, ByVal utc_Mode As String) As LongPtr
+Private Declare PtrSafe Function utc_pclose Lib "/usr/lib/libc.dylib" Alias "pclose" _
+ (ByVal utc_File As LongPtr) As LongPtr
+Private Declare PtrSafe Function utc_fread Lib "/usr/lib/libc.dylib" Alias "fread" _
+ (ByVal utc_Buffer As String, ByVal utc_Size As LongPtr, ByVal utc_Number As LongPtr, ByVal utc_File As LongPtr) As LongPtr
+Private Declare PtrSafe Function utc_feof Lib "/usr/lib/libc.dylib" Alias "feof" _
+ (ByVal utc_File As LongPtr) As LongPtr
+
+#Else
+
+' 32-bit Mac
+Private Declare Function utc_popen Lib "libc.dylib" Alias "popen" _
+ (ByVal utc_Command As String, ByVal utc_Mode As String) As Long
+Private Declare Function utc_pclose Lib "libc.dylib" Alias "pclose" _
+ (ByVal utc_File As Long) As Long
+Private Declare Function utc_fread Lib "libc.dylib" Alias "fread" _
+ (ByVal utc_Buffer As String, ByVal utc_Size As Long, ByVal utc_Number As Long, ByVal utc_File As Long) As Long
+Private Declare Function utc_feof Lib "libc.dylib" Alias "feof" _
+ (ByVal utc_File As Long) As Long
+
+#End If
+
+#ElseIf VBA7 Then
+
+' http://msdn.microsoft.com/en-us/library/windows/desktop/ms724421.aspx
+' http://msdn.microsoft.com/en-us/library/windows/desktop/ms724949.aspx
+' http://msdn.microsoft.com/en-us/library/windows/desktop/ms725485.aspx
+Private Declare PtrSafe Function utc_GetTimeZoneInformation Lib "kernel32" Alias "GetTimeZoneInformation" _
+ (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION) As Long
+Private Declare PtrSafe Function utc_SystemTimeToTzSpecificLocalTime Lib "kernel32" Alias "SystemTimeToTzSpecificLocalTime" _
+ (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpUniversalTime As utc_SYSTEMTIME, utc_lpLocalTime As utc_SYSTEMTIME) As Long
+Private Declare PtrSafe Function utc_TzSpecificLocalTimeToSystemTime Lib "kernel32" Alias "TzSpecificLocalTimeToSystemTime" _
+ (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpLocalTime As utc_SYSTEMTIME, utc_lpUniversalTime As utc_SYSTEMTIME) As Long
+
+#Else
+
+Private Declare Function utc_GetTimeZoneInformation Lib "kernel32" Alias "GetTimeZoneInformation" _
+ (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION) As Long
+Private Declare Function utc_SystemTimeToTzSpecificLocalTime Lib "kernel32" Alias "SystemTimeToTzSpecificLocalTime" _
+ (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpUniversalTime As utc_SYSTEMTIME, utc_lpLocalTime As utc_SYSTEMTIME) As Long
+Private Declare Function utc_TzSpecificLocalTimeToSystemTime Lib "kernel32" Alias "TzSpecificLocalTimeToSystemTime" _
+ (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpLocalTime As utc_SYSTEMTIME, utc_lpUniversalTime As utc_SYSTEMTIME) As Long
+
+#End If
+
+#If Mac Then
+
+#If VBA7 Then
+Private Type utc_ShellResult
+ utc_Output As String
+ utc_ExitCode As LongPtr
+End Type
+
+#Else
+
+Private Type utc_ShellResult
+ utc_Output As String
+ utc_ExitCode As Long
+End Type
+
+#End If
+
+#Else
+
+Private Type utc_SYSTEMTIME
+ utc_wYear As Integer
+ utc_wMonth As Integer
+ utc_wDayOfWeek As Integer
+ utc_wDay As Integer
+ utc_wHour As Integer
+ utc_wMinute As Integer
+ utc_wSecond As Integer
+ utc_wMilliseconds As Integer
+End Type
+
+Private Type utc_TIME_ZONE_INFORMATION
+ utc_Bias As Long
+ utc_StandardName(0 To 31) As Integer
+ utc_StandardDate As utc_SYSTEMTIME
+ utc_StandardBias As Long
+ utc_DaylightName(0 To 31) As Integer
+ utc_DaylightDate As utc_SYSTEMTIME
+ utc_DaylightBias As Long
+End Type
+
+#End If
+' === End VBA-UTC
+
+Private Type json_Options
+ ' VBA only stores 15 significant digits, so any numbers larger than that are truncated
+ ' This can lead to issues when BIGINT's are used (e.g. for Ids or Credit Cards), as they will be invalid above 15 digits
+ ' See: http://support.microsoft.com/kb/269370
+ '
+ ' By default, VBA-JSON will use String for numbers longer than 15 characters that contain only digits
+ ' to override set `JsonConverter.JsonOptions.UseDoubleForLargeNumbers = True`
+ UseDoubleForLargeNumbers As Boolean
+
+ ' The JSON standard requires object keys to be quoted (" or '), use this option to allow unquoted keys
+ AllowUnquotedKeys As Boolean
+
+ ' The solidus (/) is not required to be escaped, use this option to escape them as \/ in ConvertToJson
+ EscapeSolidus As Boolean
+End Type
+Public JsonOptions As json_Options
+
+' ============================================= '
+' Public Methods
+' ============================================= '
+
+''
+' Convert JSON string to object (Dictionary/Collection)
+'
+' @method ParseJson
+' @param {String} json_String
+' @return {Object} (Dictionary or Collection)
+' @throws 10001 - JSON parse error
+''
+Public Function ParseJson(ByVal JsonString As String) As Object
+ Dim json_Index As Long
+ json_Index = 1
+
+ ' Remove vbCr, vbLf, and vbTab from json_String
+ JsonString = VBA.Replace(VBA.Replace(VBA.Replace(JsonString, VBA.vbCr, ""), VBA.vbLf, ""), VBA.vbTab, "")
+
+ json_SkipSpaces JsonString, json_Index
+ Select Case VBA.Mid$(JsonString, json_Index, 1)
+ Case "{"
+ Set ParseJson = json_ParseObject(JsonString, json_Index)
+ Case "["
+ Set ParseJson = json_ParseArray(JsonString, json_Index)
+ Case Else
+ ' Error: Invalid JSON string
+ Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(JsonString, json_Index, "Expecting '{' or '['")
+ End Select
+End Function
+
+''
+' Convert object (Dictionary/Collection/Array) to JSON
+'
+' @method ConvertToJson
+' @param {Variant} JsonValue (Dictionary, Collection, or Array)
+' @param {Integer|String} Whitespace "Pretty" print json with given number of spaces per indentation (Integer) or given string
+' @return {String}
+''
+Public Function ConvertToJson(ByVal JsonValue As Variant, Optional ByVal Whitespace As Variant, Optional ByVal json_CurrentIndentation As Long = 0) As String
+ Dim json_Buffer As String
+ Dim json_BufferPosition As Long
+ Dim json_BufferLength As Long
+ Dim json_Index As Long
+ Dim json_LBound As Long
+ Dim json_UBound As Long
+ Dim json_IsFirstItem As Boolean
+ Dim json_Index2D As Long
+ Dim json_LBound2D As Long
+ Dim json_UBound2D As Long
+ Dim json_IsFirstItem2D As Boolean
+ Dim json_Key As Variant
+ Dim json_Value As Variant
+ Dim json_DateStr As String
+ Dim json_Converted As String
+ Dim json_SkipItem As Boolean
+ Dim json_PrettyPrint As Boolean
+ Dim json_Indentation As String
+ Dim json_InnerIndentation As String
+
+ json_LBound = -1
+ json_UBound = -1
+ json_IsFirstItem = True
+ json_LBound2D = -1
+ json_UBound2D = -1
+ json_IsFirstItem2D = True
+ json_PrettyPrint = Not IsMissing(Whitespace)
+
+ Select Case VBA.VarType(JsonValue)
+ Case VBA.vbNull
+ ConvertToJson = "null"
+ Case VBA.vbDate
+ ' Date
+ json_DateStr = ConvertToIso(VBA.CDate(JsonValue))
+
+ ConvertToJson = """" & json_DateStr & """"
+ Case VBA.vbString
+ ' String (or large number encoded as string)
+ If Not JsonOptions.UseDoubleForLargeNumbers And json_StringIsLargeNumber(JsonValue) Then
+ ConvertToJson = JsonValue
+ Else
+ ConvertToJson = """" & json_Encode(JsonValue) & """"
+ End If
+ Case VBA.vbBoolean
+ If JsonValue Then
+ ConvertToJson = "true"
+ Else
+ ConvertToJson = "false"
+ End If
+ Case VBA.vbArray To VBA.vbArray + VBA.vbByte
+ If json_PrettyPrint Then
+ If VBA.VarType(Whitespace) = VBA.vbString Then
+ json_Indentation = VBA.String$(json_CurrentIndentation + 1, Whitespace)
+ json_InnerIndentation = VBA.String$(json_CurrentIndentation + 2, Whitespace)
+ Else
+ json_Indentation = VBA.Space$((json_CurrentIndentation + 1) * Whitespace)
+ json_InnerIndentation = VBA.Space$((json_CurrentIndentation + 2) * Whitespace)
+ End If
+ End If
+
+ ' Array
+ json_BufferAppend json_Buffer, "[", json_BufferPosition, json_BufferLength
+
+ On Error Resume Next
+
+ json_LBound = LBound(JsonValue, 1)
+ json_UBound = UBound(JsonValue, 1)
+ json_LBound2D = LBound(JsonValue, 2)
+ json_UBound2D = UBound(JsonValue, 2)
+
+ If json_LBound >= 0 And json_UBound >= 0 Then
+ For json_Index = json_LBound To json_UBound
+ If json_IsFirstItem Then
+ json_IsFirstItem = False
+ Else
+ ' Append comma to previous line
+ json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength
+ End If
+
+ If json_LBound2D >= 0 And json_UBound2D >= 0 Then
+ ' 2D Array
+ If json_PrettyPrint Then
+ json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength
+ End If
+ json_BufferAppend json_Buffer, json_Indentation & "[", json_BufferPosition, json_BufferLength
+
+ For json_Index2D = json_LBound2D To json_UBound2D
+ If json_IsFirstItem2D Then
+ json_IsFirstItem2D = False
+ Else
+ json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength
+ End If
+
+ json_Converted = ConvertToJson(JsonValue(json_Index, json_Index2D), Whitespace, json_CurrentIndentation + 2)
+
+ ' For Arrays/Collections, undefined (Empty/Nothing) is treated as null
+ If json_Converted = "" Then
+ ' (nest to only check if converted = "")
+ If json_IsUndefined(JsonValue(json_Index, json_Index2D)) Then
+ json_Converted = "null"
+ End If
+ End If
+
+ If json_PrettyPrint Then
+ json_Converted = vbNewLine & json_InnerIndentation & json_Converted
+ End If
+
+ json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength
+ Next json_Index2D
+
+ If json_PrettyPrint Then
+ json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength
+ End If
+
+ json_BufferAppend json_Buffer, json_Indentation & "]", json_BufferPosition, json_BufferLength
+ json_IsFirstItem2D = True
+ Else
+ ' 1D Array
+ json_Converted = ConvertToJson(JsonValue(json_Index), Whitespace, json_CurrentIndentation + 1)
+
+ ' For Arrays/Collections, undefined (Empty/Nothing) is treated as null
+ If json_Converted = "" Then
+ ' (nest to only check if converted = "")
+ If json_IsUndefined(JsonValue(json_Index)) Then
+ json_Converted = "null"
+ End If
+ End If
+
+ If json_PrettyPrint Then
+ json_Converted = vbNewLine & json_Indentation & json_Converted
+ End If
+
+ json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength
+ End If
+ Next json_Index
+ End If
+
+ On Error GoTo 0
+
+ If json_PrettyPrint Then
+ json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength
+
+ If VBA.VarType(Whitespace) = VBA.vbString Then
+ json_Indentation = VBA.String$(json_CurrentIndentation, Whitespace)
+ Else
+ json_Indentation = VBA.Space$(json_CurrentIndentation * Whitespace)
+ End If
+ End If
+
+ json_BufferAppend json_Buffer, json_Indentation & "]", json_BufferPosition, json_BufferLength
+
+ ConvertToJson = json_BufferToString(json_Buffer, json_BufferPosition)
+
+ ' Dictionary or Collection
+ Case VBA.vbObject
+ If json_PrettyPrint Then
+ If VBA.VarType(Whitespace) = VBA.vbString Then
+ json_Indentation = VBA.String$(json_CurrentIndentation + 1, Whitespace)
+ Else
+ json_Indentation = VBA.Space$((json_CurrentIndentation + 1) * Whitespace)
+ End If
+ End If
+
+ ' Dictionary
+ If VBA.TypeName(JsonValue) = "Dictionary" Then
+ json_BufferAppend json_Buffer, "{", json_BufferPosition, json_BufferLength
+ For Each json_Key In JsonValue.keys
+ ' For Objects, undefined (Empty/Nothing) is not added to object
+ json_Converted = ConvertToJson(JsonValue(json_Key), Whitespace, json_CurrentIndentation + 1)
+ If json_Converted = "" Then
+ json_SkipItem = json_IsUndefined(JsonValue(json_Key))
+ Else
+ json_SkipItem = False
+ End If
+
+ If Not json_SkipItem Then
+ If json_IsFirstItem Then
+ json_IsFirstItem = False
+ Else
+ json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength
+ End If
+
+ If json_PrettyPrint Then
+ json_Converted = vbNewLine & json_Indentation & """" & json_Key & """: " & json_Converted
+ Else
+ json_Converted = """" & json_Key & """:" & json_Converted
+ End If
+
+ json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength
+ End If
+ Next json_Key
+
+ If json_PrettyPrint Then
+ json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength
+
+ If VBA.VarType(Whitespace) = VBA.vbString Then
+ json_Indentation = VBA.String$(json_CurrentIndentation, Whitespace)
+ Else
+ json_Indentation = VBA.Space$(json_CurrentIndentation * Whitespace)
+ End If
+ End If
+
+ json_BufferAppend json_Buffer, json_Indentation & "}", json_BufferPosition, json_BufferLength
+
+ ' Collection
+ ElseIf VBA.TypeName(JsonValue) = "Collection" Then
+ json_BufferAppend json_Buffer, "[", json_BufferPosition, json_BufferLength
+ For Each json_Value In JsonValue
+ If json_IsFirstItem Then
+ json_IsFirstItem = False
+ Else
+ json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength
+ End If
+
+ json_Converted = ConvertToJson(json_Value, Whitespace, json_CurrentIndentation + 1)
+
+ ' For Arrays/Collections, undefined (Empty/Nothing) is treated as null
+ If json_Converted = "" Then
+ ' (nest to only check if converted = "")
+ If json_IsUndefined(json_Value) Then
+ json_Converted = "null"
+ End If
+ End If
+
+ If json_PrettyPrint Then
+ json_Converted = vbNewLine & json_Indentation & json_Converted
+ End If
+
+ json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength
+ Next json_Value
+
+ If json_PrettyPrint Then
+ json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength
+
+ If VBA.VarType(Whitespace) = VBA.vbString Then
+ json_Indentation = VBA.String$(json_CurrentIndentation, Whitespace)
+ Else
+ json_Indentation = VBA.Space$(json_CurrentIndentation * Whitespace)
+ End If
+ End If
+
+ json_BufferAppend json_Buffer, json_Indentation & "]", json_BufferPosition, json_BufferLength
+ End If
+
+ ConvertToJson = json_BufferToString(json_Buffer, json_BufferPosition)
+ Case VBA.vbInteger, VBA.vbLong, VBA.vbSingle, VBA.vbDouble, VBA.vbCurrency, VBA.vbDecimal
+ ' Number (use decimals for numbers)
+ ConvertToJson = VBA.Replace(JsonValue, ",", ".")
+ Case Else
+ ' vbEmpty, vbError, vbDataObject, vbByte, vbUserDefinedType
+ ' Use VBA's built-in to-string
+ On Error Resume Next
+ ConvertToJson = JsonValue
+ On Error GoTo 0
+ End Select
+End Function
+
+' ============================================= '
+' Private Functions
+' ============================================= '
+
+Private Function json_ParseObject(json_String As String, ByRef json_Index As Long) As Dictionary
+ Dim json_Key As String
+ Dim json_NextChar As String
+
+ Set json_ParseObject = New Dictionary
+ json_SkipSpaces json_String, json_Index
+ If VBA.Mid$(json_String, json_Index, 1) <> "{" Then
+ Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting '{'")
+ Else
+ json_Index = json_Index + 1
+
+ Do
+ json_SkipSpaces json_String, json_Index
+ If VBA.Mid$(json_String, json_Index, 1) = "}" Then
+ json_Index = json_Index + 1
+ Exit Function
+ ElseIf VBA.Mid$(json_String, json_Index, 1) = "," Then
+ json_Index = json_Index + 1
+ json_SkipSpaces json_String, json_Index
+ End If
+
+ json_Key = json_ParseKey(json_String, json_Index)
+ json_NextChar = json_Peek(json_String, json_Index)
+ If json_NextChar = "[" Or json_NextChar = "{" Then
+ Set json_ParseObject.Item(json_Key) = json_ParseValue(json_String, json_Index)
+ Else
+ json_ParseObject.Item(json_Key) = json_ParseValue(json_String, json_Index)
+ End If
+ Loop
+ End If
+End Function
+
+Private Function json_ParseArray(json_String As String, ByRef json_Index As Long) As Collection
+ Set json_ParseArray = New Collection
+
+ json_SkipSpaces json_String, json_Index
+ If VBA.Mid$(json_String, json_Index, 1) <> "[" Then
+ Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting '['")
+ Else
+ json_Index = json_Index + 1
+
+ Do
+ json_SkipSpaces json_String, json_Index
+ If VBA.Mid$(json_String, json_Index, 1) = "]" Then
+ json_Index = json_Index + 1
+ Exit Function
+ ElseIf VBA.Mid$(json_String, json_Index, 1) = "," Then
+ json_Index = json_Index + 1
+ json_SkipSpaces json_String, json_Index
+ End If
+
+ json_ParseArray.Add json_ParseValue(json_String, json_Index)
+ Loop
+ End If
+End Function
+
+Private Function json_ParseValue(json_String As String, ByRef json_Index As Long) As Variant
+ json_SkipSpaces json_String, json_Index
+ Select Case VBA.Mid$(json_String, json_Index, 1)
+ Case "{"
+ Set json_ParseValue = json_ParseObject(json_String, json_Index)
+ Case "["
+ Set json_ParseValue = json_ParseArray(json_String, json_Index)
+ Case """", "'"
+ json_ParseValue = json_ParseString(json_String, json_Index)
+ Case Else
+ If VBA.Mid$(json_String, json_Index, 4) = "true" Then
+ json_ParseValue = True
+ json_Index = json_Index + 4
+ ElseIf VBA.Mid$(json_String, json_Index, 5) = "false" Then
+ json_ParseValue = False
+ json_Index = json_Index + 5
+ ElseIf VBA.Mid$(json_String, json_Index, 4) = "null" Then
+ json_ParseValue = Null
+ json_Index = json_Index + 4
+ ElseIf VBA.InStr("+-0123456789", VBA.Mid$(json_String, json_Index, 1)) Then
+ json_ParseValue = json_ParseNumber(json_String, json_Index)
+ Else
+ Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting 'STRING', 'NUMBER', null, true, false, '{', or '['")
+ End If
+ End Select
+End Function
+
+Private Function json_ParseString(json_String As String, ByRef json_Index As Long) As String
+ Dim json_Quote As String
+ Dim json_Char As String
+ Dim json_Code As String
+ Dim json_Buffer As String
+ Dim json_BufferPosition As Long
+ Dim json_BufferLength As Long
+
+ json_SkipSpaces json_String, json_Index
+
+ ' Store opening quote to look for matching closing quote
+ json_Quote = VBA.Mid$(json_String, json_Index, 1)
+ json_Index = json_Index + 1
+
+ Do While json_Index > 0 And json_Index <= Len(json_String)
+ json_Char = VBA.Mid$(json_String, json_Index, 1)
+
+ Select Case json_Char
+ Case "\"
+ ' Escaped string, \\, or \/
+ json_Index = json_Index + 1
+ json_Char = VBA.Mid$(json_String, json_Index, 1)
+
+ Select Case json_Char
+ Case """", "\", "/", "'"
+ json_BufferAppend json_Buffer, json_Char, json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 1
+ Case "b"
+ json_BufferAppend json_Buffer, vbBack, json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 1
+ Case "f"
+ json_BufferAppend json_Buffer, vbFormFeed, json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 1
+ Case "n"
+ json_BufferAppend json_Buffer, vbCrLf, json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 1
+ Case "r"
+ json_BufferAppend json_Buffer, vbCr, json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 1
+ Case "t"
+ json_BufferAppend json_Buffer, vbTab, json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 1
+ Case "u"
+ ' Unicode character escape (e.g. \u00a9 = Copyright)
+ json_Index = json_Index + 1
+ json_Code = VBA.Mid$(json_String, json_Index, 4)
+ json_BufferAppend json_Buffer, VBA.ChrW(VBA.Val("&h" + json_Code)), json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 4
+ End Select
+ Case json_Quote
+ json_ParseString = json_BufferToString(json_Buffer, json_BufferPosition)
+ json_Index = json_Index + 1
+ Exit Function
+ Case Else
+ json_BufferAppend json_Buffer, json_Char, json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 1
+ End Select
+ Loop
+End Function
+
+Private Function json_ParseNumber(json_String As String, ByRef json_Index As Long) As Variant
+ Dim json_Char As String
+ Dim json_Value As String
+ Dim json_IsLargeNumber As Boolean
+
+ json_SkipSpaces json_String, json_Index
+
+ Do While json_Index > 0 And json_Index <= Len(json_String)
+ json_Char = VBA.Mid$(json_String, json_Index, 1)
+
+ If VBA.InStr("+-0123456789.eE", json_Char) Then
+ ' Unlikely to have massive number, so use simple append rather than buffer here
+ json_Value = json_Value & json_Char
+ json_Index = json_Index + 1
+ Else
+ ' Excel only stores 15 significant digits, so any numbers larger than that are truncated
+ ' This can lead to issues when BIGINT's are used (e.g. for Ids or Credit Cards), as they will be invalid above 15 digits
+ ' See: http://support.microsoft.com/kb/269370
+ '
+ ' Fix: Parse -> String, Convert -> String longer than 15/16 characters containing only numbers and decimal points -> Number
+ ' (decimal doesn't factor into significant digit count, so if present check for 15 digits + decimal = 16)
+ json_IsLargeNumber = IIf(InStr(json_Value, "."), Len(json_Value) >= 17, Len(json_Value) >= 16)
+ If Not JsonOptions.UseDoubleForLargeNumbers And json_IsLargeNumber Then
+ json_ParseNumber = json_Value
+ Else
+ ' VBA.Val does not use regional settings, so guard for comma is not needed
+ json_ParseNumber = VBA.Val(json_Value)
+ End If
+ Exit Function
+ End If
+ Loop
+End Function
+
+Private Function json_ParseKey(json_String As String, ByRef json_Index As Long) As String
+ ' Parse key with single or double quotes
+ If VBA.Mid$(json_String, json_Index, 1) = """" Or VBA.Mid$(json_String, json_Index, 1) = "'" Then
+ json_ParseKey = json_ParseString(json_String, json_Index)
+ ElseIf JsonOptions.AllowUnquotedKeys Then
+ Dim json_Char As String
+ Do While json_Index > 0 And json_Index <= Len(json_String)
+ json_Char = VBA.Mid$(json_String, json_Index, 1)
+ If (json_Char <> " ") And (json_Char <> ":") Then
+ json_ParseKey = json_ParseKey & json_Char
+ json_Index = json_Index + 1
+ Else
+ Exit Do
+ End If
+ Loop
+ Else
+ Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting '""' or '''")
+ End If
+
+ ' Check for colon and skip if present or throw if not present
+ json_SkipSpaces json_String, json_Index
+ If VBA.Mid$(json_String, json_Index, 1) <> ":" Then
+ Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting ':'")
+ Else
+ json_Index = json_Index + 1
+ End If
+End Function
+
+Private Function json_IsUndefined(ByVal json_Value As Variant) As Boolean
+ ' Empty / Nothing -> undefined
+ Select Case VBA.VarType(json_Value)
+ Case VBA.vbEmpty
+ json_IsUndefined = True
+ Case VBA.vbObject
+ Select Case VBA.TypeName(json_Value)
+ Case "Empty", "Nothing"
+ json_IsUndefined = True
+ End Select
+ End Select
+End Function
+
+Private Function json_Encode(ByVal json_Text As Variant) As String
+ ' Reference: http://www.ietf.org/rfc/rfc4627.txt
+ ' Escape: ", \, /, backspace, form feed, line feed, carriage return, tab
+ Dim json_Index As Long
+ Dim json_Char As String
+ Dim json_AscCode As Long
+ Dim json_Buffer As String
+ Dim json_BufferPosition As Long
+ Dim json_BufferLength As Long
+
+ For json_Index = 1 To VBA.Len(json_Text)
+ json_Char = VBA.Mid$(json_Text, json_Index, 1)
+ json_AscCode = VBA.AscW(json_Char)
+
+ ' When AscW returns a negative number, it returns the twos complement form of that number.
+ ' To convert the twos complement notation into normal binary notation, add 0xFFF to the return result.
+ ' https://support.microsoft.com/en-us/kb/272138
+ If json_AscCode < 0 Then
+ json_AscCode = json_AscCode + 65536
+ End If
+
+ ' From spec, ", \, and control characters must be escaped (solidus is optional)
+
+ Select Case json_AscCode
+ Case 34
+ ' " -> 34 -> \"
+ json_Char = "\"""
+ Case 92
+ ' \ -> 92 -> \\
+ json_Char = "\\"
+ Case 47
+ ' / -> 47 -> \/ (optional)
+ If JsonOptions.EscapeSolidus Then
+ json_Char = "\/"
+ End If
+ Case 8
+ ' backspace -> 8 -> \b
+ json_Char = "\b"
+ Case 12
+ ' form feed -> 12 -> \f
+ json_Char = "\f"
+ Case 10
+ ' line feed -> 10 -> \n
+ json_Char = "\n"
+ Case 13
+ ' carriage return -> 13 -> \r
+ json_Char = "\r"
+ Case 9
+ ' tab -> 9 -> \t
+ json_Char = "\t"
+ Case 0 To 31, 127 To 65535
+ ' Non-ascii characters -> convert to 4-digit hex
+ json_Char = "\u" & VBA.Right$("0000" & VBA.Hex$(json_AscCode), 4)
+ End Select
+
+ json_BufferAppend json_Buffer, json_Char, json_BufferPosition, json_BufferLength
+ Next json_Index
+
+ json_Encode = json_BufferToString(json_Buffer, json_BufferPosition)
+End Function
+
+Private Function json_Peek(json_String As String, ByVal json_Index As Long, Optional json_NumberOfCharacters As Long = 1) As String
+ ' "Peek" at the next number of characters without incrementing json_Index (ByVal instead of ByRef)
+ json_SkipSpaces json_String, json_Index
+ json_Peek = VBA.Mid$(json_String, json_Index, json_NumberOfCharacters)
+End Function
+
+Private Sub json_SkipSpaces(json_String As String, ByRef json_Index As Long)
+ ' Increment index to skip over spaces
+ Do While json_Index > 0 And json_Index <= VBA.Len(json_String) And VBA.Mid$(json_String, json_Index, 1) = " "
+ json_Index = json_Index + 1
+ Loop
+End Sub
+
+Private Function json_StringIsLargeNumber(json_String As Variant) As Boolean
+ ' Check if the given string is considered a "large number"
+ ' (See json_ParseNumber)
+
+ Dim json_Length As Long
+ Dim json_CharIndex As Long
+ json_Length = VBA.Len(json_String)
+
+ ' Length with be at least 16 characters and assume will be less than 100 characters
+ If json_Length >= 16 And json_Length <= 100 Then
+ Dim json_CharCode As String
+
+ json_StringIsLargeNumber = True
+
+ For json_CharIndex = 1 To json_Length
+ json_CharCode = VBA.Asc(VBA.Mid$(json_String, json_CharIndex, 1))
+ Select Case json_CharCode
+ ' Look for .|0-9|E|e
+ Case 46, 48 To 57, 69, 101
+ ' Continue through characters
+ Case Else
+ json_StringIsLargeNumber = False
+ Exit Function
+ End Select
+ Next json_CharIndex
+ End If
+End Function
+
+Private Function json_ParseErrorMessage(json_String As String, ByRef json_Index As Long, ErrorMessage As String)
+ ' Provide detailed parse error message, including details of where and what occurred
+ '
+ ' Example:
+ ' Error parsing JSON:
+ ' {"abcde":True}
+ ' ^
+ ' Expecting 'STRING', 'NUMBER', null, true, false, '{', or '['
+
+ Dim json_StartIndex As Long
+ Dim json_StopIndex As Long
+
+ ' Include 10 characters before and after error (if possible)
+ json_StartIndex = json_Index - 10
+ json_StopIndex = json_Index + 10
+ If json_StartIndex <= 0 Then
+ json_StartIndex = 1
+ End If
+ If json_StopIndex > VBA.Len(json_String) Then
+ json_StopIndex = VBA.Len(json_String)
+ End If
+
+ json_ParseErrorMessage = "Error parsing JSON:" & VBA.vbNewLine & _
+ VBA.Mid$(json_String, json_StartIndex, json_StopIndex - json_StartIndex + 1) & VBA.vbNewLine & _
+ VBA.Space$(json_Index - json_StartIndex) & "^" & VBA.vbNewLine & _
+ ErrorMessage
+End Function
+
+Private Sub json_BufferAppend(ByRef json_Buffer As String, _
+ ByRef json_Append As Variant, _
+ ByRef json_BufferPosition As Long, _
+ ByRef json_BufferLength As Long)
+ ' VBA can be slow to append strings due to allocating a new string for each append
+ ' Instead of using the traditional append, allocate a large empty string and then copy string at append position
+ '
+ ' Example:
+ ' Buffer: "abc "
+ ' Append: "def"
+ ' Buffer Position: 3
+ ' Buffer Length: 5
+ '
+ ' Buffer position + Append length > Buffer length -> Append chunk of blank space to buffer
+ ' Buffer: "abc "
+ ' Buffer Length: 10
+ '
+ ' Put "def" into buffer at position 3 (0-based)
+ ' Buffer: "abcdef "
+ '
+ ' Approach based on cStringBuilder from vbAccelerator
+ ' http://www.vbaccelerator.com/home/VB/Code/Techniques/RunTime_Debug_Tracing/VB6_Tracer_Utility_zip_cStringBuilder_cls.asp
+ '
+ ' and clsStringAppend from Philip Swannell
+ ' https://github.com/VBA-tools/VBA-JSON/pull/82
+
+ Dim json_AppendLength As Long
+ Dim json_LengthPlusPosition As Long
+
+ json_AppendLength = VBA.Len(json_Append)
+ json_LengthPlusPosition = json_AppendLength + json_BufferPosition
+
+ If json_LengthPlusPosition > json_BufferLength Then
+ ' Appending would overflow buffer, add chunk
+ ' (double buffer length or append length, whichever is bigger)
+ Dim json_AddedLength As Long
+ json_AddedLength = IIf(json_AppendLength > json_BufferLength, json_AppendLength, json_BufferLength)
+
+ json_Buffer = json_Buffer & VBA.Space$(json_AddedLength)
+ json_BufferLength = json_BufferLength + json_AddedLength
+ End If
+
+ ' Note: Namespacing with VBA.Mid$ doesn't work properly here, throwing compile error:
+ ' Function call on left-hand side of assignment must return Variant or Object
+ Mid$(json_Buffer, json_BufferPosition + 1, json_AppendLength) = CStr(json_Append)
+ json_BufferPosition = json_BufferPosition + json_AppendLength
+End Sub
+
+Private Function json_BufferToString(ByRef json_Buffer As String, ByVal json_BufferPosition As Long) As String
+ If json_BufferPosition > 0 Then
+ json_BufferToString = VBA.Left$(json_Buffer, json_BufferPosition)
+ End If
+End Function
+
+''
+' VBA-UTC v1.0.6
+' (c) Tim Hall - https://github.com/VBA-tools/VBA-UtcConverter
+'
+' UTC/ISO 8601 Converter for VBA
+'
+' Errors:
+' 10011 - UTC parsing error
+' 10012 - UTC conversion error
+' 10013 - ISO 8601 parsing error
+' 10014 - ISO 8601 conversion error
+'
+' @module UtcConverter
+' @author tim.hall.engr@gmail.com
+' @license MIT (http://www.opensource.org/licenses/mit-license.php)
+'' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ '
+
+' (Declarations moved to top)
+
+' ============================================= '
+' Public Methods
+' ============================================= '
+
+''
+' Parse UTC date to local date
+'
+' @method ParseUtc
+' @param {Date} UtcDate
+' @return {Date} Local date
+' @throws 10011 - UTC parsing error
+''
+Public Function ParseUtc(utc_UtcDate As Date) As Date
+ On Error GoTo utc_ErrorHandling
+
+#If Mac Then
+ ParseUtc = utc_ConvertDate(utc_UtcDate)
+#Else
+ Dim utc_TimeZoneInfo As utc_TIME_ZONE_INFORMATION
+ Dim utc_LocalDate As utc_SYSTEMTIME
+
+ utc_GetTimeZoneInformation utc_TimeZoneInfo
+ utc_SystemTimeToTzSpecificLocalTime utc_TimeZoneInfo, utc_DateToSystemTime(utc_UtcDate), utc_LocalDate
+
+ ParseUtc = utc_SystemTimeToDate(utc_LocalDate)
+#End If
+
+ Exit Function
+
+utc_ErrorHandling:
+ Err.Raise 10011, "UtcConverter.ParseUtc", "UTC parsing error: " & Err.Number & " - " & Err.Description
+End Function
+
+''
+' Convert local date to UTC date
+'
+' @method ConvertToUrc
+' @param {Date} utc_LocalDate
+' @return {Date} UTC date
+' @throws 10012 - UTC conversion error
+''
+Public Function ConvertToUtc(utc_LocalDate As Date) As Date
+ On Error GoTo utc_ErrorHandling
+
+#If Mac Then
+ ConvertToUtc = utc_ConvertDate(utc_LocalDate, utc_ConvertToUtc:=True)
+#Else
+ Dim utc_TimeZoneInfo As utc_TIME_ZONE_INFORMATION
+ Dim utc_UtcDate As utc_SYSTEMTIME
+
+ utc_GetTimeZoneInformation utc_TimeZoneInfo
+ utc_TzSpecificLocalTimeToSystemTime utc_TimeZoneInfo, utc_DateToSystemTime(utc_LocalDate), utc_UtcDate
+
+ ConvertToUtc = utc_SystemTimeToDate(utc_UtcDate)
+#End If
+
+ Exit Function
+
+utc_ErrorHandling:
+ Err.Raise 10012, "UtcConverter.ConvertToUtc", "UTC conversion error: " & Err.Number & " - " & Err.Description
+End Function
+
+''
+' Parse ISO 8601 date string to local date
+'
+' @method ParseIso
+' @param {Date} utc_IsoString
+' @return {Date} Local date
+' @throws 10013 - ISO 8601 parsing error
+''
+Public Function ParseIso(utc_IsoString As String) As Date
+ On Error GoTo utc_ErrorHandling
+
+ Dim utc_Parts() As String
+ Dim utc_DateParts() As String
+ Dim utc_TimeParts() As String
+ Dim utc_OffsetIndex As Long
+ Dim utc_HasOffset As Boolean
+ Dim utc_NegativeOffset As Boolean
+ Dim utc_OffsetParts() As String
+ Dim utc_Offset As Date
+
+ utc_Parts = VBA.Split(utc_IsoString, "T")
+ utc_DateParts = VBA.Split(utc_Parts(0), "-")
+ ParseIso = VBA.DateSerial(VBA.CInt(utc_DateParts(0)), VBA.CInt(utc_DateParts(1)), VBA.CInt(utc_DateParts(2)))
+
+ If UBound(utc_Parts) > 0 Then
+ If VBA.InStr(utc_Parts(1), "Z") Then
+ utc_TimeParts = VBA.Split(VBA.Replace(utc_Parts(1), "Z", ""), ":")
+ Else
+ utc_OffsetIndex = VBA.InStr(1, utc_Parts(1), "+")
+ If utc_OffsetIndex = 0 Then
+ utc_NegativeOffset = True
+ utc_OffsetIndex = VBA.InStr(1, utc_Parts(1), "-")
+ End If
+
+ If utc_OffsetIndex > 0 Then
+ utc_HasOffset = True
+ utc_TimeParts = VBA.Split(VBA.Left$(utc_Parts(1), utc_OffsetIndex - 1), ":")
+ utc_OffsetParts = VBA.Split(VBA.Right$(utc_Parts(1), Len(utc_Parts(1)) - utc_OffsetIndex), ":")
+
+ Select Case UBound(utc_OffsetParts)
+ Case 0
+ utc_Offset = TimeSerial(VBA.CInt(utc_OffsetParts(0)), 0, 0)
+ Case 1
+ utc_Offset = TimeSerial(VBA.CInt(utc_OffsetParts(0)), VBA.CInt(utc_OffsetParts(1)), 0)
+ Case 2
+ ' VBA.Val does not use regional settings, use for seconds to avoid decimal/comma issues
+ utc_Offset = TimeSerial(VBA.CInt(utc_OffsetParts(0)), VBA.CInt(utc_OffsetParts(1)), Int(VBA.Val(utc_OffsetParts(2))))
+ End Select
+
+ If utc_NegativeOffset Then: utc_Offset = -utc_Offset
+ Else
+ utc_TimeParts = VBA.Split(utc_Parts(1), ":")
+ End If
+ End If
+
+ Select Case UBound(utc_TimeParts)
+ Case 0
+ ParseIso = ParseIso + VBA.TimeSerial(VBA.CInt(utc_TimeParts(0)), 0, 0)
+ Case 1
+ ParseIso = ParseIso + VBA.TimeSerial(VBA.CInt(utc_TimeParts(0)), VBA.CInt(utc_TimeParts(1)), 0)
+ Case 2
+ ' VBA.Val does not use regional settings, use for seconds to avoid decimal/comma issues
+ ParseIso = ParseIso + VBA.TimeSerial(VBA.CInt(utc_TimeParts(0)), VBA.CInt(utc_TimeParts(1)), Int(VBA.Val(utc_TimeParts(2))))
+ End Select
+
+ ParseIso = ParseUtc(ParseIso)
+
+ If utc_HasOffset Then
+ ParseIso = ParseIso - utc_Offset
+ End If
+ End If
+
+ Exit Function
+
+utc_ErrorHandling:
+ Err.Raise 10013, "UtcConverter.ParseIso", "ISO 8601 parsing error for " & utc_IsoString & ": " & Err.Number & " - " & Err.Description
+End Function
+
+''
+' Convert local date to ISO 8601 string
+'
+' @method ConvertToIso
+' @param {Date} utc_LocalDate
+' @return {Date} ISO 8601 string
+' @throws 10014 - ISO 8601 conversion error
+''
+Public Function ConvertToIso(utc_LocalDate As Date) As String
+ On Error GoTo utc_ErrorHandling
+
+ ConvertToIso = VBA.Format$(ConvertToUtc(utc_LocalDate), "yyyy-mm-ddTHH:mm:ss.000Z")
+
+ Exit Function
+
+utc_ErrorHandling:
+ Err.Raise 10014, "UtcConverter.ConvertToIso", "ISO 8601 conversion error: " & Err.Number & " - " & Err.Description
+End Function
+
+' ============================================= '
+' Private Functions
+' ============================================= '
+
+#If Mac Then
+
+Private Function utc_ConvertDate(utc_Value As Date, Optional utc_ConvertToUtc As Boolean = False) As Date
+ Dim utc_ShellCommand As String
+ Dim utc_Result As utc_ShellResult
+ Dim utc_Parts() As String
+ Dim utc_DateParts() As String
+ Dim utc_TimeParts() As String
+
+ If utc_ConvertToUtc Then
+ utc_ShellCommand = "date -ur `date -jf '%Y-%m-%d %H:%M:%S' " & _
+ "'" & VBA.Format$(utc_Value, "yyyy-mm-dd HH:mm:ss") & "' " & _
+ " +'%s'` +'%Y-%m-%d %H:%M:%S'"
+ Else
+ utc_ShellCommand = "date -jf '%Y-%m-%d %H:%M:%S %z' " & _
+ "'" & VBA.Format$(utc_Value, "yyyy-mm-dd HH:mm:ss") & " +0000' " & _
+ "+'%Y-%m-%d %H:%M:%S'"
+ End If
+
+ utc_Result = utc_ExecuteInShell(utc_ShellCommand)
+
+ If utc_Result.utc_Output = "" Then
+ Err.Raise 10015, "UtcConverter.utc_ConvertDate", "'date' command failed"
+ Else
+ utc_Parts = Split(utc_Result.utc_Output, " ")
+ utc_DateParts = Split(utc_Parts(0), "-")
+ utc_TimeParts = Split(utc_Parts(1), ":")
+
+ utc_ConvertDate = DateSerial(utc_DateParts(0), utc_DateParts(1), utc_DateParts(2)) + _
+ TimeSerial(utc_TimeParts(0), utc_TimeParts(1), utc_TimeParts(2))
+ End If
+End Function
+
+Private Function utc_ExecuteInShell(utc_ShellCommand As String) As utc_ShellResult
+#If VBA7 Then
+ Dim utc_File As LongPtr
+ Dim utc_Read As LongPtr
+#Else
+ Dim utc_File As Long
+ Dim utc_Read As Long
+#End If
+
+ Dim utc_Chunk As String
+
+ On Error GoTo utc_ErrorHandling
+ utc_File = utc_popen(utc_ShellCommand, "r")
+
+ If utc_File = 0 Then: Exit Function
+
+ Do While utc_feof(utc_File) = 0
+ utc_Chunk = VBA.Space$(50)
+ utc_Read = CLng(utc_fread(utc_Chunk, 1, Len(utc_Chunk) - 1, utc_File))
+ If utc_Read > 0 Then
+ utc_Chunk = VBA.Left$(utc_Chunk, CLng(utc_Read))
+ utc_ExecuteInShell.utc_Output = utc_ExecuteInShell.utc_Output & utc_Chunk
+ End If
+ Loop
+
+utc_ErrorHandling:
+ utc_ExecuteInShell.utc_ExitCode = CLng(utc_pclose(utc_File))
+End Function
+
+#Else
+
+Private Function utc_DateToSystemTime(utc_Value As Date) As utc_SYSTEMTIME
+ utc_DateToSystemTime.utc_wYear = VBA.Year(utc_Value)
+ utc_DateToSystemTime.utc_wMonth = VBA.Month(utc_Value)
+ utc_DateToSystemTime.utc_wDay = VBA.Day(utc_Value)
+ utc_DateToSystemTime.utc_wHour = VBA.Hour(utc_Value)
+ utc_DateToSystemTime.utc_wMinute = VBA.Minute(utc_Value)
+ utc_DateToSystemTime.utc_wSecond = VBA.Second(utc_Value)
+ utc_DateToSystemTime.utc_wMilliseconds = 0
+End Function
+
+Private Function utc_SystemTimeToDate(utc_Value As utc_SYSTEMTIME) As Date
+ utc_SystemTimeToDate = DateSerial(utc_Value.utc_wYear, utc_Value.utc_wMonth, utc_Value.utc_wDay) + _
+ TimeSerial(utc_Value.utc_wHour, utc_Value.utc_wMinute, utc_Value.utc_wSecond)
+End Function
+
+#End If
diff --git a/XVBA/事業計画集計/vba-files/Module/Module1.bas b/XVBA/事業計画集計/vba-files/Module/Module1.bas
new file mode 100644
index 00000000..bb9d63fd
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Module/Module1.bas
@@ -0,0 +1,301 @@
+Attribute VB_Name = "Module1"
+Option Explicit
+
+'ʕϐ
+Public ƌve[uID As String
+Public apiKey As String
+Public baseURL As String
+Public Nx As String
+
+Public GNX|[g1 As String
+Public GNX|[g2 As String
+
+'Jn
+Sub run()
+ Debug.Print "------ START ------"
+ 'smF
+ Dim rc As VbMsgBoxResult
+ rc = MsgBox("vU^[ŐV̎ƌvf[^擾܂H" & Chr(13) & "̏ɂ͏XԂ|܂", vbYesNo + vbQuestion)
+
+ If rc = vbYes Then
+ Worksheets("sx\Wv").Cells(1, 9) = "擾..."
+ Application.ScreenUpdating = False 'ʍXV~
+ Application.Calculation = xlManual 'vZ~
+
+ '
+ Call init
+
+ 'ƌvf[^擾P
+ Dim resCSV As Variant
+ resCSV = ƌvCSVGNX|[g(GNX|[g1 & "")
+ 'CSVf[^V[gɕۑ
+ Call CSVf[^ۑ1(resCSV, ƌve[uID & "")
+
+ 'ƌvf[^擾Q
+ resCSV = ƌvCSVGNX|[g(GNX|[g2 & "")
+ 'CSVf[^V[gɕۑ
+ Call CSVf[^ۑ2(resCSV)
+
+ 'Worksheets("sx\Wv").Range("B2").Select
+ Worksheets("sx\Wv").Cells(1, 9) = "擾"
+
+ Application.Calculation = xlAutomatic 'vZJn
+ Application.ScreenUpdating = True 'ʍXVJn
+ Else
+ MsgBox "𒆎~܂", vbCritical
+
+ End If
+
+ Debug.Print "------ "
+ Debug.Print "------ END ------"
+
+End Sub
+
+Function init()
+ 'pubNϐɒli[
+ 'ƌve[u 214737
+ ƌve[uID = Range("ƌve[uID").Value
+ Nx = Range("Nx").Value
+ GNX|[g1 = Range("GNX|[g1").Value
+ GNX|[g2 = Range("GNX|[g2").Value
+
+ 'Pleasanter API KEY
+ apiKey = "6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d"
+ baseURL = "https://nextoffice.Next-hd.co.jp"
+
+End Function
+
+Function ƌvCSVGNX|[g(exportId As String) As Variant
+ 'ʕϐ
+ Dim apiUrl As String
+ Dim apiUrlParam As String
+
+ 'NGXgURL
+ apiUrl = baseURL & "/pleasanter/api/items/" & ƌve[uID & "/"
+ apiUrlParam = "export"
+
+ 'wb_
+ Dim apiHeaders As New Dictionary
+ apiHeaders.Add "Content-Type", "application/json;charset=utf-8"
+
+ 'NGXgf[^
+ Dim apiBody As New Dictionary
+ apiBody.Add "ApiVersion", "1.1"
+ apiBody.Add "ApiKey", apiKey
+ apiBody.Add "ExportId", exportId
+
+ 'Filterϐ
+ Dim colFilter As New Dictionary
+ colFilter.Add "ClassZ", "[" & Nx & "]"
+
+ '\[gw
+ Dim colSorter As New Dictionary
+ colSorter.Add "Num199", "asc"
+ colSorter.Add "ClassA", "asc"
+ colSorter.Add "ClassB", "asc"
+
+ 'Viewϐ
+ Dim view As New Dictionary
+ view.Add "ColumnFilterHash", colFilter
+ view.Add "ColumnSorterHash", colSorter
+ apiBody.Add "View", view
+
+ 'HTTPNGXgM\bhĂяo
+ Dim res As Object
+ Set res = callRestApi("POST", apiUrl, apiUrlParam, apiHeaders, apiBody)
+
+ If res("StatusCode") = 200 Then
+ Debug.Print "---- CSVf[^̎擾ɐ܂"
+ ƌvCSVGNX|[g = res("Response")("Content")
+
+ End If
+
+End Function
+
+Function CSVf[^ۑ1(csvData As Variant, targetSheet As String)
+ Debug.Print "------ CSVf[^V[gɏo͊Jn"
+ 'CSVf[^ue[uvɏo͂鏈
+ Dim ws As Worksheet
+ Set ws = ThisWorkbook.Sheets(targetSheet & "")
+ ws.Cells.ClearContents
+
+ Dim lines() As String
+ lines = Split(csvData, vbCrLf)
+
+ Dim i As Long, j As Long
+ Dim maxCols As Long
+ Dim values() As String
+ Dim arr() As Variant
+
+ '܂ő擾
+ For i = LBound(lines) To UBound(lines)
+ If Trim(lines(i)) <> "" Then
+ values = Split(lines(i), ",")
+ If UBound(values) + 1 > maxCols Then
+ maxCols = UBound(values) + 1
+ End If
+ End If
+ Next i
+
+ 'z
+ ReDim arr(0 To UBound(lines), 0 To maxCols - 1)
+
+ 'zɊi[
+ For i = LBound(lines) To UBound(lines)
+ If Trim(lines(i)) <> "" Then
+ values = Split(lines(i), ",")
+ For j = LBound(values) To UBound(values)
+ arr(i, j) = values(j)
+ Next j
+ End If
+ Next i
+
+ 'V[gɏo
+ ws.Range(ws.Cells(1, 1), ws.Cells(UBound(arr, 1) + 1, UBound(arr, 2) + 1)).Value = arr
+
+ Debug.Print "------ "
+ Debug.Print "------ CSVf[^V[gɏo͊"
+End Function
+
+
+
+Function CSVf[^ۑ2(csvData As Variant)
+ Debug.Print "------ CSVf[^XܕʃV[gɏo͊Jn"
+ Dim lines() As String
+ lines = Split(csvData, vbCrLf)
+
+ Dim i As Long, j As Long
+
+ For i = LBound(lines) To UBound(lines)
+ If Trim(lines(i)) <> "" Then
+ Call V[g쐬(lines(i))
+ Call f[^V[gۑ(lines(i))
+ End If
+ Next i
+
+
+ Debug.Print "------ "
+ Debug.Print "------ CSVf[^XܕʃV[gɏo͊"
+End Function
+
+Function V[g쐬(data As String)
+ Dim values() As String
+ values = Split(data, vbTab)
+
+ Dim Xܖ As String
+ Xܖ = values(1)
+ Dim As String
+ = values(2)
+
+ 'eV[g݊mF
+ Dim V[gExist As Boolean
+ Dim vV[gExist As Boolean
+ Dim DATAV[gExist As Boolean
+
+ V[gExist = V[gmF(Xܖ & "_")
+ vV[gExist = V[gmF(Xܖ & "_v")
+ DATAV[gExist = V[gmF(Xܖ & "_DATA")
+
+ 'V[g쐬
+ If V[gExist = False Then
+ If = "1" Then
+ Worksheets("ev[g2").Copy After:=Worksheets(Worksheets.count)
+ Else
+ Worksheets("ev[g1").Copy After:=Worksheets(Worksheets.count)
+ End If
+
+ ActiveSheet.Name = Xܖ & "_"
+ ActiveSheet.Range("A1") = Xܖ
+ If = "" Then
+ ActiveSheet.Range("A3") = "False"
+ Else
+ ActiveSheet.Range("A3") = "True"
+ End If
+ End If
+
+ If vV[gExist = False Then
+ Worksheets("vev[g").Copy After:=Worksheets(Xܖ & "_")
+ ActiveSheet.Name = Xܖ & "_v"
+ ActiveSheet.Range("A1") = Xܖ
+ If = "" Then
+ ActiveSheet.Range("A3") = "False"
+ Else
+ ActiveSheet.Range("A3") = "True"
+ End If
+ End If
+
+ If DATAV[gExist = False Then
+ Worksheets("DATAev[g").Copy After:=Worksheets(Xܖ & "_v")
+ ActiveSheet.Name = Xܖ & "_DATA"
+ 'ActiveSheet.Visible = False
+ End If
+
+
+End Function
+
+Function f[^V[gۑ(data As String)
+ Dim values() As String
+ values = Split(data, vbTab)
+
+ Dim Xܖ As String
+ Xܖ = values(1)
+
+ Dim ws As Worksheet
+ Set ws = ThisWorkbook.Sheets(Xܖ & "_DATA")
+
+ 'V[gNA
+ 'ws.Visible = True
+ 'ws.Select
+ ws.Range("C4:CG68").ClearContents
+
+ 'f[^V[gɕۑ
+ Dim num As Long , i As Long, j As Long, x As Long, y As Long
+ Dim dataStr As String
+ Dim dataObj As Object
+
+ num = 3
+ Dim arrData() As Variant
+ ReDim arrData(1 To 65, 1 To 83)
+
+ x = 1
+ y = 1
+
+ For i = 1 To 6
+ For j = 1 To 12
+ dataStr = values(num)
+ Set dataObj = JsonConverter.ParseJson(dataStr)
+
+ Dim var, y1 As Long, x1 As Long
+ y1 = y
+ x1 = x
+ For Each var In dataObj
+ 'Debug.Print "VAR1:" & var("1") , "VAR2:" & var("2") , "VAR3:" & var("3") , "VAR4:" & var("4") , "VAR6:" & var("6") , "VAR7:" & var("7")
+ arrData(x, y) = tϊ(var("1"))
+ y = y + 1
+ arrData(x, y) = var("2")
+ y = y + 1
+ arrData(x, y) = var("3")
+ y = y + 1
+ arrData(x, y) = var("4")
+ y = y + 1
+ arrData(x, y) = var("6")
+ y = y + 1
+ arrData(x, y) = var("7")
+ y = y1
+ x = x + 1
+ Next var
+ y = y1 + 7
+ x = x1
+ num = num + 1
+ Next j
+
+ y = 1
+ x = x + 11
+ Next i
+
+ 'f[^̏
+ ws.Range("C4").Resize(UBound(arrData, 1), UBound(arrData, 2)).Value = arrData
+ 'Debug.Print "---- " & Xܖ & " DATAV[gɃf[^ۑ܂"
+
+ ws.Visible = False
+End Function
diff --git a/XVBA/事業計画集計/vba-files/Module/Module2.bas b/XVBA/事業計画集計/vba-files/Module/Module2.bas
new file mode 100644
index 00000000..834e239c
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Module/Module2.bas
@@ -0,0 +1,57 @@
+Attribute VB_Name = "Module2"
+Option Explicit
+
+'******************************************************************************
+'REST APIďo
+'@method@GetPOST
+'@url@REST APIURL
+'@urlParam@NGXgp[^iIvVj
+'@headers@wb_iIvVj
+Function callRestApi(Byval method As String, Byval url As String, Optional Byval urlParam As String = "", Optional Byval headers As Dictionary = Null, Optional Byval body As Dictionary = Null) As Object
+
+ 'HTTPNGXg̃IuWFNg`
+ Dim objHTTP As Object
+ Set objHTTP = New XMLHTTP60
+
+ 'HTTPNGXg̐ڑݒ
+ objHTTP.Open method, url & urlParam, False
+
+ 'NGXgwb_[ݒiꍇsetRequestHeaderΗǂ̂`j
+ Dim i As Long
+ For i = 0 To headers.count - 1
+ objHTTP.setRequestHeader headers.keys(i), headers.items(i)
+ Next i
+
+ 'NGXgM
+ objHTTP.send JsonConverter.ConvertToJson(body)
+
+ Do While objHTTP.readyState < 4
+ DoEvents
+ Loop
+
+ 'X|X̕iobjHTTP.responseTextjJsonɕϊĕԋp
+ Set callRestApi = JsonConverter.ParseJson(objHTTP.responseText)
+
+End Function
+
+'̓tϊ
+Function tϊ(Byval dateVal As String) As Variant
+ If dateVal = "1899-12-30T00:00:00" Then
+ tϊ = ""
+ Elseif dateVal = "" Then
+ tϊ = ""
+ Else
+ dateVal = Replace(dateVal, ".000Z", "")
+ tϊ = CDate(Replace(dateVal, "T", " "))
+ End If
+End Function
+
+'V[g̑݊mF
+Function V[gmF(SheetName As String, Optional wb As Excel.Workbook) As Boolean
+ Dim Sh As Excel.Worksheet
+ If wb Is Nothing Then Set wb = ThisWorkbook
+ On Error Resume Next
+ Set Sh = wb.Sheets(SheetName)
+ On Error Goto 0
+ V[gmF = Not Sh Is Nothing
+End Function
\ No newline at end of file
diff --git a/XVBA/事業計画集計/vba-files/Module/Module3.bas b/XVBA/事業計画集計/vba-files/Module/Module3.bas
new file mode 100644
index 00000000..c18ed945
--- /dev/null
+++ b/XVBA/事業計画集計/vba-files/Module/Module3.bas
@@ -0,0 +1,55 @@
+Attribute VB_Name = "Module3"
+Option Explicit
+
+Sub V[g܂Ƃ߂čĕ\()
+ Application.ScreenUpdating = False 'ʍXV~
+ Application.Calculation = xlManual 'vZ~
+ Debug.Print "---START---"
+
+ Dim ws As Worksheet
+ For Each ws In Worksheets
+ ws.Visible = True
+ Next
+
+ Debug.Print "--- END ---"
+ Application.Calculation = xlAutomatic 'vZJn
+ Application.ScreenUpdating = True 'ʍXVJn
+
+End Sub
+
+Sub wV[g폜()
+ Debug.Print "------ wV[g폜 Jn ------"
+ Application.ScreenUpdating = False 'ʍXV~
+ Application.Calculation = xlManual 'vZ~
+
+ Dim ws As Worksheet
+ Dim wsToDelete As Collection
+ Dim nameEndings As Variant
+ Dim ending As Variant
+ Dim i As Long
+
+ Set wsToDelete = New Collection
+ nameEndings = Array("_", "_v", "_DATA")
+
+ ' ΏۃV[gW
+ For Each ws In Worksheets
+ For Each ending In nameEndings
+ If Right(ws.Name, Len(ending)) = ending Then
+ wsToDelete.Add ws
+ Exit For
+ End If
+ Next ending
+ Next ws
+
+ ' V[g폜itŁj
+ Application.DisplayAlerts = False
+ For i = wsToDelete.Count To 1 Step -1
+ wsToDelete(i).Delete
+ Next i
+ Application.DisplayAlerts = True
+
+ Application.Calculation = xlAutomatic 'vZJn
+ Application.ScreenUpdating = True 'ʍXVJn
+
+ Debug.Print "------ wV[g폜 I ------"
+End Sub
\ No newline at end of file
diff --git a/XVBA/事業計画集計/xvba_modules/Xdebug/CHANGELOG.md b/XVBA/事業計画集計/xvba_modules/Xdebug/CHANGELOG.md
new file mode 100644
index 00000000..f1f3ad96
--- /dev/null
+++ b/XVBA/事業計画集計/xvba_modules/Xdebug/CHANGELOG.md
@@ -0,0 +1,13 @@
+# Changelog
+## Xdebug (Under Construction)
+
+- This package provides a way to simulate VBA Immediate Window in Output VSCode window
+
+## [1.0.0b0] - 2020-09-16
+### Added
+ - Create XDebug.printx
+ - Create XDebug.printError
+
+
+
+
\ No newline at end of file
diff --git a/XVBA/事業計画集計/xvba_modules/Xdebug/README.md b/XVBA/事業計画集計/xvba_modules/Xdebug/README.md
new file mode 100644
index 00000000..9d8b74f0
--- /dev/null
+++ b/XVBA/事業計画集計/xvba_modules/Xdebug/README.md
@@ -0,0 +1,58 @@
+# Xdebug (VBA Immediate Window in Output VSCode Window)
+
+## Description
+ - This package provides a way to simulate VBA Immediate Window in Output VSCode window
+ - Find the Output window (VBA Immediate Window)
+
+ ## Methods
+
+
+
+
+
+
+ ### Xdebug.printx
+
+- This method print any type os variable
+
+
+```
+
+Public Sub index()
+
+
+ Dim test(1) As Variant
+
+ 'Add an Object
+ Set test(0) = Sheets(1)
+ 'Add a String
+ test(1) = "Test Xdebug Output"
+
+ Xdebug.printx test
+
+End Sub
+
+```
+
+
+ ### Xdebug.printError
+
+- This method is use for print error
+
+
+```
+ Public Sub index()
+
+ On Error GoTo ErrorHandle:
+ 'throw an error
+ d = 1/0
+ 'Your code here
+
+
+ ErrorHandle:
+ Xdebug.errorSource = "pageConsoller.index"
+ Xdebug.printError
+
+ End Sub
+```
+
diff --git a/XVBA/事業計画集計/xvba_modules/Xdebug/Xdebug.cls b/XVBA/事業計画集計/xvba_modules/Xdebug/Xdebug.cls
new file mode 100644
index 00000000..dd1b1d3b
--- /dev/null
+++ b/XVBA/事業計画集計/xvba_modules/Xdebug/Xdebug.cls
@@ -0,0 +1,241 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Xdebug"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = False
+
+'namespace=xvba_modules\Xdebug
+
+Public env As String
+
+'Example of Package Create by XVBA-CLI
+
+Private OS_TMP__FOLDER_PATH As String
+
+Private IMMEDIATE_FOLDER As String
+
+Private IMMEDIATE_FILE As String
+
+Private DEBUG_FILE_PATH As String
+
+Const EMPTY_TYPE = 0
+Const NULL_TYPE = 1
+Const ERROR_TYPE = 10
+Const INTEGER_TYPE = 2
+Const LONG_TYPE = 3
+Const SINGLE_TYPE = 4
+Const DOUBLE_TYPE = 5
+Const CURRENCY_TYPE = 6
+Const DATE_TYPE = 7
+Const DECIMAL_TYPE = 14
+Const LONG_LONG_TYPE = 20
+Const BOOLEAN_TYPE = 11
+Const STRING_TYPE = 8
+Const ARRAY_TYPE = 8204
+Const OBJECT_TYPE = 9
+Const VARIANT_TYPE = 12
+Const DATA_OBJECT_TYPE = 13
+Private Const MESSAGE_SPACE = " "
+
+Public errorSource As String
+Public errorTitle As String
+
+'/*
+'Flag for Actrive os Deactive VBA Debug.Print
+'*/
+Public vbaDebugPrintActive As Boolean
+
+Private Sub class_initialize()
+
+ Dim fso As Object
+ Set fso = CreateObject("Scripting.FileSystemObject")
+ OS_TMP__FOLDER_PATH = fso.GetSpecialFolder(2)
+ IMMEDIATE_FOLDER = "xvba_immediate"
+ IMMEDIATE_FILE = "immediate.txt"
+ vbaDebugPrintActive = True
+ errorSource = ""
+ errorTitle = "XVBA: New Error Was Found"
+ env = "DEV"
+
+ DEBUG_FILE_PATH = OS_TMP__FOLDER_PATH & "\" & IMMEDIATE_FOLDER & "\" & IMMEDIATE_FILE
+
+End Sub
+
+
+
+
+Public Function printx(inputValue As Variant, Optional messageType As Integer = 1)
+
+ If (env = "DEV") Then
+ Dim messageText As String
+
+ messageText = createOutputMessage(inputValue)
+
+ Call writeDebugFileContent(messageText, messageType)
+ End If
+End Function
+
+'/*
+'Print A Error
+'
+'*/
+Public Function printError()
+ If (env = "DEV") Then
+
+ Dim message As String
+
+ message = ErrorHanddler()
+
+ Call writeDebugFileContent(message, 0)
+
+ End If
+End Function
+
+
+'/*
+'
+'Write Debug ino on File
+'
+'
+'*/
+Private Function writeDebugFileContent(messageText, messageType)
+
+ Dim filePath As String
+ Dim FileNum As Integer
+ Dim PREFIX As String
+
+ filePath = DEBUG_FILE_PATH
+
+ FileNum = FreeFile
+
+ PREFIX = Now & " - "
+
+ Open filePath For Append As #FileNum
+
+ Dim debugMessage As String
+ Select Case messageType
+
+ Case 0 'Error Message
+
+ debugMessage = PREFIX & "Error:" & messageText
+ Case 1 'Success
+ debugMessage = PREFIX & messageText
+ Case Else 'No Type Set
+
+ debugMessage = PREFIX & "Info:" & messageText
+ End Select
+
+ Print #FileNum, debugMessage
+
+ Close #FileNum
+
+ If (vbaDebugPrintActive) Then
+
+ Debug.Print debugMessage
+
+ End If
+End Function
+
+
+Private Function createOutputMessage(inputValue) As String
+
+ Dim typeOfVar As Integer
+ Dim response As String
+
+ typeOfVar = VarType(inputValue)
+
+
+ 'Set Error Source Macro/Function name
+ Err.Source = "createOutputMessage"
+ Select Case typeOfVar
+ Case STRING_TYPE
+ response = "String: " & inputValue
+ Case INTEGER_TYPE
+ response = "Integer: " & CStr(inputValue)
+ Case LONG_TYPE
+ response = "Long: " & CStr(inputValue)
+ Case SINGLE_TYPE
+ response = "Single: " & CStr(inputValue)
+ Case DOUBLE_TYPE
+ response = "Double: " & CStr(inputValue)
+ Case CURRENCY_TYPE
+ response = "Currenty: " & CStr(inputValue)
+ Case DATE_TYPE
+ response = "Date: " & CStr(inputValue)
+ Case DECIMAL_TYPE
+ response = "Decimal: " & CStr(inputValue)
+ Case LONG_LONG_TYPE
+ response = "LongLong: " & CStr(inputValue)
+ Case BOOLEAN_TYPE
+ response = "Boolean: " & CStr(inputValue)
+ Case ARRAY_TYPE
+ response = makeArrayTypeMessage(inputValue)
+ Case EMPTY_TYPE
+ response = "Empty: "
+ Case OBJECT_TYPE
+ response = "Object: " & TypeName(inputValue)
+ Case NULL_TYPE
+ response = "Null: "
+ Case ERROR_TYPE
+ response = "Error: "
+ Case VARIANT_TYPE
+ response = "Variant: "
+ Case DATA_OBJECT_TYPE
+ response = "Data Object: " & TypeName(inputValue)
+ Case Else
+ response = "Type Not Supported yet please inform xvba developer "
+ Debug.Print typeOfVar
+ Debug.Print inputValue
+
+ End Select
+
+
+ createOutputMessage = response
+
+End Function
+
+
+Private Function makeArrayTypeMessage(inputValue) As String
+ Dim nextItem As Variant
+ Dim response As String
+ Dim message As String
+
+ For Each nextItem In inputValue
+ message = createOutputMessage(nextItem)
+ response = response & " [ " & message & " ]" & vbCrLf
+ Next nextItem
+ makeArrayTypeMessage = "Array: " & vbCrLf & response
+End Function
+
+
+
+Private Function ErrorHanddler() As String
+ Dim errorDescription As String
+ Dim numberDescription As String
+ Dim lineError As String
+ Dim sourceError As String
+ Dim errorTitleMsg As String
+ Dim errorSourceMsg As String
+
+ errorTitleMsg = vbCrLf & MESSAGE_SPACE & errorTitle
+ errorSourceMsg = vbCrLf & MESSAGE_SPACE & "Error Source: " & errorSource
+
+
+ Select Case Err.Number
+ Case 11
+ numberDescription = vbCrLf & MESSAGE_SPACE & "Error Number: " & Err.Number
+ lineError = vbCrLf & MESSAGE_SPACE & "Error Line: " & Erl
+ errorDescription = vbCrLf & MESSAGE_SPACE & "Error Description: " & Err.Description
+ Case Else
+ numberDescription = vbCrLf & MESSAGE_SPACE & "Error Number: " & Err.Number
+ errorDescription = vbCrLf & MESSAGE_SPACE & "Error Description: " & Err.Description
+ End Select
+
+
+ ErrorHanddler = errorTitleMsg & lineError & errorSourceMsg & numberDescription & errorDescription
+
+End Function
diff --git a/XVBA/事業計画集計/xvba_modules/Xdebug/images/immediate.gif b/XVBA/事業計画集計/xvba_modules/Xdebug/images/immediate.gif
new file mode 100644
index 00000000..dd641693
Binary files /dev/null and b/XVBA/事業計画集計/xvba_modules/Xdebug/images/immediate.gif differ
diff --git a/XVBA/事業計画集計/xvba_modules/Xdebug/xvba.package.json b/XVBA/事業計画集計/xvba_modules/Xdebug/xvba.package.json
new file mode 100644
index 00000000..4a1da537
--- /dev/null
+++ b/XVBA/事業計画集計/xvba_modules/Xdebug/xvba.package.json
@@ -0,0 +1,15 @@
+{
+ "package": "Xdebug",
+ "version": "1.0.0",
+ "author": "Alberto Edaurdo",
+ "email": "alberto.aeraphe@gmail.com",
+ "license": "ISC",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/Aeraphe/xdebug.git"
+ },
+ "description": "Creating amazing XVBA packages",
+ "dependencies": {},
+ "dev_dependencies": {},
+ "homepage": "www.xvba.dev"
+}
\ No newline at end of file
diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/CHANGELOG.md b/XVBA/事業計画集計/xvba_modules/excel-types/CHANGELOG.md
new file mode 100644
index 00000000..39a71ff4
--- /dev/null
+++ b/XVBA/事業計画集計/xvba_modules/excel-types/CHANGELOG.md
@@ -0,0 +1,8 @@
+# Changelog
+## excel@types (Under Construction)
+
+- This package provides a way to use auto-complete for excel class
+
+
+
+
\ No newline at end of file
diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/README.md b/XVBA/事業計画集計/xvba_modules/excel-types/README.md
new file mode 100644
index 00000000..dcf0411e
--- /dev/null
+++ b/XVBA/事業計画集計/xvba_modules/excel-types/README.md
@@ -0,0 +1,51 @@
+# Excel VBA type Definitions Package (excel-types)
+
+ - This package provides a way to use auto-complete for Excel VBA Class
+ - You can Create your own vba type definition packages our update this.
+ - Type definition packages are named like: name-types
+ - The packages are store in www.xvba.dev
+ - Ech excel vba class has your own file definition
+ - The files extension has to be filename.d.vb
+ - Auto-complete just expose Public types
+
+
+## Create,install and share VBA Packages With Xvba-cli and Xvba Repository:
+
+- Xvba Repository : www.xvba.dev
+- XVBA-CLI Command Line Interface for XVBA VSCode extension @localsmart/xvba-cli
+
+## Install
+
+- For instal excel-types just use XVBA-CLI install command
+
+```
+ npx xvba install excel-types
+```
+## Comments Block
+
+- Use comments blocks below for documenting class/methods/Subs/Functions/Properties
+- The comments blocs has to start with '/* and ends with '*/
+
+```
+
+'/*
+'Represents the entire Microsoft Excel application.
+'
+'
+'*/
+Public Class Application()
+
+```
+
+```
+'/*
+'Returns a Range object that represents the active cell in the active window
+'(the window on top) or in the specified window. If the window isn't displaying
+'a worksheet, this property fails. Read-only.
+'
+'@type {Object.}
+'
+'*/
+Public Property ActiveCell As Range
+
+```
\ No newline at end of file
diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/application.d.vb b/XVBA/事業計画集計/xvba_modules/excel-types/application.d.vb
new file mode 100644
index 00000000..af74a242
--- /dev/null
+++ b/XVBA/事業計画集計/xvba_modules/excel-types/application.d.vb
@@ -0,0 +1,147 @@
+'/*
+'Represents the entire Microsoft Excel application.
+'
+'
+'*/
+Public Class Application()
+
+'/*
+'Returns an object that represents the active sheet (the sheet on top)
+'in the active workbook or in the specified window or workbook.
+'Returns Nothing if no sheet is active.
+'
+'*/
+Public Property ActiveSheet As Worksheet
+
+'/*
+'Returns a Workbook object that represents the workbook in the
+'active window (the window on top).
+'Returns Nothing if there are no windows open or if either
+'the Info window or the Clipboard window is the active window. Read-only.
+'
+'
+'*/
+Public Property ActiveWorkbook As Workbook
+
+'/*
+'True if Microsoft Excel displays certain alerts and messages while
+'a macro is running. Read/write Boolean.
+'
+'Example
+'Application.DisplayAlerts = False
+'Workbooks("BOOK1.XLS").Close
+'Application.DisplayAlerts = True
+'
+'*/
+Public Property DisplayAlerts As Boolean
+
+
+'/*
+'Returns or sets an XlCalculation value that represents the calculation mode.
+'
+'Example
+'Application.Calculation = xlCalculationManual
+'Application.Calculation = xlAutomatic
+'
+'@type {XlCalculation}
+'*/
+Public Property Calculation As XlCalculation
+
+'/*
+'True if events are enabled for the specified object. Read/write Boolean.
+'
+'@type {Boolean}
+'*/
+Public Property EnableEvents As Boolean
+
+'/*
+'True if screen updating is turned on. Read/write Boolean.
+'@type {Boolean}
+'*/
+Public Property ScreenUpdating As Boolean
+
+
+'/*
+'Returns a Range object that represents the active cell in the active window
+'(the window on top) or in the specified window. If the window isn't displaying
+'a worksheet, this property fails. Read-only.
+'
+'@type {Object.}
+'
+'*/
+Public Property ActiveCell As Range
+
+'/*
+'Returns a Chart object that represents the active chart (either an embedded chart or a chart sheet).
+'An embedded chart is considered active when it's either selected or activated. When no chart is active,
+'this property returns Nothing.
+'
+'Example:
+'ActiveChart.HasLegend = True
+'
+'@type {Object.}
+'*/
+Public Property ActiveChart As Chart
+
+'/*
+'Returns a Workbooks collection that represents all the open workbooks. Read-only.
+'
+'@type {Object.} Workbooks Collection
+'*/
+Public Property ThisWorkbook As Workbook
+
+'/*
+'Returns a Workbooks collection that represents all the open workbooks. Read-only.
+'
+'@type {Object.} Workbooks Collection
+'*/
+Public Property Workbooks As Workbooks
+
+'/*
+'Activates a Microsoft application. If the application is already running,
+'this method activates the running application.
+'If the application isn't running, this method starts a new instance of the application.
+'
+'Example: (This example starts and activates Word.)
+'
+'Application.ActivateMicrosoftApp xlMicrosoftWord
+'
+'@param {XlMSApplication} index
+'*/
+Public Sub ActivateMicrosoftApp( index As XlMSApplication)
+
+End Sub
+
+'/*
+'An event occurs when all pending refresh activity (both synchronous and asynchronous)
+'and all of the resultant calculation activities have been completed.
+'
+'*/
+Public Event AfterCalculate()
+
+'/*
+'Occurs when a new workbook is created.
+'
+'Example:
+'
+'Private Sub App_NewWorkbook(ByVal Wb As Workbook)
+'Application.Windows.Arrange xlArrangeStyleTiled End Sub
+'
+'@param {Workbook} Wb
+'*/
+Public Event NewWorkbook(ByVal Wb As Workbook)
+
+'/*
+'Returns a Sheets collection that represents all the sheets in the specified workbook. Read-only Sheets object.
+'
+'Example:
+'Set newSheet = Sheets.Add(Type:=xlWorksheet)
+'For i = 1 To Sheets.Count
+' newSheet.Cells(i, 1).Value = Sheets(i).Name
+' Next i
+'
+'@type {Sheets}
+'*/
+Public Property Sheets As Worksheets
+
+End Class
\ No newline at end of file
diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/dictionary.d.vb b/XVBA/事業計画集計/xvba_modules/excel-types/dictionary.d.vb
new file mode 100644
index 00000000..6a580711
--- /dev/null
+++ b/XVBA/事業計画集計/xvba_modules/excel-types/dictionary.d.vb
@@ -0,0 +1,109 @@
+
+
+
+'/*
+'
+'
+'
+'/*
+Public Class Scripting()
+
+
+'/*
+'
+'Object that stores data key/item pairs.
+'
+'/*
+Public Function Dictionary()
+
+End Function
+
+'/*
+'
+'Adds a new key/item pair to a Dictionary object.
+'
+'*/
+Public Sub Add()
+
+End Sub
+
+'/*
+'
+'Returns a Boolean value that indicates whether a specified key exists in the Dictionary object.
+'
+'*/
+Public Sub Exists()
+
+End Sub
+
+'/*
+'
+'Returns an array of all the items in a Dictionary object.
+'
+'*/
+Public Sub Items()
+
+End Sub
+
+'/*
+'
+'Returns an array of all the keys in a Dictionary object.
+'
+'*/
+Public Sub Keys()
+
+End Sub
+
+'/*
+'
+'Removes one specified key/item pair from the Dictionary object.
+'
+'*/
+Public Sub Remove()
+
+End Sub
+
+'/*
+'
+'Removes all the key/item pairs in the Dictionary object.
+'
+'*/
+Public Sub RemoveAll()
+
+End Sub
+
+
+
+'/*
+'Sets or returns the comparison mode for comparing keys in a Dictionary object.
+'
+'
+'*/
+Public Property CompareMode As Variant
+
+
+'/*
+'Returns the number of key/item pairs in a Dictionary object.
+'
+'
+'*/
+Public Property Count As Long
+
+
+'/*
+'Sets or returns the value of an item in a Dictionary object.
+'
+'
+'*/
+Public Property Item As Variant
+
+'/*
+'Sets a new key value for an existing key value in a Dictionary object.
+'
+'
+'*/
+Public Property Key As Variant
+
+
+
+End Class
\ No newline at end of file
diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/err.d.vb b/XVBA/事業計画集計/xvba_modules/excel-types/err.d.vb
new file mode 100644
index 00000000..7115cac1
--- /dev/null
+++ b/XVBA/事業計画集計/xvba_modules/excel-types/err.d.vb
@@ -0,0 +1,30 @@
+'/*
+'Contains information about run-time errors.
+'
+'
+'*/
+Public Class Err()
+
+'/*
+'Returns or sets a string expression containing a
+'descriptive string associated with an object. Read/write.
+'
+'*/
+Public Property Description As String
+
+'/*
+'Returns or sets a numeric value specifying an error.
+'Number is the Err object's default property. Read/write.
+'
+'*/
+Public Property Number As Integer
+
+
+'/*
+'Returns or sets a string expression specifying the name of
+'the object or application that originally generated the error. Read/write.
+'
+'*/
+Public Property Source As String
+
+End Class
\ No newline at end of file
diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/functions.d.vb b/XVBA/事業計画集計/xvba_modules/excel-types/functions.d.vb
new file mode 100644
index 00000000..38aba162
--- /dev/null
+++ b/XVBA/事業計画集計/xvba_modules/excel-types/functions.d.vb
@@ -0,0 +1,547 @@
+
+'/*
+'[Conversion Func]
+'
+'*/
+Function Asc()
+End Function
+
+'/*
+'[Conversion Func]
+'Returns a String containing the character associated
+'with the specified character code.
+'
+'Example:
+'
+'Dim MyChar
+'MyChar = Chr(65) ' Returns A.
+'MyChar = Chr(97) ' Returns a.
+'MyChar = Chr(62) ' Returns >.
+'MyChar = Chr(37) ' Returns %.
+'*/
+Function Chr()
+End Function
+
+'/*
+'[Conversion Func]
+'
+'*/
+Function Format()
+End Function
+
+'/*
+'[Conversion Func]
+'
+'*/
+Function Hex()
+End Function
+
+
+'/*
+'[Conversion Func]
+'
+'*/
+Function Oct()
+End Function
+
+
+'/*
+'[Conversion Func]
+'Returns a Variant (String) representation of a number.
+'
+'Example:
+'Dim MyString
+'MyString = Str(459) ' Returns " 459".
+'MyString = Str(-459.65) ' Returns "-459.65".
+'MyString = Str(459.001) ' Returns " 459.001".
+'
+'*/
+Function Str() As Variant
+End Function
+
+
+'/*
+'[Conversion Func]
+'Returns the numbers contained in a string as
+'a numeric value of appropriate type.
+'
+'Example:
+'
+'Dim MyValue
+'MyValue = Val("2457") ' Returns 2457.
+'MyValue = Val(" 2 45 7") ' Returns 2457.
+'MyValue = Val("24 and 57") ' Returns 24.
+'*/
+Function Val(String)
+End Function
+
+
+
+Function CreateObject()
+End Function
+
+
+Function CurDir()
+End Function
+
+'/*
+'Returns a Variant (Date) containing the current system date.
+'
+'Example
+'
+'Dim MyDate
+'MyDate = Date ' MyDate contains the current system date.
+'
+'*/
+Function Date()
+
+End Function
+
+
+
+Function DateDiff()
+End Function
+
+Function DatePart()
+End Function
+
+Function DateSerial()
+End Function
+
+Function Day()
+End Function
+
+Function DDB()
+End Function
+
+Function Dir()
+End Function
+
+Function DoEvents()
+End Function
+
+Function Environ()
+End Function
+
+Function EOF()
+End Function
+
+Function Error()
+End Function
+
+
+Function FileAttr()
+End Function
+
+Function FileDateTime()
+End Function
+
+Function FileLen()
+End Function
+
+Function Filter()
+End Function
+
+Function FormatCurrency()
+End Function
+
+Function FormatDateTime()
+End Function
+
+Function FormatNumber()
+End Function
+
+Function FormaPercent()
+End Function
+
+
+Function FreeFile()
+End Function
+
+Function FV()
+End Function
+
+Function GetAllSettings()
+End Function
+
+Function GetAttr()
+End Function
+
+Function GetObject()
+End Function
+
+Function GetSetting()
+End Function
+
+
+Function Hour()
+End Function
+
+Function IIf()
+End Function
+
+Function IMEStatus()
+End Function
+
+Function Input()
+End Function
+
+Function InputBox()
+End Function
+
+Function InStr()
+End Function
+
+Function InStrRev()
+End Function
+
+Function IPmt()
+End Function
+
+
+
+Function IRR()
+End Function
+
+Function IsArray()
+End Function
+
+Function IsDate()
+End Function
+
+'/*
+'
+'Returns a Boolean value indicating whether a variable has been initialized.
+'
+'*/
+Function IsEmpty()
+End Function
+
+
+Function IsError()
+End Function
+
+Function IsMissing()
+End Function
+
+Function IsNull()
+End Function
+
+Function IsNumeric()
+End Function
+
+
+Function IsObject()
+End Function
+
+'/*
+'Returns a string created by joining a number of substrings contained in an array.
+'
+'*/
+Function Join()
+End Function
+
+
+
+Function LBound()
+End Function
+
+Function LCase()
+End Function
+
+Function Left()
+End Function
+
+Function Len()
+End Function
+
+
+Function Loc()
+End Function
+
+Function LOF()
+End Function
+
+Function LTrim()
+End Function
+
+Function RTrim()
+End Function
+
+Function Trim()
+End Function
+
+
+Function MacID()
+End Function
+
+
+
+Function MacScript()
+End Function
+
+'/*
+'[Math Function]
+'Returns a value of the same type that is passed to it specifying the absolute value of a number.
+'
+'*/
+Function Abs()
+End Function
+
+'/*
+'[Math Function]
+'Returns a Double specifying the arctangent of a number.
+'
+'*/
+Function Atn()
+End Function
+
+
+'/*
+'[Math Function]
+'
+'*/
+Function Cos()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Exp()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Int()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Fix()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Log()
+End Function
+
+
+'/*
+'[Math Function]
+'
+'*/
+Function Rnd()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Sgn()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Sin()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Sqr()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Tan()
+End Function
+
+
+
+Function Mid()
+End Function
+
+
+Function Minute()
+End Function
+
+
+Function MIRR()
+End Function
+
+
+Function Month()
+End Function
+
+Function MonthName()
+End Function
+
+'/*
+'Displays a message in a dialog box, waits for the user to click a button,
+'and returns an Integer indicating which button the user clicked.
+'
+'*/
+Function MsgBox(prompt, [ buttons, ] [ title, ] [ helpfile, context ])
+End Function
+
+
+Function Now()
+End Function
+
+
+Function NPer()
+End Function
+
+
+Function NPV()
+End Function
+
+Function PPmt()
+End Function
+
+
+Function QBColor()
+End Function
+
+
+Function Rate()
+End Function
+
+'/*
+'Returns a string, which is a substring of a string
+'expression beginning at the start position (defaults to 1),
+'in which a specified substring has been replaced with another
+'substring a specified number of times.
+'
+'*/
+Function Replace(expression, find, replace, [ start, [ count, [ compare ]]])
+End Function
+
+Function RGB()
+End Function
+
+
+Function Right()
+End Function
+
+
+Function Round()
+End Function
+
+
+Function Second()
+End Function
+
+
+
+Function Seek()
+End Function
+
+
+Function Shell()
+End Function
+
+
+Function SNL()
+End Function
+
+
+Function Space()
+End Function
+
+
+Function Spc()
+End Function
+
+
+Function Split()
+End Function
+
+
+Function StrComp()
+End Function
+
+
+
+Function StrConv()
+End Function
+
+
+Function String()
+End Function
+
+
+Function StrReverse()
+End Function
+
+
+
+Function Switch()
+End Function
+
+
+Function SYD()
+End Function
+
+
+Function Tab()
+End Function
+
+
+Function Time()
+End Function
+
+
+
+Function Timer()
+End Function
+
+
+Function TimeSerial()
+End Function
+
+
+Function TimeValue()
+End Function
+
+
+
+Function TypeName()
+End Function
+
+
+Function UBound()
+End Function
+
+
+Function Ucase()
+End Function
+
+
+Function VarType()
+End Function
+
+
+
+Function Weekday()
+End Function
+
+
+Function WeekdayName()
+End Function
+
+
+Function Year()
+End Function
\ No newline at end of file
diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/range.d.vb b/XVBA/事業計画集計/xvba_modules/excel-types/range.d.vb
new file mode 100644
index 00000000..92a9c7d7
--- /dev/null
+++ b/XVBA/事業計画集計/xvba_modules/excel-types/range.d.vb
@@ -0,0 +1,625 @@
+'/*
+'Represents a cell, a row, a column, a selection of cells containing one or more contiguous blocks of cells, or a 3D range.
+'
+'
+'*/
+Public Class Range()
+
+'/*
+'(Range)
+'
+'Activates a single cell, which must be inside the current selection.
+'To select a range of cells, use the Select method.,
+'
+'Example
+'
+'This example selects cells A1:C3 on Sheet1 and then makes cell B2 the active cell.
+'
+' Worksheets("Sheet1").Activate
+' Range("A1:C3").Select
+' Range("B2").Activate
+'
+'*/
+Public Sub Activate()
+
+End Sub
+
+
+'/*
+'Adds a comment to the range.
+'
+'Example:
+'
+'Worksheets(1).Range("E5").AddComment "Current Sales"
+'
+'@param {String} text
+'*/
+Public Sub AddComment(text As String)
+
+End Sub
+
+Public Sub AddCommentThreaded()
+
+End Sub
+
+Public Sub AdvancedFilter()
+
+End Sub
+
+Public Sub AllocateChanges()
+
+End Sub
+
+Public Sub ApplyName()
+
+End Sub
+
+Public Sub ApplyOutLineStyles()
+
+End Sub
+
+Public Sub AutoComplete()
+
+End Sub
+
+Public Sub AutoFill()
+
+End Sub
+
+Public Sub AutoFilter()
+
+End Sub
+
+Public Sub AutioFit()
+
+End Sub
+
+Public Sub AutoOutline()
+
+End Sub
+
+Public Sub BorderAround()
+
+End Sub
+
+Public Sub Calculate()
+
+End Sub
+
+Public Sub CalculateRowMajorOrder()
+
+End Sub
+
+Public Sub CheckSpelling()
+
+End Sub
+
+Public Sub Clear()
+
+End Sub
+
+Public Sub ClearComments()
+
+End Sub
+
+Public Sub ClearContents()
+
+End Sub
+
+Public Sub ClearFormats()
+
+End Sub
+
+Public Sub ClearHyperlinks()
+
+End Sub
+
+Public Sub ClearNotes()
+
+End Sub
+
+Public Sub ClearOutline()
+
+End Sub
+
+Public Sub ColumnDifferences()
+
+End Sub
+
+Public Sub Consolidate()
+
+End Sub
+
+Public Sub ConvertToLinkedDataType()
+
+End Sub
+
+Public Sub Copy()
+
+End Sub
+
+Public Sub CopyFromRecordset()
+
+End Sub
+
+Public Sub CopyPicture()
+
+End Sub
+
+Public Sub CreateNames()
+
+End Sub
+
+Public Sub Cut()
+
+End Sub
+
+Public Function DataSeries (Rowcol, Type, Date, Step, Stop, Trend)
+
+End Function
+
+Public Function DataTypeToText()
+
+End Function
+
+Public Function Delete (Shift)
+
+End Function
+
+Public Function DialogBox()
+
+End Function
+
+Public Function Dirty()
+
+End Function
+Public Function DiscardChanges()
+
+End Function
+Public Function EditionOptions (Type, Option, Name, Reference, Appearance, ChartSize, Format)
+
+End Function
+Public Function ExportAsFixedFormat (Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish, FixedFormatExtClassPtr)
+
+End Function
+Public Function FillDown()
+
+End Function
+Public Function FillLeft()
+
+End Function
+
+Public Function FillRight()
+
+End Function
+
+Public Function FillUp()
+
+End Function
+
+Public Function Find (What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)
+
+End Function
+
+Public Function FindNext (After)
+
+End Function
+
+Public Function FindPrevious (Before)
+
+End Function
+
+Public Function FlashFill ()
+
+End Function
+
+
+Public Function FunctionWizard ()
+
+End Function
+
+
+Public Function Group (Start, End, By, Periods)
+
+End Function
+
+Public Function Insert (Shift, CopyOrigin)
+
+End Function
+
+
+Public Function InsertIndent (InsertAmount)
+
+End Function
+
+
+Public Function Justify()
+
+End Function
+
+
+Public Function ListNames()
+
+End Function
+
+Public Function Merge(Across)
+
+End Function
+
+Public Function NavigateArrow(TowardPrecedent, ArrowNumber, LinkNumber)
+
+End Function
+
+Public Function NoteText(Text, Start, Length)
+
+End Function
+
+Public Function Parse(ParseLine, Destination)
+
+End Function
+
+Public Function PasteSpecial(Paste, Operation, SkipBlanks, Transpose)
+
+End Function
+
+
+Public Function PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName)
+
+End Function
+
+Public Function PrintPreview(EnableChanges)
+
+End Function
+
+Public Function RemoveDuplicates(Columns , Header)
+
+End Function
+
+Public Function RemoveSubtotal()
+
+End Function
+
+
+Public Function Replace(What, Replacement, LookAt, SearchOrder, MatchCase, MatchByte, SearchFormat, ReplaceFormat)
+
+End Function
+
+
+Public Function RowDifferences(Comparison)
+
+End Function
+
+Public Function Run(Arg1, Arg2, Arg3, Arg4, Arg5...)
+
+End Function
+
+Public Function Select()
+
+End Function
+
+Public Function SetCellDataTypeFromCell(Range, LanguageCulture)
+
+End Function
+
+
+Public Function SetPhonetic()
+
+End Function
+
+
+Public Function Show()
+
+End Function
+
+
+Public Function ShowCard()
+
+End Function
+
+
+Public Function ShowDependents(Remove)
+
+End Function
+
+
+Public Function ShowErrors()
+
+End Function
+
+
+Public Function ShowPrecedents(Remove)
+
+End Function
+
+
+Public Function Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3)
+
+End Function
+
+
+Public Function SortSpecial(SortMethod, Key1, Order1, Type, Key2, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, DataOption1, DataOption2, DataOption3)
+
+End Function
+
+Public Function Speak(SpeakDirection, SpeakFormulas)
+
+End Function
+
+
+Public Function SpecialCells(Type, Value)
+
+End Function
+
+Public Function SubscribeTo(Edition, Format)
+
+End Function
+
+Public Function Subtotal(GroupBy, Function, TotalList, Replace, PageBreaks, SummaryBelowData)
+
+End Function
+
+
+Public Function Table(RowInput, ColumnInput)
+
+End Function
+
+
+Public Function TextToColumns(Destination, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers
+
+End Function
+
+
+Public Function Ungroup()
+
+End Function
+
+
+Public Function UnMerge()
+
+End Function
+
+Public Property AddIndent As Variant
+
+Public Function Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo) As Variant
+End Function
+
+Public Function AddressLocal(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo) As Range
+End Function
+
+Public Property Application As Application
+
+Public Property Areas As Areas
+
+Public Property Borders As Variant
+
+Public Property Cells As Range
+
+Public Function Characters(Start, Length) As Variant
+End Function
+
+Public Property Column As Long
+
+Public Property Columns As Long
+
+Public Property ColumnWidth As Variant
+
+Public Property Comment As Variant
+
+Public Property CommentThreaded As Variant
+
+
+Public Property Count As Long
+
+
+Public Property CountLarge As Variant
+
+
+Public Property Creator As Integer
+
+
+Public Property CurrentArray As Range
+
+'/*
+'Returns a Range object that represents the current region.
+'The current region is a range bounded by any combination of blank rows and blank columns. Read-only.
+'
+'Example
+'Worksheets("Sheet1").Activate
+'ActiveCell.CurrentRegion.Select
+'*/
+Public Property CurrentRegion As Range
+
+Public Property Dependents As Range
+
+Public Property DirectDependents As Range
+
+Public Property DirectPrecedents As Range
+
+Public Property DisplayFormat As Object
+
+
+Public Function End(Direction) As Object
+End Function
+
+Public Property EntireColumn As Range
+
+
+Public Property EntireRow As Range
+
+
+Public Property Errors As Errors
+
+
+Public Property Font As Font
+
+
+Public Property FormatConditions As Range
+
+Public Property Formula As Variant
+
+Public Property FormulaArray As Variant
+
+Public Property FormulaHidden As Variant
+
+
+Public Property FormulaLocal As Object
+
+Public Property FormulaR1C1 As Varaint
+
+Public Property FormulaR1C1Local As Varaint
+
+Public Property HasArray As Varaint
+
+Public Property HasFormula As Varaint
+
+Public Property HasRichDataType As Varaint
+
+Public Property Height As Double
+
+Public Property Hidden As Variant
+
+Public Property HorizontalAlignment As Variant
+
+Public Property Hyperlinks As Object
+
+Public Property ID As String
+
+Public Property IndentLevel As Variant
+
+Public Property Interior As Double
+
+Public Function Item (RowIndex, ColumnIndex) As Range
+End Function
+
+
+Public Property Left As Variant
+
+
+Public Property LinkedDataTypeState As Variant
+
+Public Property ListHeaderRows As Variant
+
+
+Public Property ListObject As Object
+
+Public Property LocationInTable As Variant
+
+Public Property Locked As Variant
+
+Public Property MDX As String
+
+Public Property MergeArea As Range
+
+Public Property MergeCells As Boolean
+
+Public Property Name As Variant
+
+Public Property Next As Range
+
+Public Property NumberFormat As Variant
+
+Public Property NumberFormatLocal As Variant
+
+Public Function Offset (RowOffset, ColumnOffset) As Range
+
+End Function
+
+
+Public Property Orientation As Variant
+
+Public Property OutlineLevel As Variant
+
+Public Property PageBreak As Variant
+
+Public Property Parent As Variant
+
+Public Property Phonetic As Variant
+
+Public Property Phonetics As Variant
+
+Public Property PivotCell As Variant
+
+
+Public Property PivotField As Variant
+
+
+Public Property PivotItem As Variant
+
+Public Property PivotTable As Variant
+
+Public Property Precedents As Range
+
+Public Property PrefixCharacter As Variant
+
+
+Public Property Previous As Range
+
+Public Property QueryTable As Variant
+
+Public Function Range (Cell1, Cell2) As Range
+End Function
+
+Public Property ReadingOrder As Variant
+
+Public Function Resize (RowSize, ColumnSize) As Range
+End Function
+
+
+Public Property Row As Long
+
+Public Property RowHeight As Double
+
+Public Property Rows As Range
+
+Public Property ServerActions As Variant
+
+
+Public Property ShowDetail As Variant
+
+
+Public Property ShrinkToFit As Variant
+
+
+Public Property SoundNote As Variant
+
+
+Public Property SparklineGroups As Variant
+
+
+Public Property Style As Variant
+
+Public Property Summary As Variant
+
+
+Public Property Text As String
+
+Public Property Top As Variant
+
+Public Property UseStandardHeight As Variant
+
+Public Property UseStandardWidth As Variant
+
+Public Property Validation As Variant
+
+Public Function Value (RangeValueDataType) As Variant
+End Function
+
+Public Property Value2 As Variant
+
+
+Public Property VerticalAlignment As Variant
+
+Public Property Width As Double
+
+
+
+Public Property Worksheet As Worksheet
+
+
+Public Property WrapText As Variant
+
+Public Property XPath As XPath
+
+
+
+End Class
diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/workbook.d.vb b/XVBA/事業計画集計/xvba_modules/excel-types/workbook.d.vb
new file mode 100644
index 00000000..55764e2b
--- /dev/null
+++ b/XVBA/事業計画集計/xvba_modules/excel-types/workbook.d.vb
@@ -0,0 +1,157 @@
+'/*
+'Represents a Microsoft Excel workbook.
+'
+'
+'*/
+Public Class Workbook()
+
+'/*
+'Returns a String that represents the complete path to the
+'workbook/file that this workbook object represents.
+'
+'*/
+Public Property Path As String
+
+
+Public Property Worksheets As Worksheet
+
+'/*
+'True if a backup file is created when this file is saved. Read-only Boolean.
+'
+'@type {Boolean}
+'*/
+Public Property CreateBackup As Boolean
+
+'/*
+'Returns a String value that represents the name of the object.
+'
+'@type {Boolean}
+'*/
+Public Property Name As String
+
+'/*
+'True if no changes have been made to the specified workbook since it was last saved. Read/write Boolean.
+'
+'Example:
+'If Not ActiveWorkbook.Saved Then
+' MsgBox "This workbook contains unsaved changes."
+'End If
+'
+'@type {Boolean}
+'*/
+Public Property Saved As String
+
+'/*
+'Returns a Sheets collection that represents all the sheets in the specified workbook. Read-only Sheets object.
+'
+'Example:
+'Set newSheet = Sheets.Add(Type:=xlWorksheet)
+'For i = 1 To Sheets.Count
+' newSheet.Cells(i, 1).Value = Sheets(i).Name
+' Next i
+'
+'@type {Sheets}
+'*/
+Public Property Sheets As Worksheets
+
+
+'/*
+'
+'Activates the first window associated with the workbook.
+'
+'*/
+Public Function Activate()
+
+End Function
+
+'/*
+'
+'Closes the object.
+'
+'Example
+'
+'Workbooks("BOOK1.XLS").Close SaveChanges:=False
+'
+'@param {Variant} SaveChanges:[Optional] True or false
+'@param {Variant} FileName:[Optional] Saves changes under this file name.
+'@param {Variant} RouteWorkbook:[Optional] True or False
+'*/
+Public Function Close(SaveChanges,FileName,RouteWorkbook)
+
+End Function
+
+'/*
+'Saves changes to the specified workbook.
+'*/
+Public Function Save()
+
+End Function
+
+'/*
+'Saves changes to the workbook in a different file.
+'
+'@param {Variant} FileName:[Optional]
+'@param {Variant} FileFormat:[Optional]
+'@param {Variant} Password:[Optional]
+'@param {Variant} WriteResPassword:[Optional]
+'@param {Variant} ReadOnlyRecommended:[Optional]
+'@param {Variant} CreateBackup:[Optional]
+'@param {Variant} AccessMode:[Optional]
+'@param {Variant} ConflictResolution:[Optional]
+'@param {Variant} AddToMru:[Optional]
+'@param {Variant} TextCodepage:[Optional]
+'@param {Variant} TextVisualLayout:[Optional]
+'@param {Variant} Local:[Optional]
+'*/
+Public Function SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)
+
+End Function
+
+
+'/*
+'Exports the data that has been mapped to the specified XML schema map to an XML data file.
+'
+'@param {String} FileName:[Required]
+'@param {XmlMap} Map:[Required]
+'*/
+Public Function SaveAsXMLData(FileName, Map)
+
+End Function
+
+
+'/*
+'Saves a copy of the workbook to a file but doesn't modify the open workbook in memory.
+'
+'Example
+'ActiveWorkbook.SaveCopyAs "C:\TEMP\XXXX.XLS"
+'
+'@param {Variant} FileName:[Required]
+'*/
+Public Function SaveCopyAs(FileName, Map)
+
+End Function
+
+'/*
+'Sends the workbook by using the installed mail system.
+'
+'Example
+'ActiveWorkbook.SendMail recipients:="Jean Selva"
+'
+'@param {Variant} Recipients:[Required]
+'@param {Variant} Subject:[Optional]
+'@param {Variant} ReturnReceipt:[Optional]
+'*/
+Public Function SendMail(Recipients, Subject, ReturnReceipt)
+
+End Function
+
+'/*
+'
+'The ExportAsFixedFormat method is used to publish
+'a workbook to either the PDF or XPS format.
+'
+'*/
+Public Function ExportAsFixedFormat(Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish, FixedFormatExtClassPtr)
+End Function
+
+End Class
\ No newline at end of file
diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/workbooks.d.vb b/XVBA/事業計画集計/xvba_modules/excel-types/workbooks.d.vb
new file mode 100644
index 00000000..07f71c5f
--- /dev/null
+++ b/XVBA/事業計画集計/xvba_modules/excel-types/workbooks.d.vb
@@ -0,0 +1,109 @@
+'/*
+'A collection of all the Workbook objects that are currently open in the Microsoft Excel application.
+'
+'*/
+Public Class Workbooks()
+
+'/*
+'Creates a new workbook. The new workbook becomes the active workbook.
+'
+'@param {Variant} Template:[Optional] Determines how the new workbook is created.
+'If this argument is a string specifying the name of an existing Microsoft Excel file,
+'the new workbook is created with the specified file as a template.
+'*/
+Public Function Add(Template)
+
+End Function
+
+
+'/*
+'True if Microsoft Excel can check out a specified workbook from a server.
+'Read/write Boolean.
+'
+'@param {String} FileName:[Required] The name of the file to check out.
+'
+'*/
+Public Function CanCheckOut (FileName)
+
+End Function
+
+
+Public Function CheckOut (FileName)
+
+End Function
+
+
+Public Function Close ()
+
+End Function
+
+'/*
+'
+'Opens a workbook.
+'
+'Example
+'Workbooks.Open "ANALYSIS.XLS"
+'ActiveWorkbook.RunAutoMacros xlAutoOpen
+'*/
+Public Function Open (FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad) As Workbook
+
+End Function
+
+'/*
+'Returns a Workbook object representing a database.
+'*/
+Public Function OpenDatabase (FileName, CommandText, CommandType, BackgroundQuery, ImportDataAs)
+
+End Function
+
+
+'/*
+'Loads and parses a text file as a new workbook with a single sheet that contains the parsed text-file data.
+'*/
+Public Function (FileName, Origin, StartRow, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, TextVisualLayout, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers, Local)
+
+End Function
+
+'/*
+'Opens an XML data file. Returns a Workbook object.
+'*/
+Public Function OpenXML (FileName, Stylesheets, LoadOption)
+
+End Function
+
+
+'/*
+'When used without an object qualifier, this property returns an
+'Application object that represents the Microsoft Excel application.
+'
+'*/
+Public Property Application As Application
+
+
+'/*
+'Returns a Long value that represents the number of objects in the collection.
+'
+'*/
+Public Property Count As Long
+
+'/*
+'Returns a 32-bit integer that indicates the application in which this object was created. Read-only Long.
+'
+'*/
+Public Property Creator As Integer
+
+
+
+'/*
+'Returns a single object from a collection.
+'
+'*/
+Public Property Item(Index) As Object
+
+'/*
+'Returns the parent object for the specified object. Read-only.
+'
+'*/
+Public Property Parent As Object
+
+End Class
\ No newline at end of file
diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/worksheet.d.vb b/XVBA/事業計画集計/xvba_modules/excel-types/worksheet.d.vb
new file mode 100644
index 00000000..24a02271
--- /dev/null
+++ b/XVBA/事業計画集計/xvba_modules/excel-types/worksheet.d.vb
@@ -0,0 +1,86 @@
+'/*
+'Represents a worksheet.
+'
+'Example
+'
+'Worksheets(1).Visible = False
+'
+'*/
+Public Class Worksheet()
+
+
+'/*
+'Makes the current sheet the active sheet.
+'
+'Example
+'ActiveWorkbook.SendMail recipients:="Jean Selva"
+'*/
+Public Sub Activate()
+
+End Sub
+
+
+Public Sub Calculate()
+
+End Sub
+
+Public Sub Copy()
+
+End Sub
+
+Public Sub Delete()
+End Sub
+
+Public Sub Move()
+
+End Sub
+
+Public Sub Past()
+
+End Sub
+
+Public Sub PastSpecial()
+
+End Sub
+
+Public Sub Select()
+End Sub
+
+Public Sub SaveAs()
+
+End Sub
+
+'/*
+'
+'Returns a Range object that represents a cell or a range of cells.
+'
+'Example:
+'
+'Worksheets("Sheet1").Range("A1").Value = 3.14159
+'
+'*/
+Public Property Range As Range
+
+
+'/*
+'
+'Returns a Range object that represents all the rows on the specified worksheet.
+'
+'Example:
+'
+'Worksheets("Sheet1").Rows(3).Delete
+'
+'*/
+Public Property Row As Range
+
+
+'/*
+'
+'Returns a Long value that represents the index number of the
+'object within the collection of similar objects.orksheets("Sheet1").Rows(3).Delete
+'
+'*/
+Public Property Index As Long
+
+
+End Class
\ No newline at end of file
diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/worksheets.d.vb b/XVBA/事業計画集計/xvba_modules/excel-types/worksheets.d.vb
new file mode 100644
index 00000000..7d775495
--- /dev/null
+++ b/XVBA/事業計画集計/xvba_modules/excel-types/worksheets.d.vb
@@ -0,0 +1,54 @@
+'/*
+'A collection of all the Worksheet objects in the specified or active workbook. Each Worksheet object represents a worksheet.
+'
+'Example
+'
+'Worksheets(1).Visible = False
+'
+'*/
+Public Class Worksheets()
+
+'/*
+'Constructor
+'
+'*/
+Public Sub New(Name As String) As Worksheet
+
+End Sub
+
+Public Sub Add()
+
+End Sub
+
+
+Public Sub Add2()
+
+End Sub
+
+Public Sub Copy()
+
+End Sub
+
+Public Sub Delete()
+End Sub
+
+Public Sub Move()
+
+End Sub
+
+Public Sub FillAcrossSheets()
+
+End Sub
+
+Public Sub PrintOut()
+
+End Sub
+
+Public Sub PrintPreview()
+End Sub
+
+Public Sub Select()
+
+End Sub
+
+End Class
\ No newline at end of file
diff --git a/XVBA/事業計画集計/xvba_modules/excel-types/xvba.package.json b/XVBA/事業計画集計/xvba_modules/excel-types/xvba.package.json
new file mode 100644
index 00000000..2fb972d9
--- /dev/null
+++ b/XVBA/事業計画集計/xvba_modules/excel-types/xvba.package.json
@@ -0,0 +1,15 @@
+{
+ "package": "excel-types",
+ "version": "1.0.0",
+ "author": "Alberto Oliveira",
+ "email": "alberto.aeraph@gmail.comn",
+ "license": "ISC",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/Aeraphe/excel-types.git"
+ },
+ "description": "Creating amazing XVBA packages",
+ "dependencies": {},
+ "dev_dependencies": {},
+ "homepage": "https://github.com/Aeraphe/xvba-cli"
+}
\ No newline at end of file
diff --git a/XVBA/事業計画集計/【2025経営計画】新・事業計画集計v4.0.xlsm b/XVBA/事業計画集計/【2025経営計画】新・事業計画集計v4.0.xlsm
new file mode 100644
index 00000000..b14f6b0e
Binary files /dev/null and b/XVBA/事業計画集計/【2025経営計画】新・事業計画集計v4.0.xlsm differ
diff --git a/XVBA/事業計画集計/【2025経営計画】新・事業計画集計v4.0x.xlsm b/XVBA/事業計画集計/【2025経営計画】新・事業計画集計v4.0x.xlsm
new file mode 100644
index 00000000..9d1ce0ba
Binary files /dev/null and b/XVBA/事業計画集計/【2025経営計画】新・事業計画集計v4.0x.xlsm differ
diff --git a/XVBA/事業計画集計【簡易版】/.vscode/settings.json b/XVBA/事業計画集計【簡易版】/.vscode/settings.json
new file mode 100644
index 00000000..c0ebeb96
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/.vscode/settings.json
@@ -0,0 +1,11 @@
+{
+ "files.encoding": "shiftjis",
+ "editor.fontFamily": "'HackGen35 Console'",
+ "editor.tokenColorCustomizations": {
+ "comments": {
+ "foreground": "#66ff33",
+ "fontStyle": "italic underline"
+ }
+ },
+ "editor.defaultFormatter": "local-smart.excel-live-server",
+}
\ No newline at end of file
diff --git a/XVBA/事業計画集計【簡易版】/backup.bas b/XVBA/事業計画集計【簡易版】/backup.bas
new file mode 100644
index 00000000..2e777b00
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/backup.bas
@@ -0,0 +1,219 @@
+
+'******************************************************************************
+'V[g
+
+
+'ʕϐ
+Public targetId As String
+Public apiKey As String
+Public baseURL As String
+
+Function init()
+ 'pubNϐɒli[
+ 'ƌve[u 214737
+ targetId = Range("targetId")
+
+ 'Pleasanter API KEY
+ apiKey = "6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d"
+ baseURL = "https://nextoffice.Next-hd.co.jp"
+
+End Function
+
+Function exportDataToSheet(res, tableId, offset)
+ Debug.Print "o͊Jn"
+ Dim Sh As Worksheet
+ Set Sh = Worksheets(tableId & "")
+
+ '̂݃V[gNA
+ If offset = 0 Then
+ Sh.Cells.Clear
+ End If
+
+ Dim lastRow As Long
+ lastRow = Sh.Cells(Rows.count, 1).End(xlUp).row
+
+ Dim data As New Dictionary
+ Dim dataCount As Long
+ dataCount = res("Response")("Data").count
+
+ Dim i, j As Long
+ ' 2z̐錾iő1000s~100Ɖj
+ Dim arrData(1 To 1000, 1 To 100) As Variant
+
+ For i = 1 To dataCount
+ 'Xܖ擾
+ Dim shopName As String
+ shopName = res("Response")("Data")(i)("ClassHash")("ClassB")
+ shopName = Replace(shopName, "/", "")
+
+ Dim shopFlag
+ shopFlag = res("Response")("Data")(i)("CheckHash")("CheckA")
+
+ 'DataV[g݊mF
+ Dim shExist1, shExist2
+
+ shExist1 = SheetExists(shopName & "_DATA")
+ If shExist1 = False Then
+ Worksheets("DATAev[g").Copy After:=Worksheets(Worksheets.count)
+ ActiveSheet.Name = shopName & "_DATA"
+ ActiveSheet.Visible = False
+ End If
+ shExist1 = SheetExists(shopName & "_DATA")
+
+ shExist2 = SheetExists(shopName & "_")
+ If shExist2 = False Then
+ If shopFlag = True Then
+ Worksheets("ev[g2").Copy Before:=Worksheets(shopName & "_DATA")
+ Else
+ Worksheets("ev[g1").Copy Before:=Worksheets(shopName & "_DATA")
+ End If
+
+ ActiveSheet.Name = shopName & "_"
+ ActiveSheet.Range("A1") = shopName
+ ActiveSheet.Range("A3") = shopFlag
+ End If
+
+ shExist2 = SheetExists(shopName & "_v")
+
+ If shExist2 = False Then
+ Worksheets("vev[g").Copy After:=Worksheets(shopName & "_")
+ ActiveSheet.Name = shopName & "_v"
+ ActiveSheet.Range("A1") = shopName
+ ActiveSheet.Range("A3") = shopFlag
+ End If
+
+ 'Dictionaryւ̊i[
+ data.Add "ResultId", res("Response")("Data")(i)("ResultId")
+ data.Add "Status", res("Response")("Data")(i)("Status")
+ data.Add "ItemTitle", res("Response")("Data")(i)("ItemTitle")
+ data.Add "Updator", res("Response")("Data")(i)("Updator")
+ data.Add "UpdatedTime", stringToDate(res("Response")("Data")(i)("UpdatedTime"))
+ data.Add "Body", res("Response")("Data")(i)("Body")
+
+ ' 2zւ̊i[
+ For j = 1 To 100
+ arrData(i, j) = "" '
+ Next j
+ arrData(i, 1) = res("Response")("Data")(i)("ResultId")
+ arrData(i, 2) = res("Response")("Data")(i)("Status")
+ arrData(i, 3) = res("Response")("Data")(i)("ItemTitle")
+ arrData(i, 4) = res("Response")("Data")(i)("Updator")
+ arrData(i, 5) = stringToDate(res("Response")("Data")(i)("UpdatedTime"))
+ arrData(i, 6) = res("Response")("Data")(i)("Body")
+
+ Dim keys, items, count
+
+ 'Class
+ keys = res("Response")("Data")(i)("ClassHash").keys
+ items = res("Response")("Data")(i)("ClassHash").items
+ count = res("Response")("Data")(i)("ClassHash").count
+ For j = 0 To count - 1
+ data.Add keys(j), Replace(items(j), "/", "")
+ arrData(i, 6 + j + 1) = Replace(items(j), "/", "")
+ Next j
+ 'Num
+ keys = res("Response")("Data")(i)("NumHash").keys
+ items = res("Response")("Data")(i)("NumHash").items
+ count = res("Response")("Data")(i)("NumHash").count
+ For j = 0 To count - 1
+ data.Add keys(j), items(j)
+ arrData(i, 6 + count + j + 1) = items(j)
+ Next j
+ 'Date
+ keys = res("Response")("Data")(i)("DateHash").keys
+ items = res("Response")("Data")(i)("DateHash").items
+ count = res("Response")("Data")(i)("DateHash").count
+ For j = 0 To count - 1
+ data.Add keys(j), stringToDate(items(j))
+ arrData(i, 6 + count * 2 + j + 1) = stringToDate(items(j))
+ Next j
+
+ 'Description
+ 'keys = res("Response")("Data")(i)("DescriptionHash").keys
+ 'items = res("Response")("Data")(i)("DescriptionHash").items
+ 'count = res("Response")("Data")(i)("DescriptionHash").count
+ 'For j = 0 To count - 1
+ ' data.Add keys(j), items(j)
+ 'Next j
+
+ If shExist1 Then
+ Debug.Print shopName
+ Dim g
+ g = 3
+ Dim id1, id2, id3, id4, id5, id6
+ For j = 1 To 12
+ id1 = "Description" & Format(j, "000") '-v 4
+ id2 = "Description" & Format(j + 60, "000") 'H-v 26
+ id3 = "Description" & Format(j + 120, "000") '-v 48
+
+ id4 = "Description" & Format(j + 20, "000") '- 15
+ id5 = "Description" & Format(j + 80, "000") 'H- 37
+ id6 = "Description" & Format(j + 140, "000") '- 59
+
+
+ 'Call exportJsonToSheet(res("Response")("Data")(i)("DescriptionHash")(id1), g, 4, shopName & "_DATA")
+ 'Call exportJsonToSheet(res("Response")("Data")(i)("DescriptionHash")(id2), g, 26, shopName & "_DATA")
+ 'Call exportJsonToSheet(res("Response")("Data")(i)("DescriptionHash")(id3), g, 48, shopName & "_DATA")
+ 'Call exportJsonToSheet(res("Response")("Data")(i)("DescriptionHash")(id4), g, 15, shopName & "_DATA")
+ 'Call exportJsonToSheet(res("Response")("Data")(i)("DescriptionHash")(id5), g, 37, shopName & "_DATA")
+ 'Call exportJsonToSheet(res("Response")("Data")(i)("DescriptionHash")(id6), g, 59, shopName & "_DATA")
+
+ g = g + 7
+ Next j
+
+ End If
+
+ 'Check
+ keys = res("Response")("Data")(i)("CheckHash").keys
+ items = res("Response")("Data")(i)("CheckHash").items
+ count = res("Response")("Data")(i)("CheckHash").count
+ For j = 0 To count - 1
+ data.Add keys(j), items(j)
+ arrData(i, 6 + count * 3 + j + 1) = items(j)
+ Next j
+
+
+ Dim k, itemCount As Long
+ itemCount = data.count
+ For k = 1 To itemCount
+ If (i + lastRow - 1) = 1 Then
+ 'Sh.Cells((i + lastRow - 1), k) = data.keys(k - 1)
+ End If
+
+ 'Sh.Cells((i + lastRow), k) = data.items(k - 1)
+ Next k
+
+ data.RemoveAll
+
+ Next i
+
+ ' z̓eꊇŃV[gɏ
+ Sh.Range(Sh.Cells(lastRow + 1, 1), Sh.Cells(lastRow + dataCount, 100)).Value = arrData
+
+ Debug.Print "o͊"
+End Function
+
+Function exportJsonToSheet(dataStr, col, row, shName)
+
+ Dim Sh As Worksheet
+ Set Sh = Worksheets(shName)
+ Sh.Range(Sh.Cells(row, col), Sh.Cells(row + 9, col + 5)).ClearContents
+
+ If dataStr <> "" Then
+ Dim dataObj As Object
+ Set dataObj = JsonConverter.ParseJson(dataStr)
+
+ Dim var, i
+ i = 0
+ For Each var In dataObj
+ Sh.Cells(row + i, col) = stringToDate(var("1"))
+ Sh.Cells(row + i, col + 1) = var("2")
+ Sh.Cells(row + i, col + 2) = var("3")
+ Sh.Cells(row + i, col + 3) = var("4")
+ Sh.Cells(row + i, col + 4) = var("6")
+ Sh.Cells(row + i, col + 5) = var("7")
+ i = i + 1
+ Next var
+ End If
+
+End Function
\ No newline at end of file
diff --git a/XVBA/事業計画集計【簡易版】/config.json b/XVBA/事業計画集計【簡易版】/config.json
new file mode 100644
index 00000000..43d5928e
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/config.json
@@ -0,0 +1,14 @@
+{
+ "app_name": "XVBA",
+ "description": "",
+ "author": "",
+ "email": "",
+ "create_ate": "Sat Nov 08 2025 11:35:41 GMT+0900 (日本標準時)",
+ "excel_file": "【2025経営計画】新・事業計画集計【簡易版】v1.0.xlsm",
+ "vba_folder": "vba-files",
+ "ribbon_file": "customUI14",
+ "ribbon_folder": "ribbons",
+ "logs": "on",
+ "xvba_packages": {},
+ "xvba_dev_packages": {}
+}
\ No newline at end of file
diff --git a/XVBA/事業計画集計【簡易版】/package.json b/XVBA/事業計画集計【簡易版】/package.json
new file mode 100644
index 00000000..a8deae27
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "xvba-app",
+ "version": "1.0.0",
+ "description": "A XVBA App",
+ "main": "index.js",
+ "author": "LocalSmart",
+ "license": "ISC",
+ "dependencies": {
+ "excel-types": "1.0.0",
+ "Xlog": "1.0.0"
+ },
+ "devDependencies": {
+ "@localsmart/xvba-cli": "^1.0.2"
+ }
+}
\ No newline at end of file
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet1.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet1.cls
new file mode 100644
index 00000000..34122d33
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet1.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet1"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet10.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet10.cls
new file mode 100644
index 00000000..26de6af1
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet10.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet10"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet11.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet11.cls
new file mode 100644
index 00000000..9a6dee97
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet11.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet11"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet110.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet110.cls
new file mode 100644
index 00000000..e252d8c0
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet110.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet110"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet12.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet12.cls
new file mode 100644
index 00000000..65530ac4
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet12.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet12"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet120.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet120.cls
new file mode 100644
index 00000000..b2cf6540
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet120.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet120"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet1201.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet1201.cls
new file mode 100644
index 00000000..61e240a5
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet1201.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet1201"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet121.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet121.cls
new file mode 100644
index 00000000..fd1c2113
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet121.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet121"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet122.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet122.cls
new file mode 100644
index 00000000..7fd30445
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet122.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet122"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet123.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet123.cls
new file mode 100644
index 00000000..76734a60
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet123.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet123"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet124.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet124.cls
new file mode 100644
index 00000000..9c0950d2
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet124.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet124"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet125.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet125.cls
new file mode 100644
index 00000000..7bb7c803
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet125.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet125"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet126.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet126.cls
new file mode 100644
index 00000000..a1b236b5
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet126.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet126"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet127.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet127.cls
new file mode 100644
index 00000000..d686605d
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet127.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet127"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet128.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet128.cls
new file mode 100644
index 00000000..39630ddd
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet128.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet128"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet129.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet129.cls
new file mode 100644
index 00000000..44f7f763
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet129.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet129"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet13.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet13.cls
new file mode 100644
index 00000000..90e7028a
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet13.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet13"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet130.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet130.cls
new file mode 100644
index 00000000..c1abb15a
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet130.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet130"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet131.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet131.cls
new file mode 100644
index 00000000..74ce3b7c
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet131.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet131"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet132.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet132.cls
new file mode 100644
index 00000000..b7884c51
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet132.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet132"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet133.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet133.cls
new file mode 100644
index 00000000..6e773d0e
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet133.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet133"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet134.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet134.cls
new file mode 100644
index 00000000..49ae0cc7
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet134.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet134"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet135.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet135.cls
new file mode 100644
index 00000000..3cc58afe
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet135.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet135"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet136.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet136.cls
new file mode 100644
index 00000000..c9a26ff2
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet136.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet136"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet137.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet137.cls
new file mode 100644
index 00000000..8c36e5b6
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet137.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet137"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet138.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet138.cls
new file mode 100644
index 00000000..f1cbf4fa
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet138.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet138"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet139.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet139.cls
new file mode 100644
index 00000000..c983191e
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet139.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet139"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet14.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet14.cls
new file mode 100644
index 00000000..4324809d
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet14.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet14"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet140.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet140.cls
new file mode 100644
index 00000000..860f6956
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet140.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet140"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet141.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet141.cls
new file mode 100644
index 00000000..158f8d5b
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet141.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet141"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet142.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet142.cls
new file mode 100644
index 00000000..70552fe5
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet142.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet142"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet143.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet143.cls
new file mode 100644
index 00000000..cc04faf5
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet143.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet143"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet144.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet144.cls
new file mode 100644
index 00000000..90fe5871
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet144.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet144"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet145.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet145.cls
new file mode 100644
index 00000000..9d9923c3
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet145.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet145"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet146.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet146.cls
new file mode 100644
index 00000000..1031f6f8
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet146.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet146"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet147.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet147.cls
new file mode 100644
index 00000000..8d1a0111
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet147.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet147"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet148.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet148.cls
new file mode 100644
index 00000000..281322ae
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet148.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet148"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet149.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet149.cls
new file mode 100644
index 00000000..dc796369
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet149.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet149"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet15.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet15.cls
new file mode 100644
index 00000000..3470200e
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet15.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet15"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet150.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet150.cls
new file mode 100644
index 00000000..49475638
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet150.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet150"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet151.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet151.cls
new file mode 100644
index 00000000..0f669ec6
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet151.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet151"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet152.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet152.cls
new file mode 100644
index 00000000..7d91b612
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet152.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet152"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet153.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet153.cls
new file mode 100644
index 00000000..c77f81ac
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet153.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet153"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet16.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet16.cls
new file mode 100644
index 00000000..f463f889
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet16.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet16"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet17.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet17.cls
new file mode 100644
index 00000000..b55e1e56
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet17.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet17"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet18.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet18.cls
new file mode 100644
index 00000000..03b35007
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet18.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet18"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet19.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet19.cls
new file mode 100644
index 00000000..3e6aaac9
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet19.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet19"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet2.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet2.cls
new file mode 100644
index 00000000..bae245ef
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet2.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet2"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet20.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet20.cls
new file mode 100644
index 00000000..2821c5ac
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet20.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet20"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet21.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet21.cls
new file mode 100644
index 00000000..35a666cb
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet21.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet21"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet210.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet210.cls
new file mode 100644
index 00000000..4d5eca11
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet210.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet210"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet215.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet215.cls
new file mode 100644
index 00000000..f6139c91
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet215.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet215"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet2151.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet2151.cls
new file mode 100644
index 00000000..664142bd
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet2151.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet2151"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet216.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet216.cls
new file mode 100644
index 00000000..76ca9cf2
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet216.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet216"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet2161.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet2161.cls
new file mode 100644
index 00000000..3ca63312
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet2161.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet2161"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet217.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet217.cls
new file mode 100644
index 00000000..e34a0fc0
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet217.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet217"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet218.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet218.cls
new file mode 100644
index 00000000..fe8a54c0
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet218.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet218"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet219.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet219.cls
new file mode 100644
index 00000000..46ffaa4d
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet219.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet219"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet22.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet22.cls
new file mode 100644
index 00000000..26e440e3
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet22.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet22"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet220.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet220.cls
new file mode 100644
index 00000000..f7c3edc6
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet220.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet220"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet221.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet221.cls
new file mode 100644
index 00000000..e0ed163c
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet221.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet221"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet222.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet222.cls
new file mode 100644
index 00000000..8558e514
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet222.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet222"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet223.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet223.cls
new file mode 100644
index 00000000..f468f4db
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet223.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet223"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet224.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet224.cls
new file mode 100644
index 00000000..1a19802e
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet224.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet224"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet225.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet225.cls
new file mode 100644
index 00000000..88b7004d
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet225.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet225"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet226.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet226.cls
new file mode 100644
index 00000000..5f76b98c
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet226.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet226"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet227.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet227.cls
new file mode 100644
index 00000000..4ad4c051
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet227.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet227"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet228.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet228.cls
new file mode 100644
index 00000000..10c5fbf3
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet228.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet228"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet229.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet229.cls
new file mode 100644
index 00000000..5bc2f307
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet229.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet229"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet23.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet23.cls
new file mode 100644
index 00000000..807cc1e4
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet23.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet23"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet230.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet230.cls
new file mode 100644
index 00000000..5f5ea003
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet230.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet230"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet231.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet231.cls
new file mode 100644
index 00000000..b75dff98
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet231.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet231"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet232.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet232.cls
new file mode 100644
index 00000000..d74559fc
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet232.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet232"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet233.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet233.cls
new file mode 100644
index 00000000..2fd328d6
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet233.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet233"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet234.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet234.cls
new file mode 100644
index 00000000..16291710
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet234.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet234"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet235.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet235.cls
new file mode 100644
index 00000000..00c2fbd3
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet235.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet235"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet236.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet236.cls
new file mode 100644
index 00000000..9fa48682
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet236.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet236"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet237.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet237.cls
new file mode 100644
index 00000000..5339f612
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet237.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet237"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet238.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet238.cls
new file mode 100644
index 00000000..309ef224
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet238.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet238"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet239.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet239.cls
new file mode 100644
index 00000000..1f28e4f3
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet239.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet239"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet24.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet24.cls
new file mode 100644
index 00000000..7f57500d
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet24.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet24"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet240.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet240.cls
new file mode 100644
index 00000000..976f399c
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet240.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet240"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet241.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet241.cls
new file mode 100644
index 00000000..2b3fca5a
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet241.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet241"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet242.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet242.cls
new file mode 100644
index 00000000..eae9cf9f
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet242.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet242"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet243.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet243.cls
new file mode 100644
index 00000000..da503d85
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet243.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet243"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet244.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet244.cls
new file mode 100644
index 00000000..11790629
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet244.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet244"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet245.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet245.cls
new file mode 100644
index 00000000..cb091d26
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet245.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet245"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet246.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet246.cls
new file mode 100644
index 00000000..408d972e
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet246.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet246"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet247.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet247.cls
new file mode 100644
index 00000000..b838f32c
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet247.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet247"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet248.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet248.cls
new file mode 100644
index 00000000..935df63e
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet248.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet248"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet249.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet249.cls
new file mode 100644
index 00000000..391008a8
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet249.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet249"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet25.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet25.cls
new file mode 100644
index 00000000..9a0d662f
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet25.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet25"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet26.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet26.cls
new file mode 100644
index 00000000..85d938c4
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet26.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet26"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet27.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet27.cls
new file mode 100644
index 00000000..a023af98
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet27.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet27"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet28.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet28.cls
new file mode 100644
index 00000000..c090f504
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet28.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet28"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet29.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet29.cls
new file mode 100644
index 00000000..3840b8d1
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet29.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet29"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet3.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet3.cls
new file mode 100644
index 00000000..b0b36e83
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet3.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet3"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet30.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet30.cls
new file mode 100644
index 00000000..f16dfb8c
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet30.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet30"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet31.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet31.cls
new file mode 100644
index 00000000..6905d0a6
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet31.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet31"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet310.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet310.cls
new file mode 100644
index 00000000..062c82ab
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet310.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet310"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet32.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet32.cls
new file mode 100644
index 00000000..8cc0c7e4
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet32.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet32"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet33.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet33.cls
new file mode 100644
index 00000000..fb9f552f
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet33.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet33"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet331.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet331.cls
new file mode 100644
index 00000000..74d054c6
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet331.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet331"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet34.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet34.cls
new file mode 100644
index 00000000..5d1e4c60
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet34.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet34"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet341.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet341.cls
new file mode 100644
index 00000000..c484d768
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet341.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet341"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet35.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet35.cls
new file mode 100644
index 00000000..2e36cc70
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet35.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet35"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet36.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet36.cls
new file mode 100644
index 00000000..887a9f2a
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet36.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet36"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet37.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet37.cls
new file mode 100644
index 00000000..bfbf99c4
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet37.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet37"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet38.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet38.cls
new file mode 100644
index 00000000..38149f6a
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet38.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet38"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet39.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet39.cls
new file mode 100644
index 00000000..849aa162
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet39.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet39"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet4.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet4.cls
new file mode 100644
index 00000000..c9ba7ab7
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet4.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet4"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet40.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet40.cls
new file mode 100644
index 00000000..c7b2afa1
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet40.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet40"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet41.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet41.cls
new file mode 100644
index 00000000..c27b7a0c
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet41.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet41"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet42.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet42.cls
new file mode 100644
index 00000000..b2ff87c8
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet42.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet42"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet47.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet47.cls
new file mode 100644
index 00000000..9978b5d4
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet47.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet47"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet471.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet471.cls
new file mode 100644
index 00000000..8f4b8cef
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet471.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet471"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet48.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet48.cls
new file mode 100644
index 00000000..f5f17bf6
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet48.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet48"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet481.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet481.cls
new file mode 100644
index 00000000..0693a6f0
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet481.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet481"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet49.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet49.cls
new file mode 100644
index 00000000..f31204b7
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet49.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet49"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet491.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet491.cls
new file mode 100644
index 00000000..bbd7ce45
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet491.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet491"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet5.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet5.cls
new file mode 100644
index 00000000..256756ea
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet5.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet5"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet51.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet51.cls
new file mode 100644
index 00000000..44ee2531
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet51.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet51"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet6.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet6.cls
new file mode 100644
index 00000000..eb370ff4
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet6.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet6"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet61.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet61.cls
new file mode 100644
index 00000000..0b98a59a
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet61.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet61"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet7.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet7.cls
new file mode 100644
index 00000000..9d6db4a0
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet7.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet7"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet71.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet71.cls
new file mode 100644
index 00000000..4058c290
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet71.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet71"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet8.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet8.cls
new file mode 100644
index 00000000..39390f11
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet8.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet8"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet9.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet9.cls
new file mode 100644
index 00000000..c37cda0d
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/Sheet9.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet9"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Class/ThisWorkbook.cls b/XVBA/事業計画集計【簡易版】/vba-files/Class/ThisWorkbook.cls
new file mode 100644
index 00000000..6e197c86
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Class/ThisWorkbook.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "ThisWorkbook"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Module/JsonConverter.bas b/XVBA/事業計画集計【簡易版】/vba-files/Module/JsonConverter.bas
new file mode 100644
index 00000000..3aec36d2
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Module/JsonConverter.bas
@@ -0,0 +1,1123 @@
+Attribute VB_Name = "JsonConverter"
+''
+' VBA-JSON v2.3.1
+' (c) Tim Hall - https://github.com/VBA-tools/VBA-JSON
+'
+' JSON Converter for VBA
+'
+' Errors:
+' 10001 - JSON parse error
+'
+' @class JsonConverter
+' @author tim.hall.engr@gmail.com
+' @license MIT (http://www.opensource.org/licenses/mit-license.php)
+'' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ '
+'
+' Based originally on vba-json (with extensive changes)
+' BSD license included below
+'
+' JSONLib, http://code.google.com/p/vba-json/
+'
+' Copyright (c) 2013, Ryo Yokoyama
+' All rights reserved.
+'
+' Redistribution and use in source and binary forms, with or without
+' modification, are permitted provided that the following conditions are met:
+' * Redistributions of source code must retain the above copyright
+' notice, this list of conditions and the following disclaimer.
+' * Redistributions in binary form must reproduce the above copyright
+' notice, this list of conditions and the following disclaimer in the
+' documentation and/or other materials provided with the distribution.
+' * Neither the name of the nor the
+' names of its contributors may be used to endorse or promote products
+' derived from this software without specific prior written permission.
+'
+' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+' ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+' WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+' DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
+' DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+' (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+' LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+' ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+' (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+' SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ '
+Option Explicit
+
+' === VBA-UTC Headers
+#If Mac Then
+
+#If VBA7 Then
+
+' 64-bit Mac (2016)
+Private Declare PtrSafe Function utc_popen Lib "/usr/lib/libc.dylib" Alias "popen" _
+ (ByVal utc_Command As String, ByVal utc_Mode As String) As LongPtr
+Private Declare PtrSafe Function utc_pclose Lib "/usr/lib/libc.dylib" Alias "pclose" _
+ (ByVal utc_File As LongPtr) As LongPtr
+Private Declare PtrSafe Function utc_fread Lib "/usr/lib/libc.dylib" Alias "fread" _
+ (ByVal utc_Buffer As String, ByVal utc_Size As LongPtr, ByVal utc_Number As LongPtr, ByVal utc_File As LongPtr) As LongPtr
+Private Declare PtrSafe Function utc_feof Lib "/usr/lib/libc.dylib" Alias "feof" _
+ (ByVal utc_File As LongPtr) As LongPtr
+
+#Else
+
+' 32-bit Mac
+Private Declare Function utc_popen Lib "libc.dylib" Alias "popen" _
+ (ByVal utc_Command As String, ByVal utc_Mode As String) As Long
+Private Declare Function utc_pclose Lib "libc.dylib" Alias "pclose" _
+ (ByVal utc_File As Long) As Long
+Private Declare Function utc_fread Lib "libc.dylib" Alias "fread" _
+ (ByVal utc_Buffer As String, ByVal utc_Size As Long, ByVal utc_Number As Long, ByVal utc_File As Long) As Long
+Private Declare Function utc_feof Lib "libc.dylib" Alias "feof" _
+ (ByVal utc_File As Long) As Long
+
+#End If
+
+#ElseIf VBA7 Then
+
+' http://msdn.microsoft.com/en-us/library/windows/desktop/ms724421.aspx
+' http://msdn.microsoft.com/en-us/library/windows/desktop/ms724949.aspx
+' http://msdn.microsoft.com/en-us/library/windows/desktop/ms725485.aspx
+Private Declare PtrSafe Function utc_GetTimeZoneInformation Lib "kernel32" Alias "GetTimeZoneInformation" _
+ (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION) As Long
+Private Declare PtrSafe Function utc_SystemTimeToTzSpecificLocalTime Lib "kernel32" Alias "SystemTimeToTzSpecificLocalTime" _
+ (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpUniversalTime As utc_SYSTEMTIME, utc_lpLocalTime As utc_SYSTEMTIME) As Long
+Private Declare PtrSafe Function utc_TzSpecificLocalTimeToSystemTime Lib "kernel32" Alias "TzSpecificLocalTimeToSystemTime" _
+ (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpLocalTime As utc_SYSTEMTIME, utc_lpUniversalTime As utc_SYSTEMTIME) As Long
+
+#Else
+
+Private Declare Function utc_GetTimeZoneInformation Lib "kernel32" Alias "GetTimeZoneInformation" _
+ (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION) As Long
+Private Declare Function utc_SystemTimeToTzSpecificLocalTime Lib "kernel32" Alias "SystemTimeToTzSpecificLocalTime" _
+ (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpUniversalTime As utc_SYSTEMTIME, utc_lpLocalTime As utc_SYSTEMTIME) As Long
+Private Declare Function utc_TzSpecificLocalTimeToSystemTime Lib "kernel32" Alias "TzSpecificLocalTimeToSystemTime" _
+ (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpLocalTime As utc_SYSTEMTIME, utc_lpUniversalTime As utc_SYSTEMTIME) As Long
+
+#End If
+
+#If Mac Then
+
+#If VBA7 Then
+Private Type utc_ShellResult
+ utc_Output As String
+ utc_ExitCode As LongPtr
+End Type
+
+#Else
+
+Private Type utc_ShellResult
+ utc_Output As String
+ utc_ExitCode As Long
+End Type
+
+#End If
+
+#Else
+
+Private Type utc_SYSTEMTIME
+ utc_wYear As Integer
+ utc_wMonth As Integer
+ utc_wDayOfWeek As Integer
+ utc_wDay As Integer
+ utc_wHour As Integer
+ utc_wMinute As Integer
+ utc_wSecond As Integer
+ utc_wMilliseconds As Integer
+End Type
+
+Private Type utc_TIME_ZONE_INFORMATION
+ utc_Bias As Long
+ utc_StandardName(0 To 31) As Integer
+ utc_StandardDate As utc_SYSTEMTIME
+ utc_StandardBias As Long
+ utc_DaylightName(0 To 31) As Integer
+ utc_DaylightDate As utc_SYSTEMTIME
+ utc_DaylightBias As Long
+End Type
+
+#End If
+' === End VBA-UTC
+
+Private Type json_Options
+ ' VBA only stores 15 significant digits, so any numbers larger than that are truncated
+ ' This can lead to issues when BIGINT's are used (e.g. for Ids or Credit Cards), as they will be invalid above 15 digits
+ ' See: http://support.microsoft.com/kb/269370
+ '
+ ' By default, VBA-JSON will use String for numbers longer than 15 characters that contain only digits
+ ' to override set `JsonConverter.JsonOptions.UseDoubleForLargeNumbers = True`
+ UseDoubleForLargeNumbers As Boolean
+
+ ' The JSON standard requires object keys to be quoted (" or '), use this option to allow unquoted keys
+ AllowUnquotedKeys As Boolean
+
+ ' The solidus (/) is not required to be escaped, use this option to escape them as \/ in ConvertToJson
+ EscapeSolidus As Boolean
+End Type
+Public JsonOptions As json_Options
+
+' ============================================= '
+' Public Methods
+' ============================================= '
+
+''
+' Convert JSON string to object (Dictionary/Collection)
+'
+' @method ParseJson
+' @param {String} json_String
+' @return {Object} (Dictionary or Collection)
+' @throws 10001 - JSON parse error
+''
+Public Function ParseJson(ByVal JsonString As String) As Object
+ Dim json_Index As Long
+ json_Index = 1
+
+ ' Remove vbCr, vbLf, and vbTab from json_String
+ JsonString = VBA.Replace(VBA.Replace(VBA.Replace(JsonString, VBA.vbCr, ""), VBA.vbLf, ""), VBA.vbTab, "")
+
+ json_SkipSpaces JsonString, json_Index
+ Select Case VBA.Mid$(JsonString, json_Index, 1)
+ Case "{"
+ Set ParseJson = json_ParseObject(JsonString, json_Index)
+ Case "["
+ Set ParseJson = json_ParseArray(JsonString, json_Index)
+ Case Else
+ ' Error: Invalid JSON string
+ Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(JsonString, json_Index, "Expecting '{' or '['")
+ End Select
+End Function
+
+''
+' Convert object (Dictionary/Collection/Array) to JSON
+'
+' @method ConvertToJson
+' @param {Variant} JsonValue (Dictionary, Collection, or Array)
+' @param {Integer|String} Whitespace "Pretty" print json with given number of spaces per indentation (Integer) or given string
+' @return {String}
+''
+Public Function ConvertToJson(ByVal JsonValue As Variant, Optional ByVal Whitespace As Variant, Optional ByVal json_CurrentIndentation As Long = 0) As String
+ Dim json_Buffer As String
+ Dim json_BufferPosition As Long
+ Dim json_BufferLength As Long
+ Dim json_Index As Long
+ Dim json_LBound As Long
+ Dim json_UBound As Long
+ Dim json_IsFirstItem As Boolean
+ Dim json_Index2D As Long
+ Dim json_LBound2D As Long
+ Dim json_UBound2D As Long
+ Dim json_IsFirstItem2D As Boolean
+ Dim json_Key As Variant
+ Dim json_Value As Variant
+ Dim json_DateStr As String
+ Dim json_Converted As String
+ Dim json_SkipItem As Boolean
+ Dim json_PrettyPrint As Boolean
+ Dim json_Indentation As String
+ Dim json_InnerIndentation As String
+
+ json_LBound = -1
+ json_UBound = -1
+ json_IsFirstItem = True
+ json_LBound2D = -1
+ json_UBound2D = -1
+ json_IsFirstItem2D = True
+ json_PrettyPrint = Not IsMissing(Whitespace)
+
+ Select Case VBA.VarType(JsonValue)
+ Case VBA.vbNull
+ ConvertToJson = "null"
+ Case VBA.vbDate
+ ' Date
+ json_DateStr = ConvertToIso(VBA.CDate(JsonValue))
+
+ ConvertToJson = """" & json_DateStr & """"
+ Case VBA.vbString
+ ' String (or large number encoded as string)
+ If Not JsonOptions.UseDoubleForLargeNumbers And json_StringIsLargeNumber(JsonValue) Then
+ ConvertToJson = JsonValue
+ Else
+ ConvertToJson = """" & json_Encode(JsonValue) & """"
+ End If
+ Case VBA.vbBoolean
+ If JsonValue Then
+ ConvertToJson = "true"
+ Else
+ ConvertToJson = "false"
+ End If
+ Case VBA.vbArray To VBA.vbArray + VBA.vbByte
+ If json_PrettyPrint Then
+ If VBA.VarType(Whitespace) = VBA.vbString Then
+ json_Indentation = VBA.String$(json_CurrentIndentation + 1, Whitespace)
+ json_InnerIndentation = VBA.String$(json_CurrentIndentation + 2, Whitespace)
+ Else
+ json_Indentation = VBA.Space$((json_CurrentIndentation + 1) * Whitespace)
+ json_InnerIndentation = VBA.Space$((json_CurrentIndentation + 2) * Whitespace)
+ End If
+ End If
+
+ ' Array
+ json_BufferAppend json_Buffer, "[", json_BufferPosition, json_BufferLength
+
+ On Error Resume Next
+
+ json_LBound = LBound(JsonValue, 1)
+ json_UBound = UBound(JsonValue, 1)
+ json_LBound2D = LBound(JsonValue, 2)
+ json_UBound2D = UBound(JsonValue, 2)
+
+ If json_LBound >= 0 And json_UBound >= 0 Then
+ For json_Index = json_LBound To json_UBound
+ If json_IsFirstItem Then
+ json_IsFirstItem = False
+ Else
+ ' Append comma to previous line
+ json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength
+ End If
+
+ If json_LBound2D >= 0 And json_UBound2D >= 0 Then
+ ' 2D Array
+ If json_PrettyPrint Then
+ json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength
+ End If
+ json_BufferAppend json_Buffer, json_Indentation & "[", json_BufferPosition, json_BufferLength
+
+ For json_Index2D = json_LBound2D To json_UBound2D
+ If json_IsFirstItem2D Then
+ json_IsFirstItem2D = False
+ Else
+ json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength
+ End If
+
+ json_Converted = ConvertToJson(JsonValue(json_Index, json_Index2D), Whitespace, json_CurrentIndentation + 2)
+
+ ' For Arrays/Collections, undefined (Empty/Nothing) is treated as null
+ If json_Converted = "" Then
+ ' (nest to only check if converted = "")
+ If json_IsUndefined(JsonValue(json_Index, json_Index2D)) Then
+ json_Converted = "null"
+ End If
+ End If
+
+ If json_PrettyPrint Then
+ json_Converted = vbNewLine & json_InnerIndentation & json_Converted
+ End If
+
+ json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength
+ Next json_Index2D
+
+ If json_PrettyPrint Then
+ json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength
+ End If
+
+ json_BufferAppend json_Buffer, json_Indentation & "]", json_BufferPosition, json_BufferLength
+ json_IsFirstItem2D = True
+ Else
+ ' 1D Array
+ json_Converted = ConvertToJson(JsonValue(json_Index), Whitespace, json_CurrentIndentation + 1)
+
+ ' For Arrays/Collections, undefined (Empty/Nothing) is treated as null
+ If json_Converted = "" Then
+ ' (nest to only check if converted = "")
+ If json_IsUndefined(JsonValue(json_Index)) Then
+ json_Converted = "null"
+ End If
+ End If
+
+ If json_PrettyPrint Then
+ json_Converted = vbNewLine & json_Indentation & json_Converted
+ End If
+
+ json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength
+ End If
+ Next json_Index
+ End If
+
+ On Error GoTo 0
+
+ If json_PrettyPrint Then
+ json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength
+
+ If VBA.VarType(Whitespace) = VBA.vbString Then
+ json_Indentation = VBA.String$(json_CurrentIndentation, Whitespace)
+ Else
+ json_Indentation = VBA.Space$(json_CurrentIndentation * Whitespace)
+ End If
+ End If
+
+ json_BufferAppend json_Buffer, json_Indentation & "]", json_BufferPosition, json_BufferLength
+
+ ConvertToJson = json_BufferToString(json_Buffer, json_BufferPosition)
+
+ ' Dictionary or Collection
+ Case VBA.vbObject
+ If json_PrettyPrint Then
+ If VBA.VarType(Whitespace) = VBA.vbString Then
+ json_Indentation = VBA.String$(json_CurrentIndentation + 1, Whitespace)
+ Else
+ json_Indentation = VBA.Space$((json_CurrentIndentation + 1) * Whitespace)
+ End If
+ End If
+
+ ' Dictionary
+ If VBA.TypeName(JsonValue) = "Dictionary" Then
+ json_BufferAppend json_Buffer, "{", json_BufferPosition, json_BufferLength
+ For Each json_Key In JsonValue.keys
+ ' For Objects, undefined (Empty/Nothing) is not added to object
+ json_Converted = ConvertToJson(JsonValue(json_Key), Whitespace, json_CurrentIndentation + 1)
+ If json_Converted = "" Then
+ json_SkipItem = json_IsUndefined(JsonValue(json_Key))
+ Else
+ json_SkipItem = False
+ End If
+
+ If Not json_SkipItem Then
+ If json_IsFirstItem Then
+ json_IsFirstItem = False
+ Else
+ json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength
+ End If
+
+ If json_PrettyPrint Then
+ json_Converted = vbNewLine & json_Indentation & """" & json_Key & """: " & json_Converted
+ Else
+ json_Converted = """" & json_Key & """:" & json_Converted
+ End If
+
+ json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength
+ End If
+ Next json_Key
+
+ If json_PrettyPrint Then
+ json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength
+
+ If VBA.VarType(Whitespace) = VBA.vbString Then
+ json_Indentation = VBA.String$(json_CurrentIndentation, Whitespace)
+ Else
+ json_Indentation = VBA.Space$(json_CurrentIndentation * Whitespace)
+ End If
+ End If
+
+ json_BufferAppend json_Buffer, json_Indentation & "}", json_BufferPosition, json_BufferLength
+
+ ' Collection
+ ElseIf VBA.TypeName(JsonValue) = "Collection" Then
+ json_BufferAppend json_Buffer, "[", json_BufferPosition, json_BufferLength
+ For Each json_Value In JsonValue
+ If json_IsFirstItem Then
+ json_IsFirstItem = False
+ Else
+ json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength
+ End If
+
+ json_Converted = ConvertToJson(json_Value, Whitespace, json_CurrentIndentation + 1)
+
+ ' For Arrays/Collections, undefined (Empty/Nothing) is treated as null
+ If json_Converted = "" Then
+ ' (nest to only check if converted = "")
+ If json_IsUndefined(json_Value) Then
+ json_Converted = "null"
+ End If
+ End If
+
+ If json_PrettyPrint Then
+ json_Converted = vbNewLine & json_Indentation & json_Converted
+ End If
+
+ json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength
+ Next json_Value
+
+ If json_PrettyPrint Then
+ json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength
+
+ If VBA.VarType(Whitespace) = VBA.vbString Then
+ json_Indentation = VBA.String$(json_CurrentIndentation, Whitespace)
+ Else
+ json_Indentation = VBA.Space$(json_CurrentIndentation * Whitespace)
+ End If
+ End If
+
+ json_BufferAppend json_Buffer, json_Indentation & "]", json_BufferPosition, json_BufferLength
+ End If
+
+ ConvertToJson = json_BufferToString(json_Buffer, json_BufferPosition)
+ Case VBA.vbInteger, VBA.vbLong, VBA.vbSingle, VBA.vbDouble, VBA.vbCurrency, VBA.vbDecimal
+ ' Number (use decimals for numbers)
+ ConvertToJson = VBA.Replace(JsonValue, ",", ".")
+ Case Else
+ ' vbEmpty, vbError, vbDataObject, vbByte, vbUserDefinedType
+ ' Use VBA's built-in to-string
+ On Error Resume Next
+ ConvertToJson = JsonValue
+ On Error GoTo 0
+ End Select
+End Function
+
+' ============================================= '
+' Private Functions
+' ============================================= '
+
+Private Function json_ParseObject(json_String As String, ByRef json_Index As Long) As Dictionary
+ Dim json_Key As String
+ Dim json_NextChar As String
+
+ Set json_ParseObject = New Dictionary
+ json_SkipSpaces json_String, json_Index
+ If VBA.Mid$(json_String, json_Index, 1) <> "{" Then
+ Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting '{'")
+ Else
+ json_Index = json_Index + 1
+
+ Do
+ json_SkipSpaces json_String, json_Index
+ If VBA.Mid$(json_String, json_Index, 1) = "}" Then
+ json_Index = json_Index + 1
+ Exit Function
+ ElseIf VBA.Mid$(json_String, json_Index, 1) = "," Then
+ json_Index = json_Index + 1
+ json_SkipSpaces json_String, json_Index
+ End If
+
+ json_Key = json_ParseKey(json_String, json_Index)
+ json_NextChar = json_Peek(json_String, json_Index)
+ If json_NextChar = "[" Or json_NextChar = "{" Then
+ Set json_ParseObject.Item(json_Key) = json_ParseValue(json_String, json_Index)
+ Else
+ json_ParseObject.Item(json_Key) = json_ParseValue(json_String, json_Index)
+ End If
+ Loop
+ End If
+End Function
+
+Private Function json_ParseArray(json_String As String, ByRef json_Index As Long) As Collection
+ Set json_ParseArray = New Collection
+
+ json_SkipSpaces json_String, json_Index
+ If VBA.Mid$(json_String, json_Index, 1) <> "[" Then
+ Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting '['")
+ Else
+ json_Index = json_Index + 1
+
+ Do
+ json_SkipSpaces json_String, json_Index
+ If VBA.Mid$(json_String, json_Index, 1) = "]" Then
+ json_Index = json_Index + 1
+ Exit Function
+ ElseIf VBA.Mid$(json_String, json_Index, 1) = "," Then
+ json_Index = json_Index + 1
+ json_SkipSpaces json_String, json_Index
+ End If
+
+ json_ParseArray.Add json_ParseValue(json_String, json_Index)
+ Loop
+ End If
+End Function
+
+Private Function json_ParseValue(json_String As String, ByRef json_Index As Long) As Variant
+ json_SkipSpaces json_String, json_Index
+ Select Case VBA.Mid$(json_String, json_Index, 1)
+ Case "{"
+ Set json_ParseValue = json_ParseObject(json_String, json_Index)
+ Case "["
+ Set json_ParseValue = json_ParseArray(json_String, json_Index)
+ Case """", "'"
+ json_ParseValue = json_ParseString(json_String, json_Index)
+ Case Else
+ If VBA.Mid$(json_String, json_Index, 4) = "true" Then
+ json_ParseValue = True
+ json_Index = json_Index + 4
+ ElseIf VBA.Mid$(json_String, json_Index, 5) = "false" Then
+ json_ParseValue = False
+ json_Index = json_Index + 5
+ ElseIf VBA.Mid$(json_String, json_Index, 4) = "null" Then
+ json_ParseValue = Null
+ json_Index = json_Index + 4
+ ElseIf VBA.InStr("+-0123456789", VBA.Mid$(json_String, json_Index, 1)) Then
+ json_ParseValue = json_ParseNumber(json_String, json_Index)
+ Else
+ Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting 'STRING', 'NUMBER', null, true, false, '{', or '['")
+ End If
+ End Select
+End Function
+
+Private Function json_ParseString(json_String As String, ByRef json_Index As Long) As String
+ Dim json_Quote As String
+ Dim json_Char As String
+ Dim json_Code As String
+ Dim json_Buffer As String
+ Dim json_BufferPosition As Long
+ Dim json_BufferLength As Long
+
+ json_SkipSpaces json_String, json_Index
+
+ ' Store opening quote to look for matching closing quote
+ json_Quote = VBA.Mid$(json_String, json_Index, 1)
+ json_Index = json_Index + 1
+
+ Do While json_Index > 0 And json_Index <= Len(json_String)
+ json_Char = VBA.Mid$(json_String, json_Index, 1)
+
+ Select Case json_Char
+ Case "\"
+ ' Escaped string, \\, or \/
+ json_Index = json_Index + 1
+ json_Char = VBA.Mid$(json_String, json_Index, 1)
+
+ Select Case json_Char
+ Case """", "\", "/", "'"
+ json_BufferAppend json_Buffer, json_Char, json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 1
+ Case "b"
+ json_BufferAppend json_Buffer, vbBack, json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 1
+ Case "f"
+ json_BufferAppend json_Buffer, vbFormFeed, json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 1
+ Case "n"
+ json_BufferAppend json_Buffer, vbCrLf, json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 1
+ Case "r"
+ json_BufferAppend json_Buffer, vbCr, json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 1
+ Case "t"
+ json_BufferAppend json_Buffer, vbTab, json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 1
+ Case "u"
+ ' Unicode character escape (e.g. \u00a9 = Copyright)
+ json_Index = json_Index + 1
+ json_Code = VBA.Mid$(json_String, json_Index, 4)
+ json_BufferAppend json_Buffer, VBA.ChrW(VBA.Val("&h" + json_Code)), json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 4
+ End Select
+ Case json_Quote
+ json_ParseString = json_BufferToString(json_Buffer, json_BufferPosition)
+ json_Index = json_Index + 1
+ Exit Function
+ Case Else
+ json_BufferAppend json_Buffer, json_Char, json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 1
+ End Select
+ Loop
+End Function
+
+Private Function json_ParseNumber(json_String As String, ByRef json_Index As Long) As Variant
+ Dim json_Char As String
+ Dim json_Value As String
+ Dim json_IsLargeNumber As Boolean
+
+ json_SkipSpaces json_String, json_Index
+
+ Do While json_Index > 0 And json_Index <= Len(json_String)
+ json_Char = VBA.Mid$(json_String, json_Index, 1)
+
+ If VBA.InStr("+-0123456789.eE", json_Char) Then
+ ' Unlikely to have massive number, so use simple append rather than buffer here
+ json_Value = json_Value & json_Char
+ json_Index = json_Index + 1
+ Else
+ ' Excel only stores 15 significant digits, so any numbers larger than that are truncated
+ ' This can lead to issues when BIGINT's are used (e.g. for Ids or Credit Cards), as they will be invalid above 15 digits
+ ' See: http://support.microsoft.com/kb/269370
+ '
+ ' Fix: Parse -> String, Convert -> String longer than 15/16 characters containing only numbers and decimal points -> Number
+ ' (decimal doesn't factor into significant digit count, so if present check for 15 digits + decimal = 16)
+ json_IsLargeNumber = IIf(InStr(json_Value, "."), Len(json_Value) >= 17, Len(json_Value) >= 16)
+ If Not JsonOptions.UseDoubleForLargeNumbers And json_IsLargeNumber Then
+ json_ParseNumber = json_Value
+ Else
+ ' VBA.Val does not use regional settings, so guard for comma is not needed
+ json_ParseNumber = VBA.Val(json_Value)
+ End If
+ Exit Function
+ End If
+ Loop
+End Function
+
+Private Function json_ParseKey(json_String As String, ByRef json_Index As Long) As String
+ ' Parse key with single or double quotes
+ If VBA.Mid$(json_String, json_Index, 1) = """" Or VBA.Mid$(json_String, json_Index, 1) = "'" Then
+ json_ParseKey = json_ParseString(json_String, json_Index)
+ ElseIf JsonOptions.AllowUnquotedKeys Then
+ Dim json_Char As String
+ Do While json_Index > 0 And json_Index <= Len(json_String)
+ json_Char = VBA.Mid$(json_String, json_Index, 1)
+ If (json_Char <> " ") And (json_Char <> ":") Then
+ json_ParseKey = json_ParseKey & json_Char
+ json_Index = json_Index + 1
+ Else
+ Exit Do
+ End If
+ Loop
+ Else
+ Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting '""' or '''")
+ End If
+
+ ' Check for colon and skip if present or throw if not present
+ json_SkipSpaces json_String, json_Index
+ If VBA.Mid$(json_String, json_Index, 1) <> ":" Then
+ Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting ':'")
+ Else
+ json_Index = json_Index + 1
+ End If
+End Function
+
+Private Function json_IsUndefined(ByVal json_Value As Variant) As Boolean
+ ' Empty / Nothing -> undefined
+ Select Case VBA.VarType(json_Value)
+ Case VBA.vbEmpty
+ json_IsUndefined = True
+ Case VBA.vbObject
+ Select Case VBA.TypeName(json_Value)
+ Case "Empty", "Nothing"
+ json_IsUndefined = True
+ End Select
+ End Select
+End Function
+
+Private Function json_Encode(ByVal json_Text As Variant) As String
+ ' Reference: http://www.ietf.org/rfc/rfc4627.txt
+ ' Escape: ", \, /, backspace, form feed, line feed, carriage return, tab
+ Dim json_Index As Long
+ Dim json_Char As String
+ Dim json_AscCode As Long
+ Dim json_Buffer As String
+ Dim json_BufferPosition As Long
+ Dim json_BufferLength As Long
+
+ For json_Index = 1 To VBA.Len(json_Text)
+ json_Char = VBA.Mid$(json_Text, json_Index, 1)
+ json_AscCode = VBA.AscW(json_Char)
+
+ ' When AscW returns a negative number, it returns the twos complement form of that number.
+ ' To convert the twos complement notation into normal binary notation, add 0xFFF to the return result.
+ ' https://support.microsoft.com/en-us/kb/272138
+ If json_AscCode < 0 Then
+ json_AscCode = json_AscCode + 65536
+ End If
+
+ ' From spec, ", \, and control characters must be escaped (solidus is optional)
+
+ Select Case json_AscCode
+ Case 34
+ ' " -> 34 -> \"
+ json_Char = "\"""
+ Case 92
+ ' \ -> 92 -> \\
+ json_Char = "\\"
+ Case 47
+ ' / -> 47 -> \/ (optional)
+ If JsonOptions.EscapeSolidus Then
+ json_Char = "\/"
+ End If
+ Case 8
+ ' backspace -> 8 -> \b
+ json_Char = "\b"
+ Case 12
+ ' form feed -> 12 -> \f
+ json_Char = "\f"
+ Case 10
+ ' line feed -> 10 -> \n
+ json_Char = "\n"
+ Case 13
+ ' carriage return -> 13 -> \r
+ json_Char = "\r"
+ Case 9
+ ' tab -> 9 -> \t
+ json_Char = "\t"
+ Case 0 To 31, 127 To 65535
+ ' Non-ascii characters -> convert to 4-digit hex
+ json_Char = "\u" & VBA.Right$("0000" & VBA.Hex$(json_AscCode), 4)
+ End Select
+
+ json_BufferAppend json_Buffer, json_Char, json_BufferPosition, json_BufferLength
+ Next json_Index
+
+ json_Encode = json_BufferToString(json_Buffer, json_BufferPosition)
+End Function
+
+Private Function json_Peek(json_String As String, ByVal json_Index As Long, Optional json_NumberOfCharacters As Long = 1) As String
+ ' "Peek" at the next number of characters without incrementing json_Index (ByVal instead of ByRef)
+ json_SkipSpaces json_String, json_Index
+ json_Peek = VBA.Mid$(json_String, json_Index, json_NumberOfCharacters)
+End Function
+
+Private Sub json_SkipSpaces(json_String As String, ByRef json_Index As Long)
+ ' Increment index to skip over spaces
+ Do While json_Index > 0 And json_Index <= VBA.Len(json_String) And VBA.Mid$(json_String, json_Index, 1) = " "
+ json_Index = json_Index + 1
+ Loop
+End Sub
+
+Private Function json_StringIsLargeNumber(json_String As Variant) As Boolean
+ ' Check if the given string is considered a "large number"
+ ' (See json_ParseNumber)
+
+ Dim json_Length As Long
+ Dim json_CharIndex As Long
+ json_Length = VBA.Len(json_String)
+
+ ' Length with be at least 16 characters and assume will be less than 100 characters
+ If json_Length >= 16 And json_Length <= 100 Then
+ Dim json_CharCode As String
+
+ json_StringIsLargeNumber = True
+
+ For json_CharIndex = 1 To json_Length
+ json_CharCode = VBA.Asc(VBA.Mid$(json_String, json_CharIndex, 1))
+ Select Case json_CharCode
+ ' Look for .|0-9|E|e
+ Case 46, 48 To 57, 69, 101
+ ' Continue through characters
+ Case Else
+ json_StringIsLargeNumber = False
+ Exit Function
+ End Select
+ Next json_CharIndex
+ End If
+End Function
+
+Private Function json_ParseErrorMessage(json_String As String, ByRef json_Index As Long, ErrorMessage As String)
+ ' Provide detailed parse error message, including details of where and what occurred
+ '
+ ' Example:
+ ' Error parsing JSON:
+ ' {"abcde":True}
+ ' ^
+ ' Expecting 'STRING', 'NUMBER', null, true, false, '{', or '['
+
+ Dim json_StartIndex As Long
+ Dim json_StopIndex As Long
+
+ ' Include 10 characters before and after error (if possible)
+ json_StartIndex = json_Index - 10
+ json_StopIndex = json_Index + 10
+ If json_StartIndex <= 0 Then
+ json_StartIndex = 1
+ End If
+ If json_StopIndex > VBA.Len(json_String) Then
+ json_StopIndex = VBA.Len(json_String)
+ End If
+
+ json_ParseErrorMessage = "Error parsing JSON:" & VBA.vbNewLine & _
+ VBA.Mid$(json_String, json_StartIndex, json_StopIndex - json_StartIndex + 1) & VBA.vbNewLine & _
+ VBA.Space$(json_Index - json_StartIndex) & "^" & VBA.vbNewLine & _
+ ErrorMessage
+End Function
+
+Private Sub json_BufferAppend(ByRef json_Buffer As String, _
+ ByRef json_Append As Variant, _
+ ByRef json_BufferPosition As Long, _
+ ByRef json_BufferLength As Long)
+ ' VBA can be slow to append strings due to allocating a new string for each append
+ ' Instead of using the traditional append, allocate a large empty string and then copy string at append position
+ '
+ ' Example:
+ ' Buffer: "abc "
+ ' Append: "def"
+ ' Buffer Position: 3
+ ' Buffer Length: 5
+ '
+ ' Buffer position + Append length > Buffer length -> Append chunk of blank space to buffer
+ ' Buffer: "abc "
+ ' Buffer Length: 10
+ '
+ ' Put "def" into buffer at position 3 (0-based)
+ ' Buffer: "abcdef "
+ '
+ ' Approach based on cStringBuilder from vbAccelerator
+ ' http://www.vbaccelerator.com/home/VB/Code/Techniques/RunTime_Debug_Tracing/VB6_Tracer_Utility_zip_cStringBuilder_cls.asp
+ '
+ ' and clsStringAppend from Philip Swannell
+ ' https://github.com/VBA-tools/VBA-JSON/pull/82
+
+ Dim json_AppendLength As Long
+ Dim json_LengthPlusPosition As Long
+
+ json_AppendLength = VBA.Len(json_Append)
+ json_LengthPlusPosition = json_AppendLength + json_BufferPosition
+
+ If json_LengthPlusPosition > json_BufferLength Then
+ ' Appending would overflow buffer, add chunk
+ ' (double buffer length or append length, whichever is bigger)
+ Dim json_AddedLength As Long
+ json_AddedLength = IIf(json_AppendLength > json_BufferLength, json_AppendLength, json_BufferLength)
+
+ json_Buffer = json_Buffer & VBA.Space$(json_AddedLength)
+ json_BufferLength = json_BufferLength + json_AddedLength
+ End If
+
+ ' Note: Namespacing with VBA.Mid$ doesn't work properly here, throwing compile error:
+ ' Function call on left-hand side of assignment must return Variant or Object
+ Mid$(json_Buffer, json_BufferPosition + 1, json_AppendLength) = CStr(json_Append)
+ json_BufferPosition = json_BufferPosition + json_AppendLength
+End Sub
+
+Private Function json_BufferToString(ByRef json_Buffer As String, ByVal json_BufferPosition As Long) As String
+ If json_BufferPosition > 0 Then
+ json_BufferToString = VBA.Left$(json_Buffer, json_BufferPosition)
+ End If
+End Function
+
+''
+' VBA-UTC v1.0.6
+' (c) Tim Hall - https://github.com/VBA-tools/VBA-UtcConverter
+'
+' UTC/ISO 8601 Converter for VBA
+'
+' Errors:
+' 10011 - UTC parsing error
+' 10012 - UTC conversion error
+' 10013 - ISO 8601 parsing error
+' 10014 - ISO 8601 conversion error
+'
+' @module UtcConverter
+' @author tim.hall.engr@gmail.com
+' @license MIT (http://www.opensource.org/licenses/mit-license.php)
+'' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ '
+
+' (Declarations moved to top)
+
+' ============================================= '
+' Public Methods
+' ============================================= '
+
+''
+' Parse UTC date to local date
+'
+' @method ParseUtc
+' @param {Date} UtcDate
+' @return {Date} Local date
+' @throws 10011 - UTC parsing error
+''
+Public Function ParseUtc(utc_UtcDate As Date) As Date
+ On Error GoTo utc_ErrorHandling
+
+#If Mac Then
+ ParseUtc = utc_ConvertDate(utc_UtcDate)
+#Else
+ Dim utc_TimeZoneInfo As utc_TIME_ZONE_INFORMATION
+ Dim utc_LocalDate As utc_SYSTEMTIME
+
+ utc_GetTimeZoneInformation utc_TimeZoneInfo
+ utc_SystemTimeToTzSpecificLocalTime utc_TimeZoneInfo, utc_DateToSystemTime(utc_UtcDate), utc_LocalDate
+
+ ParseUtc = utc_SystemTimeToDate(utc_LocalDate)
+#End If
+
+ Exit Function
+
+utc_ErrorHandling:
+ Err.Raise 10011, "UtcConverter.ParseUtc", "UTC parsing error: " & Err.Number & " - " & Err.Description
+End Function
+
+''
+' Convert local date to UTC date
+'
+' @method ConvertToUrc
+' @param {Date} utc_LocalDate
+' @return {Date} UTC date
+' @throws 10012 - UTC conversion error
+''
+Public Function ConvertToUtc(utc_LocalDate As Date) As Date
+ On Error GoTo utc_ErrorHandling
+
+#If Mac Then
+ ConvertToUtc = utc_ConvertDate(utc_LocalDate, utc_ConvertToUtc:=True)
+#Else
+ Dim utc_TimeZoneInfo As utc_TIME_ZONE_INFORMATION
+ Dim utc_UtcDate As utc_SYSTEMTIME
+
+ utc_GetTimeZoneInformation utc_TimeZoneInfo
+ utc_TzSpecificLocalTimeToSystemTime utc_TimeZoneInfo, utc_DateToSystemTime(utc_LocalDate), utc_UtcDate
+
+ ConvertToUtc = utc_SystemTimeToDate(utc_UtcDate)
+#End If
+
+ Exit Function
+
+utc_ErrorHandling:
+ Err.Raise 10012, "UtcConverter.ConvertToUtc", "UTC conversion error: " & Err.Number & " - " & Err.Description
+End Function
+
+''
+' Parse ISO 8601 date string to local date
+'
+' @method ParseIso
+' @param {Date} utc_IsoString
+' @return {Date} Local date
+' @throws 10013 - ISO 8601 parsing error
+''
+Public Function ParseIso(utc_IsoString As String) As Date
+ On Error GoTo utc_ErrorHandling
+
+ Dim utc_Parts() As String
+ Dim utc_DateParts() As String
+ Dim utc_TimeParts() As String
+ Dim utc_OffsetIndex As Long
+ Dim utc_HasOffset As Boolean
+ Dim utc_NegativeOffset As Boolean
+ Dim utc_OffsetParts() As String
+ Dim utc_Offset As Date
+
+ utc_Parts = VBA.Split(utc_IsoString, "T")
+ utc_DateParts = VBA.Split(utc_Parts(0), "-")
+ ParseIso = VBA.DateSerial(VBA.CInt(utc_DateParts(0)), VBA.CInt(utc_DateParts(1)), VBA.CInt(utc_DateParts(2)))
+
+ If UBound(utc_Parts) > 0 Then
+ If VBA.InStr(utc_Parts(1), "Z") Then
+ utc_TimeParts = VBA.Split(VBA.Replace(utc_Parts(1), "Z", ""), ":")
+ Else
+ utc_OffsetIndex = VBA.InStr(1, utc_Parts(1), "+")
+ If utc_OffsetIndex = 0 Then
+ utc_NegativeOffset = True
+ utc_OffsetIndex = VBA.InStr(1, utc_Parts(1), "-")
+ End If
+
+ If utc_OffsetIndex > 0 Then
+ utc_HasOffset = True
+ utc_TimeParts = VBA.Split(VBA.Left$(utc_Parts(1), utc_OffsetIndex - 1), ":")
+ utc_OffsetParts = VBA.Split(VBA.Right$(utc_Parts(1), Len(utc_Parts(1)) - utc_OffsetIndex), ":")
+
+ Select Case UBound(utc_OffsetParts)
+ Case 0
+ utc_Offset = TimeSerial(VBA.CInt(utc_OffsetParts(0)), 0, 0)
+ Case 1
+ utc_Offset = TimeSerial(VBA.CInt(utc_OffsetParts(0)), VBA.CInt(utc_OffsetParts(1)), 0)
+ Case 2
+ ' VBA.Val does not use regional settings, use for seconds to avoid decimal/comma issues
+ utc_Offset = TimeSerial(VBA.CInt(utc_OffsetParts(0)), VBA.CInt(utc_OffsetParts(1)), Int(VBA.Val(utc_OffsetParts(2))))
+ End Select
+
+ If utc_NegativeOffset Then: utc_Offset = -utc_Offset
+ Else
+ utc_TimeParts = VBA.Split(utc_Parts(1), ":")
+ End If
+ End If
+
+ Select Case UBound(utc_TimeParts)
+ Case 0
+ ParseIso = ParseIso + VBA.TimeSerial(VBA.CInt(utc_TimeParts(0)), 0, 0)
+ Case 1
+ ParseIso = ParseIso + VBA.TimeSerial(VBA.CInt(utc_TimeParts(0)), VBA.CInt(utc_TimeParts(1)), 0)
+ Case 2
+ ' VBA.Val does not use regional settings, use for seconds to avoid decimal/comma issues
+ ParseIso = ParseIso + VBA.TimeSerial(VBA.CInt(utc_TimeParts(0)), VBA.CInt(utc_TimeParts(1)), Int(VBA.Val(utc_TimeParts(2))))
+ End Select
+
+ ParseIso = ParseUtc(ParseIso)
+
+ If utc_HasOffset Then
+ ParseIso = ParseIso - utc_Offset
+ End If
+ End If
+
+ Exit Function
+
+utc_ErrorHandling:
+ Err.Raise 10013, "UtcConverter.ParseIso", "ISO 8601 parsing error for " & utc_IsoString & ": " & Err.Number & " - " & Err.Description
+End Function
+
+''
+' Convert local date to ISO 8601 string
+'
+' @method ConvertToIso
+' @param {Date} utc_LocalDate
+' @return {Date} ISO 8601 string
+' @throws 10014 - ISO 8601 conversion error
+''
+Public Function ConvertToIso(utc_LocalDate As Date) As String
+ On Error GoTo utc_ErrorHandling
+
+ ConvertToIso = VBA.Format$(ConvertToUtc(utc_LocalDate), "yyyy-mm-ddTHH:mm:ss.000Z")
+
+ Exit Function
+
+utc_ErrorHandling:
+ Err.Raise 10014, "UtcConverter.ConvertToIso", "ISO 8601 conversion error: " & Err.Number & " - " & Err.Description
+End Function
+
+' ============================================= '
+' Private Functions
+' ============================================= '
+
+#If Mac Then
+
+Private Function utc_ConvertDate(utc_Value As Date, Optional utc_ConvertToUtc As Boolean = False) As Date
+ Dim utc_ShellCommand As String
+ Dim utc_Result As utc_ShellResult
+ Dim utc_Parts() As String
+ Dim utc_DateParts() As String
+ Dim utc_TimeParts() As String
+
+ If utc_ConvertToUtc Then
+ utc_ShellCommand = "date -ur `date -jf '%Y-%m-%d %H:%M:%S' " & _
+ "'" & VBA.Format$(utc_Value, "yyyy-mm-dd HH:mm:ss") & "' " & _
+ " +'%s'` +'%Y-%m-%d %H:%M:%S'"
+ Else
+ utc_ShellCommand = "date -jf '%Y-%m-%d %H:%M:%S %z' " & _
+ "'" & VBA.Format$(utc_Value, "yyyy-mm-dd HH:mm:ss") & " +0000' " & _
+ "+'%Y-%m-%d %H:%M:%S'"
+ End If
+
+ utc_Result = utc_ExecuteInShell(utc_ShellCommand)
+
+ If utc_Result.utc_Output = "" Then
+ Err.Raise 10015, "UtcConverter.utc_ConvertDate", "'date' command failed"
+ Else
+ utc_Parts = Split(utc_Result.utc_Output, " ")
+ utc_DateParts = Split(utc_Parts(0), "-")
+ utc_TimeParts = Split(utc_Parts(1), ":")
+
+ utc_ConvertDate = DateSerial(utc_DateParts(0), utc_DateParts(1), utc_DateParts(2)) + _
+ TimeSerial(utc_TimeParts(0), utc_TimeParts(1), utc_TimeParts(2))
+ End If
+End Function
+
+Private Function utc_ExecuteInShell(utc_ShellCommand As String) As utc_ShellResult
+#If VBA7 Then
+ Dim utc_File As LongPtr
+ Dim utc_Read As LongPtr
+#Else
+ Dim utc_File As Long
+ Dim utc_Read As Long
+#End If
+
+ Dim utc_Chunk As String
+
+ On Error GoTo utc_ErrorHandling
+ utc_File = utc_popen(utc_ShellCommand, "r")
+
+ If utc_File = 0 Then: Exit Function
+
+ Do While utc_feof(utc_File) = 0
+ utc_Chunk = VBA.Space$(50)
+ utc_Read = CLng(utc_fread(utc_Chunk, 1, Len(utc_Chunk) - 1, utc_File))
+ If utc_Read > 0 Then
+ utc_Chunk = VBA.Left$(utc_Chunk, CLng(utc_Read))
+ utc_ExecuteInShell.utc_Output = utc_ExecuteInShell.utc_Output & utc_Chunk
+ End If
+ Loop
+
+utc_ErrorHandling:
+ utc_ExecuteInShell.utc_ExitCode = CLng(utc_pclose(utc_File))
+End Function
+
+#Else
+
+Private Function utc_DateToSystemTime(utc_Value As Date) As utc_SYSTEMTIME
+ utc_DateToSystemTime.utc_wYear = VBA.Year(utc_Value)
+ utc_DateToSystemTime.utc_wMonth = VBA.Month(utc_Value)
+ utc_DateToSystemTime.utc_wDay = VBA.Day(utc_Value)
+ utc_DateToSystemTime.utc_wHour = VBA.Hour(utc_Value)
+ utc_DateToSystemTime.utc_wMinute = VBA.Minute(utc_Value)
+ utc_DateToSystemTime.utc_wSecond = VBA.Second(utc_Value)
+ utc_DateToSystemTime.utc_wMilliseconds = 0
+End Function
+
+Private Function utc_SystemTimeToDate(utc_Value As utc_SYSTEMTIME) As Date
+ utc_SystemTimeToDate = DateSerial(utc_Value.utc_wYear, utc_Value.utc_wMonth, utc_Value.utc_wDay) + _
+ TimeSerial(utc_Value.utc_wHour, utc_Value.utc_wMinute, utc_Value.utc_wSecond)
+End Function
+
+#End If
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Module/Module1.bas b/XVBA/事業計画集計【簡易版】/vba-files/Module/Module1.bas
new file mode 100644
index 00000000..2e03992b
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Module/Module1.bas
@@ -0,0 +1,195 @@
+Attribute VB_Name = "Module1"
+Option Explicit
+
+Public apiKey As String
+Public baseURL As String
+Public yearFilter As String
+
+Function init()
+ 'Pleasanter API KEY
+ apiKey = "6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d"
+ baseURL = "https://nextoffice.Next-hd.co.jp"
+
+ 'NxtB^擾
+ yearFilter = Range("Nx").Value
+
+End Function
+
+Function exportCSVData(tableId As String) As Variant
+ 'ʕϐ
+ Dim apiUrl As String
+ Dim apiUrlParam As String
+
+ 'NGXgURL
+ apiUrl = baseURL & "/pleasanter/api/items/" & tableId & "/"
+ apiUrlParam = "export"
+
+ 'wb_
+ Dim apiHeaders As New Dictionary
+ apiHeaders.Add "Content-Type", "application/json;charset=utf-8"
+
+ 'NGXgf[^
+ Dim apiBody As New Dictionary
+ apiBody.Add "ApiVersion", "1.1"
+ apiBody.Add "ApiKey", apiKey
+ apiBody.Add "ExportId", "1"
+
+ 'Filterϐ
+ Dim colFilter As New Dictionary
+ colFilter.Add "ClassZ", "[" & yearFilter & "]"
+
+ 'Viewϐ
+ Dim view As New Dictionary
+ view.Add "ColumnFilterHash", colFilter
+ apiBody.Add "View", view
+
+ 'HTTPNGXgM\bhĂяo
+ Dim res As Object
+ Set res = callRestApi("POST", apiUrl, apiUrlParam, apiHeaders, apiBody)
+
+ If res("StatusCode") = 200 Then
+ Debug.Print "CSVf[^̎擾ɐ܂"
+ exportCSVData = res("Response")("Content")
+
+ End If
+
+End Function
+
+Function exportCSVDataToSheet(csvData As Variant, targetSheet As String)
+ Debug.Print "CSVf[^V[gɏo͊Jn: " & targetSheet
+ '------------------------------------------
+ 'CSVf[^ue[uvɏo͂鏈
+ Dim ws As Worksheet
+ Set ws = ThisWorkbook.Sheets(targetSheet)
+
+ 'e[uiListObjectj擾
+ Dim tbl As ListObject
+ Set tbl = Nothing
+ Dim lo As ListObject
+ For Each lo In ws.ListObjects
+ If InStr(lo.Name, "e[u") > 0 Then
+ Set tbl = lo
+ Exit For
+ End If
+ Next lo
+
+ If tbl Is Nothing Then
+ MsgBox "e[u܂: " & targetSheet, vbCritical
+ Exit Function
+ End If
+
+ 'e[ũf[^NA
+ If Not tbl.DataBodyRange Is Nothing Then
+ tbl.DataBodyRange.ClearContents
+ End If
+
+ 'CSVf[^e[uɑ}
+ Dim lines() As String
+ Dim i As Long, j As Long
+ Dim values() As String
+ Dim arr() As Variant
+ Dim maxCols As Long
+
+ lines = Split(csvData, vbCrLf)
+ maxCols = 0
+
+ ' ܂ő擾
+ For i = LBound(lines) To UBound(lines)
+ If Trim(lines(i)) <> "" Then
+ values = Split(lines(i), ",")
+ If UBound(values) + 1 > maxCols Then
+ maxCols = UBound(values) + 1
+ End If
+ End If
+ Next i
+
+ ' z
+ ReDim arr(0 To UBound(lines), 0 To maxCols - 1)
+
+ ' zɊi[
+ For i = LBound(lines) To UBound(lines)
+ If Trim(lines(i)) <> "" Then
+ values = Split(lines(i), ",")
+ For j = LBound(values) To UBound(values)
+ arr(i, j) = values(j)
+ Next j
+ End If
+ Next i
+
+ ' e[uɃf[^lj
+ tbl.Resize tbl.Range.Resize(UBound(arr, 1) + 1, UBound(arr, 2) + 1)
+ tbl.DataBodyRange.Value = arr
+
+ '------------------------------------------
+ Debug.Print "CSVf[^V[gɏo͊: " & targetSheet
+
+End Function
+
+Sub run()
+ Worksheets("sx\Wv").Range("D3").Value = "捞..."
+ Application.ScreenUpdating = False 'ʍXV~
+ Application.Calculation = xlManual 'vZ~
+ '------------------------------------------
+ Debug.Print "Jn"
+
+ '
+ Call init
+
+ 'CSVf[^擾
+ Dim resData As Variant
+
+ Debug.Print "ƌvf[^擾Jn"
+ 'ƌve[uCSVf[^擾
+ resData = exportCSVData("214737")
+ 'CSVf[^V[gɏo
+ Call exportCSVDataToSheet(resData, "ƌv")
+
+ Debug.Print "ƌvWvf[^擾Jn"
+ 'ƌve[uCSVf[^擾
+ resData = exportCSVData("214922")
+
+ 'CSVf[^V[gɏo
+ Call exportCSVDataToSheet(resData, "ƌvWv")
+
+
+
+ Debug.Print "I"
+ '------------------------------------------
+ Application.Calculation = xlAutomatic 'vZĊJ
+ Application.ScreenUpdating = True 'ʍXVĊJ
+ Worksheets("sx\Wv").Range("D3").Value = "捞"
+End Sub
+
+
+'******************************************************************************
+'REST APIďo
+'@method@GetPOST
+'@url@REST APIURL
+'@urlParam@NGXgp[^iIvVj
+'@headers@wb_iIvVj
+Function callRestApi(Byval method As String, Byval url As String, Optional Byval urlParam As String = "", Optional Byval headers As Dictionary = Null, Optional Byval body As Dictionary = Null) As Object
+
+ 'HTTPNGXg̃IuWFNg`
+ Dim objHTTP As Object
+ Set objHTTP = New XMLHTTP60
+
+ 'HTTPNGXg̐ڑݒ
+ objHTTP.Open method, url & urlParam, False
+
+ 'NGXgwb_[ݒiꍇsetRequestHeaderΗǂ̂`j
+ Dim i As Long
+ For i = 0 To headers.count - 1
+ objHTTP.setRequestHeader headers.keys(i), headers.items(i)
+ Next i
+
+ 'NGXgM
+ objHTTP.send JsonConverter.ConvertToJson(body)
+
+ Do While objHTTP.readyState < 4
+ DoEvents
+ Loop
+
+ 'X|X̕iobjHTTP.responseTextjJsonɕϊĕԋp
+ Set callRestApi = JsonConverter.ParseJson(objHTTP.responseText)
+
+End Function
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Module/Module2.bas b/XVBA/事業計画集計【簡易版】/vba-files/Module/Module2.bas
new file mode 100644
index 00000000..214c10a3
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Module/Module2.bas
@@ -0,0 +1,27 @@
+Attribute VB_Name = "Module2"
+Option Explicit
+
+Function ToggleColumnGroups(sheetName As String, expand As Boolean)
+ Dim ws As Worksheet
+ Set ws = ThisWorkbook.Sheets(sheetName)
+
+ If expand Then
+ ws.Outline.ShowLevels RowLevels:=0, ColumnLevels:=2
+ Else
+ ws.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1
+ End If
+End Function
+
+Sub WJ()
+ Dim ws As Worksheet
+ Set ws = ThisWorkbook.Sheets("sx\Wv")
+ If ws.Range("S1").Value = 1 Then
+ Call ToggleColumnGroups("sx\Wv", False)
+ ws.Range("S1").Value = 0
+ Elseif ws.Range("S1").Value = 0 Then
+ Call ToggleColumnGroups("sx\Wv", True)
+ ws.Range("S1").Value = 1
+ End If
+
+End Sub
+
diff --git a/XVBA/事業計画集計【簡易版】/vba-files/Module/Module3.bas b/XVBA/事業計画集計【簡易版】/vba-files/Module/Module3.bas
new file mode 100644
index 00000000..add1e747
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/vba-files/Module/Module3.bas
@@ -0,0 +1,77 @@
+Attribute VB_Name = "Module3"
+Option Explicit
+
+Sub V[g܂Ƃ߂čĕ\()
+ Application.ScreenUpdating = False 'ʍXV~
+ Application.Calculation = xlManual 'vZ~
+ Debug.Print "---START---"
+
+ Dim ws As Worksheet
+ For Each ws In Worksheets
+ ws.Visible = True
+ Next
+
+ Debug.Print "--- END ---"
+ Application.Calculation = xlAutomatic 'vZJn
+ Application.ScreenUpdating = True 'ʍXVJn
+
+End Sub
+
+Sub ݒ肷()
+ Dim ws As Worksheet
+ Set ws = ActiveSheet
+
+ Dim lastCol As Long
+ lastCol = ws.Cells(4, ws.Columns.Count).End(xlToLeft).Column
+
+ Dim col As Long
+ For col = 1 To lastCol
+ Select Case ws.Cells(4, col).Value
+ Case "z", "vz", "o험v"
+ ws.Columns(col).ColumnWidth = 11.5
+ End Select
+ Next col
+End Sub
+
+Sub I()
+ Dim ws As Worksheet
+ Set ws = ActiveSheet
+
+ Dim lastCol As Long
+ lastCol = ws.Cells(4, ws.Columns.Count).End(xlToLeft).Column
+
+ Dim col As Long
+ Dim rng As Range
+
+ For col = 1 To lastCol
+ If ws.Cells(4, col).Value = "" Then
+ If rng Is Nothing Then
+ Set rng = ws.Columns(col)
+ Else
+ Set rng = Union(rng, ws.Columns(col))
+ End If
+ End If
+ Next col
+
+ If Not rng Is Nothing Then
+ rng.Select
+ End If
+End Sub
+
+
+Sub toggleColumnsER()
+ Dim ws As Worksheet
+ Set ws = Worksheets("sx\Wv")
+ Dim cell As Range
+ Set cell = ws.Range("E3")
+ Dim showCols As Boolean
+
+ If cell.Value = 0 Then
+ ws.Range("E:R").EntireColumn.Hidden = False
+ cell.Value = 1
+ Elseif cell.Value = 1 Then
+ ws.Range("E:R").EntireColumn.Hidden = True
+ cell.Value = 0
+ End If
+End Sub
+
diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/CHANGELOG.md b/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/CHANGELOG.md
new file mode 100644
index 00000000..f1f3ad96
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/CHANGELOG.md
@@ -0,0 +1,13 @@
+# Changelog
+## Xdebug (Under Construction)
+
+- This package provides a way to simulate VBA Immediate Window in Output VSCode window
+
+## [1.0.0b0] - 2020-09-16
+### Added
+ - Create XDebug.printx
+ - Create XDebug.printError
+
+
+
+
\ No newline at end of file
diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/README.md b/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/README.md
new file mode 100644
index 00000000..9d8b74f0
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/README.md
@@ -0,0 +1,58 @@
+# Xdebug (VBA Immediate Window in Output VSCode Window)
+
+## Description
+ - This package provides a way to simulate VBA Immediate Window in Output VSCode window
+ - Find the Output window (VBA Immediate Window)
+
+ ## Methods
+
+
+
+
+
+
+ ### Xdebug.printx
+
+- This method print any type os variable
+
+
+```
+
+Public Sub index()
+
+
+ Dim test(1) As Variant
+
+ 'Add an Object
+ Set test(0) = Sheets(1)
+ 'Add a String
+ test(1) = "Test Xdebug Output"
+
+ Xdebug.printx test
+
+End Sub
+
+```
+
+
+ ### Xdebug.printError
+
+- This method is use for print error
+
+
+```
+ Public Sub index()
+
+ On Error GoTo ErrorHandle:
+ 'throw an error
+ d = 1/0
+ 'Your code here
+
+
+ ErrorHandle:
+ Xdebug.errorSource = "pageConsoller.index"
+ Xdebug.printError
+
+ End Sub
+```
+
diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/Xdebug.cls b/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/Xdebug.cls
new file mode 100644
index 00000000..dd1b1d3b
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/Xdebug.cls
@@ -0,0 +1,241 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Xdebug"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = False
+
+'namespace=xvba_modules\Xdebug
+
+Public env As String
+
+'Example of Package Create by XVBA-CLI
+
+Private OS_TMP__FOLDER_PATH As String
+
+Private IMMEDIATE_FOLDER As String
+
+Private IMMEDIATE_FILE As String
+
+Private DEBUG_FILE_PATH As String
+
+Const EMPTY_TYPE = 0
+Const NULL_TYPE = 1
+Const ERROR_TYPE = 10
+Const INTEGER_TYPE = 2
+Const LONG_TYPE = 3
+Const SINGLE_TYPE = 4
+Const DOUBLE_TYPE = 5
+Const CURRENCY_TYPE = 6
+Const DATE_TYPE = 7
+Const DECIMAL_TYPE = 14
+Const LONG_LONG_TYPE = 20
+Const BOOLEAN_TYPE = 11
+Const STRING_TYPE = 8
+Const ARRAY_TYPE = 8204
+Const OBJECT_TYPE = 9
+Const VARIANT_TYPE = 12
+Const DATA_OBJECT_TYPE = 13
+Private Const MESSAGE_SPACE = " "
+
+Public errorSource As String
+Public errorTitle As String
+
+'/*
+'Flag for Actrive os Deactive VBA Debug.Print
+'*/
+Public vbaDebugPrintActive As Boolean
+
+Private Sub class_initialize()
+
+ Dim fso As Object
+ Set fso = CreateObject("Scripting.FileSystemObject")
+ OS_TMP__FOLDER_PATH = fso.GetSpecialFolder(2)
+ IMMEDIATE_FOLDER = "xvba_immediate"
+ IMMEDIATE_FILE = "immediate.txt"
+ vbaDebugPrintActive = True
+ errorSource = ""
+ errorTitle = "XVBA: New Error Was Found"
+ env = "DEV"
+
+ DEBUG_FILE_PATH = OS_TMP__FOLDER_PATH & "\" & IMMEDIATE_FOLDER & "\" & IMMEDIATE_FILE
+
+End Sub
+
+
+
+
+Public Function printx(inputValue As Variant, Optional messageType As Integer = 1)
+
+ If (env = "DEV") Then
+ Dim messageText As String
+
+ messageText = createOutputMessage(inputValue)
+
+ Call writeDebugFileContent(messageText, messageType)
+ End If
+End Function
+
+'/*
+'Print A Error
+'
+'*/
+Public Function printError()
+ If (env = "DEV") Then
+
+ Dim message As String
+
+ message = ErrorHanddler()
+
+ Call writeDebugFileContent(message, 0)
+
+ End If
+End Function
+
+
+'/*
+'
+'Write Debug ino on File
+'
+'
+'*/
+Private Function writeDebugFileContent(messageText, messageType)
+
+ Dim filePath As String
+ Dim FileNum As Integer
+ Dim PREFIX As String
+
+ filePath = DEBUG_FILE_PATH
+
+ FileNum = FreeFile
+
+ PREFIX = Now & " - "
+
+ Open filePath For Append As #FileNum
+
+ Dim debugMessage As String
+ Select Case messageType
+
+ Case 0 'Error Message
+
+ debugMessage = PREFIX & "Error:" & messageText
+ Case 1 'Success
+ debugMessage = PREFIX & messageText
+ Case Else 'No Type Set
+
+ debugMessage = PREFIX & "Info:" & messageText
+ End Select
+
+ Print #FileNum, debugMessage
+
+ Close #FileNum
+
+ If (vbaDebugPrintActive) Then
+
+ Debug.Print debugMessage
+
+ End If
+End Function
+
+
+Private Function createOutputMessage(inputValue) As String
+
+ Dim typeOfVar As Integer
+ Dim response As String
+
+ typeOfVar = VarType(inputValue)
+
+
+ 'Set Error Source Macro/Function name
+ Err.Source = "createOutputMessage"
+ Select Case typeOfVar
+ Case STRING_TYPE
+ response = "String: " & inputValue
+ Case INTEGER_TYPE
+ response = "Integer: " & CStr(inputValue)
+ Case LONG_TYPE
+ response = "Long: " & CStr(inputValue)
+ Case SINGLE_TYPE
+ response = "Single: " & CStr(inputValue)
+ Case DOUBLE_TYPE
+ response = "Double: " & CStr(inputValue)
+ Case CURRENCY_TYPE
+ response = "Currenty: " & CStr(inputValue)
+ Case DATE_TYPE
+ response = "Date: " & CStr(inputValue)
+ Case DECIMAL_TYPE
+ response = "Decimal: " & CStr(inputValue)
+ Case LONG_LONG_TYPE
+ response = "LongLong: " & CStr(inputValue)
+ Case BOOLEAN_TYPE
+ response = "Boolean: " & CStr(inputValue)
+ Case ARRAY_TYPE
+ response = makeArrayTypeMessage(inputValue)
+ Case EMPTY_TYPE
+ response = "Empty: "
+ Case OBJECT_TYPE
+ response = "Object: " & TypeName(inputValue)
+ Case NULL_TYPE
+ response = "Null: "
+ Case ERROR_TYPE
+ response = "Error: "
+ Case VARIANT_TYPE
+ response = "Variant: "
+ Case DATA_OBJECT_TYPE
+ response = "Data Object: " & TypeName(inputValue)
+ Case Else
+ response = "Type Not Supported yet please inform xvba developer "
+ Debug.Print typeOfVar
+ Debug.Print inputValue
+
+ End Select
+
+
+ createOutputMessage = response
+
+End Function
+
+
+Private Function makeArrayTypeMessage(inputValue) As String
+ Dim nextItem As Variant
+ Dim response As String
+ Dim message As String
+
+ For Each nextItem In inputValue
+ message = createOutputMessage(nextItem)
+ response = response & " [ " & message & " ]" & vbCrLf
+ Next nextItem
+ makeArrayTypeMessage = "Array: " & vbCrLf & response
+End Function
+
+
+
+Private Function ErrorHanddler() As String
+ Dim errorDescription As String
+ Dim numberDescription As String
+ Dim lineError As String
+ Dim sourceError As String
+ Dim errorTitleMsg As String
+ Dim errorSourceMsg As String
+
+ errorTitleMsg = vbCrLf & MESSAGE_SPACE & errorTitle
+ errorSourceMsg = vbCrLf & MESSAGE_SPACE & "Error Source: " & errorSource
+
+
+ Select Case Err.Number
+ Case 11
+ numberDescription = vbCrLf & MESSAGE_SPACE & "Error Number: " & Err.Number
+ lineError = vbCrLf & MESSAGE_SPACE & "Error Line: " & Erl
+ errorDescription = vbCrLf & MESSAGE_SPACE & "Error Description: " & Err.Description
+ Case Else
+ numberDescription = vbCrLf & MESSAGE_SPACE & "Error Number: " & Err.Number
+ errorDescription = vbCrLf & MESSAGE_SPACE & "Error Description: " & Err.Description
+ End Select
+
+
+ ErrorHanddler = errorTitleMsg & lineError & errorSourceMsg & numberDescription & errorDescription
+
+End Function
diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/images/immediate.gif b/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/images/immediate.gif
new file mode 100644
index 00000000..dd641693
Binary files /dev/null and b/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/images/immediate.gif differ
diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/xvba.package.json b/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/xvba.package.json
new file mode 100644
index 00000000..4a1da537
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/xvba_modules/Xdebug/xvba.package.json
@@ -0,0 +1,15 @@
+{
+ "package": "Xdebug",
+ "version": "1.0.0",
+ "author": "Alberto Edaurdo",
+ "email": "alberto.aeraphe@gmail.com",
+ "license": "ISC",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/Aeraphe/xdebug.git"
+ },
+ "description": "Creating amazing XVBA packages",
+ "dependencies": {},
+ "dev_dependencies": {},
+ "homepage": "www.xvba.dev"
+}
\ No newline at end of file
diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/CHANGELOG.md b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/CHANGELOG.md
new file mode 100644
index 00000000..39a71ff4
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/CHANGELOG.md
@@ -0,0 +1,8 @@
+# Changelog
+## excel@types (Under Construction)
+
+- This package provides a way to use auto-complete for excel class
+
+
+
+
\ No newline at end of file
diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/README.md b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/README.md
new file mode 100644
index 00000000..dcf0411e
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/README.md
@@ -0,0 +1,51 @@
+# Excel VBA type Definitions Package (excel-types)
+
+ - This package provides a way to use auto-complete for Excel VBA Class
+ - You can Create your own vba type definition packages our update this.
+ - Type definition packages are named like: name-types
+ - The packages are store in www.xvba.dev
+ - Ech excel vba class has your own file definition
+ - The files extension has to be filename.d.vb
+ - Auto-complete just expose Public types
+
+
+## Create,install and share VBA Packages With Xvba-cli and Xvba Repository:
+
+- Xvba Repository : www.xvba.dev
+- XVBA-CLI Command Line Interface for XVBA VSCode extension @localsmart/xvba-cli
+
+## Install
+
+- For instal excel-types just use XVBA-CLI install command
+
+```
+ npx xvba install excel-types
+```
+## Comments Block
+
+- Use comments blocks below for documenting class/methods/Subs/Functions/Properties
+- The comments blocs has to start with '/* and ends with '*/
+
+```
+
+'/*
+'Represents the entire Microsoft Excel application.
+'
+'
+'*/
+Public Class Application()
+
+```
+
+```
+'/*
+'Returns a Range object that represents the active cell in the active window
+'(the window on top) or in the specified window. If the window isn't displaying
+'a worksheet, this property fails. Read-only.
+'
+'@type {Object.}
+'
+'*/
+Public Property ActiveCell As Range
+
+```
\ No newline at end of file
diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/application.d.vb b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/application.d.vb
new file mode 100644
index 00000000..af74a242
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/application.d.vb
@@ -0,0 +1,147 @@
+'/*
+'Represents the entire Microsoft Excel application.
+'
+'
+'*/
+Public Class Application()
+
+'/*
+'Returns an object that represents the active sheet (the sheet on top)
+'in the active workbook or in the specified window or workbook.
+'Returns Nothing if no sheet is active.
+'
+'*/
+Public Property ActiveSheet As Worksheet
+
+'/*
+'Returns a Workbook object that represents the workbook in the
+'active window (the window on top).
+'Returns Nothing if there are no windows open or if either
+'the Info window or the Clipboard window is the active window. Read-only.
+'
+'
+'*/
+Public Property ActiveWorkbook As Workbook
+
+'/*
+'True if Microsoft Excel displays certain alerts and messages while
+'a macro is running. Read/write Boolean.
+'
+'Example
+'Application.DisplayAlerts = False
+'Workbooks("BOOK1.XLS").Close
+'Application.DisplayAlerts = True
+'
+'*/
+Public Property DisplayAlerts As Boolean
+
+
+'/*
+'Returns or sets an XlCalculation value that represents the calculation mode.
+'
+'Example
+'Application.Calculation = xlCalculationManual
+'Application.Calculation = xlAutomatic
+'
+'@type {XlCalculation}
+'*/
+Public Property Calculation As XlCalculation
+
+'/*
+'True if events are enabled for the specified object. Read/write Boolean.
+'
+'@type {Boolean}
+'*/
+Public Property EnableEvents As Boolean
+
+'/*
+'True if screen updating is turned on. Read/write Boolean.
+'@type {Boolean}
+'*/
+Public Property ScreenUpdating As Boolean
+
+
+'/*
+'Returns a Range object that represents the active cell in the active window
+'(the window on top) or in the specified window. If the window isn't displaying
+'a worksheet, this property fails. Read-only.
+'
+'@type {Object.}
+'
+'*/
+Public Property ActiveCell As Range
+
+'/*
+'Returns a Chart object that represents the active chart (either an embedded chart or a chart sheet).
+'An embedded chart is considered active when it's either selected or activated. When no chart is active,
+'this property returns Nothing.
+'
+'Example:
+'ActiveChart.HasLegend = True
+'
+'@type {Object.}
+'*/
+Public Property ActiveChart As Chart
+
+'/*
+'Returns a Workbooks collection that represents all the open workbooks. Read-only.
+'
+'@type {Object.} Workbooks Collection
+'*/
+Public Property ThisWorkbook As Workbook
+
+'/*
+'Returns a Workbooks collection that represents all the open workbooks. Read-only.
+'
+'@type {Object.} Workbooks Collection
+'*/
+Public Property Workbooks As Workbooks
+
+'/*
+'Activates a Microsoft application. If the application is already running,
+'this method activates the running application.
+'If the application isn't running, this method starts a new instance of the application.
+'
+'Example: (This example starts and activates Word.)
+'
+'Application.ActivateMicrosoftApp xlMicrosoftWord
+'
+'@param {XlMSApplication} index
+'*/
+Public Sub ActivateMicrosoftApp( index As XlMSApplication)
+
+End Sub
+
+'/*
+'An event occurs when all pending refresh activity (both synchronous and asynchronous)
+'and all of the resultant calculation activities have been completed.
+'
+'*/
+Public Event AfterCalculate()
+
+'/*
+'Occurs when a new workbook is created.
+'
+'Example:
+'
+'Private Sub App_NewWorkbook(ByVal Wb As Workbook)
+'Application.Windows.Arrange xlArrangeStyleTiled End Sub
+'
+'@param {Workbook} Wb
+'*/
+Public Event NewWorkbook(ByVal Wb As Workbook)
+
+'/*
+'Returns a Sheets collection that represents all the sheets in the specified workbook. Read-only Sheets object.
+'
+'Example:
+'Set newSheet = Sheets.Add(Type:=xlWorksheet)
+'For i = 1 To Sheets.Count
+' newSheet.Cells(i, 1).Value = Sheets(i).Name
+' Next i
+'
+'@type {Sheets}
+'*/
+Public Property Sheets As Worksheets
+
+End Class
\ No newline at end of file
diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/dictionary.d.vb b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/dictionary.d.vb
new file mode 100644
index 00000000..6a580711
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/dictionary.d.vb
@@ -0,0 +1,109 @@
+
+
+
+'/*
+'
+'
+'
+'/*
+Public Class Scripting()
+
+
+'/*
+'
+'Object that stores data key/item pairs.
+'
+'/*
+Public Function Dictionary()
+
+End Function
+
+'/*
+'
+'Adds a new key/item pair to a Dictionary object.
+'
+'*/
+Public Sub Add()
+
+End Sub
+
+'/*
+'
+'Returns a Boolean value that indicates whether a specified key exists in the Dictionary object.
+'
+'*/
+Public Sub Exists()
+
+End Sub
+
+'/*
+'
+'Returns an array of all the items in a Dictionary object.
+'
+'*/
+Public Sub Items()
+
+End Sub
+
+'/*
+'
+'Returns an array of all the keys in a Dictionary object.
+'
+'*/
+Public Sub Keys()
+
+End Sub
+
+'/*
+'
+'Removes one specified key/item pair from the Dictionary object.
+'
+'*/
+Public Sub Remove()
+
+End Sub
+
+'/*
+'
+'Removes all the key/item pairs in the Dictionary object.
+'
+'*/
+Public Sub RemoveAll()
+
+End Sub
+
+
+
+'/*
+'Sets or returns the comparison mode for comparing keys in a Dictionary object.
+'
+'
+'*/
+Public Property CompareMode As Variant
+
+
+'/*
+'Returns the number of key/item pairs in a Dictionary object.
+'
+'
+'*/
+Public Property Count As Long
+
+
+'/*
+'Sets or returns the value of an item in a Dictionary object.
+'
+'
+'*/
+Public Property Item As Variant
+
+'/*
+'Sets a new key value for an existing key value in a Dictionary object.
+'
+'
+'*/
+Public Property Key As Variant
+
+
+
+End Class
\ No newline at end of file
diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/err.d.vb b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/err.d.vb
new file mode 100644
index 00000000..7115cac1
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/err.d.vb
@@ -0,0 +1,30 @@
+'/*
+'Contains information about run-time errors.
+'
+'
+'*/
+Public Class Err()
+
+'/*
+'Returns or sets a string expression containing a
+'descriptive string associated with an object. Read/write.
+'
+'*/
+Public Property Description As String
+
+'/*
+'Returns or sets a numeric value specifying an error.
+'Number is the Err object's default property. Read/write.
+'
+'*/
+Public Property Number As Integer
+
+
+'/*
+'Returns or sets a string expression specifying the name of
+'the object or application that originally generated the error. Read/write.
+'
+'*/
+Public Property Source As String
+
+End Class
\ No newline at end of file
diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/functions.d.vb b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/functions.d.vb
new file mode 100644
index 00000000..38aba162
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/functions.d.vb
@@ -0,0 +1,547 @@
+
+'/*
+'[Conversion Func]
+'
+'*/
+Function Asc()
+End Function
+
+'/*
+'[Conversion Func]
+'Returns a String containing the character associated
+'with the specified character code.
+'
+'Example:
+'
+'Dim MyChar
+'MyChar = Chr(65) ' Returns A.
+'MyChar = Chr(97) ' Returns a.
+'MyChar = Chr(62) ' Returns >.
+'MyChar = Chr(37) ' Returns %.
+'*/
+Function Chr()
+End Function
+
+'/*
+'[Conversion Func]
+'
+'*/
+Function Format()
+End Function
+
+'/*
+'[Conversion Func]
+'
+'*/
+Function Hex()
+End Function
+
+
+'/*
+'[Conversion Func]
+'
+'*/
+Function Oct()
+End Function
+
+
+'/*
+'[Conversion Func]
+'Returns a Variant (String) representation of a number.
+'
+'Example:
+'Dim MyString
+'MyString = Str(459) ' Returns " 459".
+'MyString = Str(-459.65) ' Returns "-459.65".
+'MyString = Str(459.001) ' Returns " 459.001".
+'
+'*/
+Function Str() As Variant
+End Function
+
+
+'/*
+'[Conversion Func]
+'Returns the numbers contained in a string as
+'a numeric value of appropriate type.
+'
+'Example:
+'
+'Dim MyValue
+'MyValue = Val("2457") ' Returns 2457.
+'MyValue = Val(" 2 45 7") ' Returns 2457.
+'MyValue = Val("24 and 57") ' Returns 24.
+'*/
+Function Val(String)
+End Function
+
+
+
+Function CreateObject()
+End Function
+
+
+Function CurDir()
+End Function
+
+'/*
+'Returns a Variant (Date) containing the current system date.
+'
+'Example
+'
+'Dim MyDate
+'MyDate = Date ' MyDate contains the current system date.
+'
+'*/
+Function Date()
+
+End Function
+
+
+
+Function DateDiff()
+End Function
+
+Function DatePart()
+End Function
+
+Function DateSerial()
+End Function
+
+Function Day()
+End Function
+
+Function DDB()
+End Function
+
+Function Dir()
+End Function
+
+Function DoEvents()
+End Function
+
+Function Environ()
+End Function
+
+Function EOF()
+End Function
+
+Function Error()
+End Function
+
+
+Function FileAttr()
+End Function
+
+Function FileDateTime()
+End Function
+
+Function FileLen()
+End Function
+
+Function Filter()
+End Function
+
+Function FormatCurrency()
+End Function
+
+Function FormatDateTime()
+End Function
+
+Function FormatNumber()
+End Function
+
+Function FormaPercent()
+End Function
+
+
+Function FreeFile()
+End Function
+
+Function FV()
+End Function
+
+Function GetAllSettings()
+End Function
+
+Function GetAttr()
+End Function
+
+Function GetObject()
+End Function
+
+Function GetSetting()
+End Function
+
+
+Function Hour()
+End Function
+
+Function IIf()
+End Function
+
+Function IMEStatus()
+End Function
+
+Function Input()
+End Function
+
+Function InputBox()
+End Function
+
+Function InStr()
+End Function
+
+Function InStrRev()
+End Function
+
+Function IPmt()
+End Function
+
+
+
+Function IRR()
+End Function
+
+Function IsArray()
+End Function
+
+Function IsDate()
+End Function
+
+'/*
+'
+'Returns a Boolean value indicating whether a variable has been initialized.
+'
+'*/
+Function IsEmpty()
+End Function
+
+
+Function IsError()
+End Function
+
+Function IsMissing()
+End Function
+
+Function IsNull()
+End Function
+
+Function IsNumeric()
+End Function
+
+
+Function IsObject()
+End Function
+
+'/*
+'Returns a string created by joining a number of substrings contained in an array.
+'
+'*/
+Function Join()
+End Function
+
+
+
+Function LBound()
+End Function
+
+Function LCase()
+End Function
+
+Function Left()
+End Function
+
+Function Len()
+End Function
+
+
+Function Loc()
+End Function
+
+Function LOF()
+End Function
+
+Function LTrim()
+End Function
+
+Function RTrim()
+End Function
+
+Function Trim()
+End Function
+
+
+Function MacID()
+End Function
+
+
+
+Function MacScript()
+End Function
+
+'/*
+'[Math Function]
+'Returns a value of the same type that is passed to it specifying the absolute value of a number.
+'
+'*/
+Function Abs()
+End Function
+
+'/*
+'[Math Function]
+'Returns a Double specifying the arctangent of a number.
+'
+'*/
+Function Atn()
+End Function
+
+
+'/*
+'[Math Function]
+'
+'*/
+Function Cos()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Exp()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Int()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Fix()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Log()
+End Function
+
+
+'/*
+'[Math Function]
+'
+'*/
+Function Rnd()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Sgn()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Sin()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Sqr()
+End Function
+
+'/*
+'[Math Function]
+'
+'*/
+Function Tan()
+End Function
+
+
+
+Function Mid()
+End Function
+
+
+Function Minute()
+End Function
+
+
+Function MIRR()
+End Function
+
+
+Function Month()
+End Function
+
+Function MonthName()
+End Function
+
+'/*
+'Displays a message in a dialog box, waits for the user to click a button,
+'and returns an Integer indicating which button the user clicked.
+'
+'*/
+Function MsgBox(prompt, [ buttons, ] [ title, ] [ helpfile, context ])
+End Function
+
+
+Function Now()
+End Function
+
+
+Function NPer()
+End Function
+
+
+Function NPV()
+End Function
+
+Function PPmt()
+End Function
+
+
+Function QBColor()
+End Function
+
+
+Function Rate()
+End Function
+
+'/*
+'Returns a string, which is a substring of a string
+'expression beginning at the start position (defaults to 1),
+'in which a specified substring has been replaced with another
+'substring a specified number of times.
+'
+'*/
+Function Replace(expression, find, replace, [ start, [ count, [ compare ]]])
+End Function
+
+Function RGB()
+End Function
+
+
+Function Right()
+End Function
+
+
+Function Round()
+End Function
+
+
+Function Second()
+End Function
+
+
+
+Function Seek()
+End Function
+
+
+Function Shell()
+End Function
+
+
+Function SNL()
+End Function
+
+
+Function Space()
+End Function
+
+
+Function Spc()
+End Function
+
+
+Function Split()
+End Function
+
+
+Function StrComp()
+End Function
+
+
+
+Function StrConv()
+End Function
+
+
+Function String()
+End Function
+
+
+Function StrReverse()
+End Function
+
+
+
+Function Switch()
+End Function
+
+
+Function SYD()
+End Function
+
+
+Function Tab()
+End Function
+
+
+Function Time()
+End Function
+
+
+
+Function Timer()
+End Function
+
+
+Function TimeSerial()
+End Function
+
+
+Function TimeValue()
+End Function
+
+
+
+Function TypeName()
+End Function
+
+
+Function UBound()
+End Function
+
+
+Function Ucase()
+End Function
+
+
+Function VarType()
+End Function
+
+
+
+Function Weekday()
+End Function
+
+
+Function WeekdayName()
+End Function
+
+
+Function Year()
+End Function
\ No newline at end of file
diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/range.d.vb b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/range.d.vb
new file mode 100644
index 00000000..92a9c7d7
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/range.d.vb
@@ -0,0 +1,625 @@
+'/*
+'Represents a cell, a row, a column, a selection of cells containing one or more contiguous blocks of cells, or a 3D range.
+'
+'
+'*/
+Public Class Range()
+
+'/*
+'(Range)
+'
+'Activates a single cell, which must be inside the current selection.
+'To select a range of cells, use the Select method.,
+'
+'Example
+'
+'This example selects cells A1:C3 on Sheet1 and then makes cell B2 the active cell.
+'
+' Worksheets("Sheet1").Activate
+' Range("A1:C3").Select
+' Range("B2").Activate
+'
+'*/
+Public Sub Activate()
+
+End Sub
+
+
+'/*
+'Adds a comment to the range.
+'
+'Example:
+'
+'Worksheets(1).Range("E5").AddComment "Current Sales"
+'
+'@param {String} text
+'*/
+Public Sub AddComment(text As String)
+
+End Sub
+
+Public Sub AddCommentThreaded()
+
+End Sub
+
+Public Sub AdvancedFilter()
+
+End Sub
+
+Public Sub AllocateChanges()
+
+End Sub
+
+Public Sub ApplyName()
+
+End Sub
+
+Public Sub ApplyOutLineStyles()
+
+End Sub
+
+Public Sub AutoComplete()
+
+End Sub
+
+Public Sub AutoFill()
+
+End Sub
+
+Public Sub AutoFilter()
+
+End Sub
+
+Public Sub AutioFit()
+
+End Sub
+
+Public Sub AutoOutline()
+
+End Sub
+
+Public Sub BorderAround()
+
+End Sub
+
+Public Sub Calculate()
+
+End Sub
+
+Public Sub CalculateRowMajorOrder()
+
+End Sub
+
+Public Sub CheckSpelling()
+
+End Sub
+
+Public Sub Clear()
+
+End Sub
+
+Public Sub ClearComments()
+
+End Sub
+
+Public Sub ClearContents()
+
+End Sub
+
+Public Sub ClearFormats()
+
+End Sub
+
+Public Sub ClearHyperlinks()
+
+End Sub
+
+Public Sub ClearNotes()
+
+End Sub
+
+Public Sub ClearOutline()
+
+End Sub
+
+Public Sub ColumnDifferences()
+
+End Sub
+
+Public Sub Consolidate()
+
+End Sub
+
+Public Sub ConvertToLinkedDataType()
+
+End Sub
+
+Public Sub Copy()
+
+End Sub
+
+Public Sub CopyFromRecordset()
+
+End Sub
+
+Public Sub CopyPicture()
+
+End Sub
+
+Public Sub CreateNames()
+
+End Sub
+
+Public Sub Cut()
+
+End Sub
+
+Public Function DataSeries (Rowcol, Type, Date, Step, Stop, Trend)
+
+End Function
+
+Public Function DataTypeToText()
+
+End Function
+
+Public Function Delete (Shift)
+
+End Function
+
+Public Function DialogBox()
+
+End Function
+
+Public Function Dirty()
+
+End Function
+Public Function DiscardChanges()
+
+End Function
+Public Function EditionOptions (Type, Option, Name, Reference, Appearance, ChartSize, Format)
+
+End Function
+Public Function ExportAsFixedFormat (Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish, FixedFormatExtClassPtr)
+
+End Function
+Public Function FillDown()
+
+End Function
+Public Function FillLeft()
+
+End Function
+
+Public Function FillRight()
+
+End Function
+
+Public Function FillUp()
+
+End Function
+
+Public Function Find (What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)
+
+End Function
+
+Public Function FindNext (After)
+
+End Function
+
+Public Function FindPrevious (Before)
+
+End Function
+
+Public Function FlashFill ()
+
+End Function
+
+
+Public Function FunctionWizard ()
+
+End Function
+
+
+Public Function Group (Start, End, By, Periods)
+
+End Function
+
+Public Function Insert (Shift, CopyOrigin)
+
+End Function
+
+
+Public Function InsertIndent (InsertAmount)
+
+End Function
+
+
+Public Function Justify()
+
+End Function
+
+
+Public Function ListNames()
+
+End Function
+
+Public Function Merge(Across)
+
+End Function
+
+Public Function NavigateArrow(TowardPrecedent, ArrowNumber, LinkNumber)
+
+End Function
+
+Public Function NoteText(Text, Start, Length)
+
+End Function
+
+Public Function Parse(ParseLine, Destination)
+
+End Function
+
+Public Function PasteSpecial(Paste, Operation, SkipBlanks, Transpose)
+
+End Function
+
+
+Public Function PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName)
+
+End Function
+
+Public Function PrintPreview(EnableChanges)
+
+End Function
+
+Public Function RemoveDuplicates(Columns , Header)
+
+End Function
+
+Public Function RemoveSubtotal()
+
+End Function
+
+
+Public Function Replace(What, Replacement, LookAt, SearchOrder, MatchCase, MatchByte, SearchFormat, ReplaceFormat)
+
+End Function
+
+
+Public Function RowDifferences(Comparison)
+
+End Function
+
+Public Function Run(Arg1, Arg2, Arg3, Arg4, Arg5...)
+
+End Function
+
+Public Function Select()
+
+End Function
+
+Public Function SetCellDataTypeFromCell(Range, LanguageCulture)
+
+End Function
+
+
+Public Function SetPhonetic()
+
+End Function
+
+
+Public Function Show()
+
+End Function
+
+
+Public Function ShowCard()
+
+End Function
+
+
+Public Function ShowDependents(Remove)
+
+End Function
+
+
+Public Function ShowErrors()
+
+End Function
+
+
+Public Function ShowPrecedents(Remove)
+
+End Function
+
+
+Public Function Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3)
+
+End Function
+
+
+Public Function SortSpecial(SortMethod, Key1, Order1, Type, Key2, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, DataOption1, DataOption2, DataOption3)
+
+End Function
+
+Public Function Speak(SpeakDirection, SpeakFormulas)
+
+End Function
+
+
+Public Function SpecialCells(Type, Value)
+
+End Function
+
+Public Function SubscribeTo(Edition, Format)
+
+End Function
+
+Public Function Subtotal(GroupBy, Function, TotalList, Replace, PageBreaks, SummaryBelowData)
+
+End Function
+
+
+Public Function Table(RowInput, ColumnInput)
+
+End Function
+
+
+Public Function TextToColumns(Destination, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers
+
+End Function
+
+
+Public Function Ungroup()
+
+End Function
+
+
+Public Function UnMerge()
+
+End Function
+
+Public Property AddIndent As Variant
+
+Public Function Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo) As Variant
+End Function
+
+Public Function AddressLocal(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo) As Range
+End Function
+
+Public Property Application As Application
+
+Public Property Areas As Areas
+
+Public Property Borders As Variant
+
+Public Property Cells As Range
+
+Public Function Characters(Start, Length) As Variant
+End Function
+
+Public Property Column As Long
+
+Public Property Columns As Long
+
+Public Property ColumnWidth As Variant
+
+Public Property Comment As Variant
+
+Public Property CommentThreaded As Variant
+
+
+Public Property Count As Long
+
+
+Public Property CountLarge As Variant
+
+
+Public Property Creator As Integer
+
+
+Public Property CurrentArray As Range
+
+'/*
+'Returns a Range object that represents the current region.
+'The current region is a range bounded by any combination of blank rows and blank columns. Read-only.
+'
+'Example
+'Worksheets("Sheet1").Activate
+'ActiveCell.CurrentRegion.Select
+'*/
+Public Property CurrentRegion As Range
+
+Public Property Dependents As Range
+
+Public Property DirectDependents As Range
+
+Public Property DirectPrecedents As Range
+
+Public Property DisplayFormat As Object
+
+
+Public Function End(Direction) As Object
+End Function
+
+Public Property EntireColumn As Range
+
+
+Public Property EntireRow As Range
+
+
+Public Property Errors As Errors
+
+
+Public Property Font As Font
+
+
+Public Property FormatConditions As Range
+
+Public Property Formula As Variant
+
+Public Property FormulaArray As Variant
+
+Public Property FormulaHidden As Variant
+
+
+Public Property FormulaLocal As Object
+
+Public Property FormulaR1C1 As Varaint
+
+Public Property FormulaR1C1Local As Varaint
+
+Public Property HasArray As Varaint
+
+Public Property HasFormula As Varaint
+
+Public Property HasRichDataType As Varaint
+
+Public Property Height As Double
+
+Public Property Hidden As Variant
+
+Public Property HorizontalAlignment As Variant
+
+Public Property Hyperlinks As Object
+
+Public Property ID As String
+
+Public Property IndentLevel As Variant
+
+Public Property Interior As Double
+
+Public Function Item (RowIndex, ColumnIndex) As Range
+End Function
+
+
+Public Property Left As Variant
+
+
+Public Property LinkedDataTypeState As Variant
+
+Public Property ListHeaderRows As Variant
+
+
+Public Property ListObject As Object
+
+Public Property LocationInTable As Variant
+
+Public Property Locked As Variant
+
+Public Property MDX As String
+
+Public Property MergeArea As Range
+
+Public Property MergeCells As Boolean
+
+Public Property Name As Variant
+
+Public Property Next As Range
+
+Public Property NumberFormat As Variant
+
+Public Property NumberFormatLocal As Variant
+
+Public Function Offset (RowOffset, ColumnOffset) As Range
+
+End Function
+
+
+Public Property Orientation As Variant
+
+Public Property OutlineLevel As Variant
+
+Public Property PageBreak As Variant
+
+Public Property Parent As Variant
+
+Public Property Phonetic As Variant
+
+Public Property Phonetics As Variant
+
+Public Property PivotCell As Variant
+
+
+Public Property PivotField As Variant
+
+
+Public Property PivotItem As Variant
+
+Public Property PivotTable As Variant
+
+Public Property Precedents As Range
+
+Public Property PrefixCharacter As Variant
+
+
+Public Property Previous As Range
+
+Public Property QueryTable As Variant
+
+Public Function Range (Cell1, Cell2) As Range
+End Function
+
+Public Property ReadingOrder As Variant
+
+Public Function Resize (RowSize, ColumnSize) As Range
+End Function
+
+
+Public Property Row As Long
+
+Public Property RowHeight As Double
+
+Public Property Rows As Range
+
+Public Property ServerActions As Variant
+
+
+Public Property ShowDetail As Variant
+
+
+Public Property ShrinkToFit As Variant
+
+
+Public Property SoundNote As Variant
+
+
+Public Property SparklineGroups As Variant
+
+
+Public Property Style As Variant
+
+Public Property Summary As Variant
+
+
+Public Property Text As String
+
+Public Property Top As Variant
+
+Public Property UseStandardHeight As Variant
+
+Public Property UseStandardWidth As Variant
+
+Public Property Validation As Variant
+
+Public Function Value (RangeValueDataType) As Variant
+End Function
+
+Public Property Value2 As Variant
+
+
+Public Property VerticalAlignment As Variant
+
+Public Property Width As Double
+
+
+
+Public Property Worksheet As Worksheet
+
+
+Public Property WrapText As Variant
+
+Public Property XPath As XPath
+
+
+
+End Class
diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/workbook.d.vb b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/workbook.d.vb
new file mode 100644
index 00000000..55764e2b
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/workbook.d.vb
@@ -0,0 +1,157 @@
+'/*
+'Represents a Microsoft Excel workbook.
+'
+'
+'*/
+Public Class Workbook()
+
+'/*
+'Returns a String that represents the complete path to the
+'workbook/file that this workbook object represents.
+'
+'*/
+Public Property Path As String
+
+
+Public Property Worksheets As Worksheet
+
+'/*
+'True if a backup file is created when this file is saved. Read-only Boolean.
+'
+'@type {Boolean}
+'*/
+Public Property CreateBackup As Boolean
+
+'/*
+'Returns a String value that represents the name of the object.
+'
+'@type {Boolean}
+'*/
+Public Property Name As String
+
+'/*
+'True if no changes have been made to the specified workbook since it was last saved. Read/write Boolean.
+'
+'Example:
+'If Not ActiveWorkbook.Saved Then
+' MsgBox "This workbook contains unsaved changes."
+'End If
+'
+'@type {Boolean}
+'*/
+Public Property Saved As String
+
+'/*
+'Returns a Sheets collection that represents all the sheets in the specified workbook. Read-only Sheets object.
+'
+'Example:
+'Set newSheet = Sheets.Add(Type:=xlWorksheet)
+'For i = 1 To Sheets.Count
+' newSheet.Cells(i, 1).Value = Sheets(i).Name
+' Next i
+'
+'@type {Sheets}
+'*/
+Public Property Sheets As Worksheets
+
+
+'/*
+'
+'Activates the first window associated with the workbook.
+'
+'*/
+Public Function Activate()
+
+End Function
+
+'/*
+'
+'Closes the object.
+'
+'Example
+'
+'Workbooks("BOOK1.XLS").Close SaveChanges:=False
+'
+'@param {Variant} SaveChanges:[Optional] True or false
+'@param {Variant} FileName:[Optional] Saves changes under this file name.
+'@param {Variant} RouteWorkbook:[Optional] True or False
+'*/
+Public Function Close(SaveChanges,FileName,RouteWorkbook)
+
+End Function
+
+'/*
+'Saves changes to the specified workbook.
+'*/
+Public Function Save()
+
+End Function
+
+'/*
+'Saves changes to the workbook in a different file.
+'
+'@param {Variant} FileName:[Optional]
+'@param {Variant} FileFormat:[Optional]
+'@param {Variant} Password:[Optional]
+'@param {Variant} WriteResPassword:[Optional]
+'@param {Variant} ReadOnlyRecommended:[Optional]
+'@param {Variant} CreateBackup:[Optional]
+'@param {Variant} AccessMode:[Optional]
+'@param {Variant} ConflictResolution:[Optional]
+'@param {Variant} AddToMru:[Optional]
+'@param {Variant} TextCodepage:[Optional]
+'@param {Variant} TextVisualLayout:[Optional]
+'@param {Variant} Local:[Optional]
+'*/
+Public Function SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)
+
+End Function
+
+
+'/*
+'Exports the data that has been mapped to the specified XML schema map to an XML data file.
+'
+'@param {String} FileName:[Required]
+'@param {XmlMap} Map:[Required]
+'*/
+Public Function SaveAsXMLData(FileName, Map)
+
+End Function
+
+
+'/*
+'Saves a copy of the workbook to a file but doesn't modify the open workbook in memory.
+'
+'Example
+'ActiveWorkbook.SaveCopyAs "C:\TEMP\XXXX.XLS"
+'
+'@param {Variant} FileName:[Required]
+'*/
+Public Function SaveCopyAs(FileName, Map)
+
+End Function
+
+'/*
+'Sends the workbook by using the installed mail system.
+'
+'Example
+'ActiveWorkbook.SendMail recipients:="Jean Selva"
+'
+'@param {Variant} Recipients:[Required]
+'@param {Variant} Subject:[Optional]
+'@param {Variant} ReturnReceipt:[Optional]
+'*/
+Public Function SendMail(Recipients, Subject, ReturnReceipt)
+
+End Function
+
+'/*
+'
+'The ExportAsFixedFormat method is used to publish
+'a workbook to either the PDF or XPS format.
+'
+'*/
+Public Function ExportAsFixedFormat(Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish, FixedFormatExtClassPtr)
+End Function
+
+End Class
\ No newline at end of file
diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/workbooks.d.vb b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/workbooks.d.vb
new file mode 100644
index 00000000..07f71c5f
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/workbooks.d.vb
@@ -0,0 +1,109 @@
+'/*
+'A collection of all the Workbook objects that are currently open in the Microsoft Excel application.
+'
+'*/
+Public Class Workbooks()
+
+'/*
+'Creates a new workbook. The new workbook becomes the active workbook.
+'
+'@param {Variant} Template:[Optional] Determines how the new workbook is created.
+'If this argument is a string specifying the name of an existing Microsoft Excel file,
+'the new workbook is created with the specified file as a template.
+'*/
+Public Function Add(Template)
+
+End Function
+
+
+'/*
+'True if Microsoft Excel can check out a specified workbook from a server.
+'Read/write Boolean.
+'
+'@param {String} FileName:[Required] The name of the file to check out.
+'
+'*/
+Public Function CanCheckOut (FileName)
+
+End Function
+
+
+Public Function CheckOut (FileName)
+
+End Function
+
+
+Public Function Close ()
+
+End Function
+
+'/*
+'
+'Opens a workbook.
+'
+'Example
+'Workbooks.Open "ANALYSIS.XLS"
+'ActiveWorkbook.RunAutoMacros xlAutoOpen
+'*/
+Public Function Open (FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad) As Workbook
+
+End Function
+
+'/*
+'Returns a Workbook object representing a database.
+'*/
+Public Function OpenDatabase (FileName, CommandText, CommandType, BackgroundQuery, ImportDataAs)
+
+End Function
+
+
+'/*
+'Loads and parses a text file as a new workbook with a single sheet that contains the parsed text-file data.
+'*/
+Public Function (FileName, Origin, StartRow, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, TextVisualLayout, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers, Local)
+
+End Function
+
+'/*
+'Opens an XML data file. Returns a Workbook object.
+'*/
+Public Function OpenXML (FileName, Stylesheets, LoadOption)
+
+End Function
+
+
+'/*
+'When used without an object qualifier, this property returns an
+'Application object that represents the Microsoft Excel application.
+'
+'*/
+Public Property Application As Application
+
+
+'/*
+'Returns a Long value that represents the number of objects in the collection.
+'
+'*/
+Public Property Count As Long
+
+'/*
+'Returns a 32-bit integer that indicates the application in which this object was created. Read-only Long.
+'
+'*/
+Public Property Creator As Integer
+
+
+
+'/*
+'Returns a single object from a collection.
+'
+'*/
+Public Property Item(Index) As Object
+
+'/*
+'Returns the parent object for the specified object. Read-only.
+'
+'*/
+Public Property Parent As Object
+
+End Class
\ No newline at end of file
diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/worksheet.d.vb b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/worksheet.d.vb
new file mode 100644
index 00000000..24a02271
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/worksheet.d.vb
@@ -0,0 +1,86 @@
+'/*
+'Represents a worksheet.
+'
+'Example
+'
+'Worksheets(1).Visible = False
+'
+'*/
+Public Class Worksheet()
+
+
+'/*
+'Makes the current sheet the active sheet.
+'
+'Example
+'ActiveWorkbook.SendMail recipients:="Jean Selva"
+'*/
+Public Sub Activate()
+
+End Sub
+
+
+Public Sub Calculate()
+
+End Sub
+
+Public Sub Copy()
+
+End Sub
+
+Public Sub Delete()
+End Sub
+
+Public Sub Move()
+
+End Sub
+
+Public Sub Past()
+
+End Sub
+
+Public Sub PastSpecial()
+
+End Sub
+
+Public Sub Select()
+End Sub
+
+Public Sub SaveAs()
+
+End Sub
+
+'/*
+'
+'Returns a Range object that represents a cell or a range of cells.
+'
+'Example:
+'
+'Worksheets("Sheet1").Range("A1").Value = 3.14159
+'
+'*/
+Public Property Range As Range
+
+
+'/*
+'
+'Returns a Range object that represents all the rows on the specified worksheet.
+'
+'Example:
+'
+'Worksheets("Sheet1").Rows(3).Delete
+'
+'*/
+Public Property Row As Range
+
+
+'/*
+'
+'Returns a Long value that represents the index number of the
+'object within the collection of similar objects.orksheets("Sheet1").Rows(3).Delete
+'
+'*/
+Public Property Index As Long
+
+
+End Class
\ No newline at end of file
diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/worksheets.d.vb b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/worksheets.d.vb
new file mode 100644
index 00000000..7d775495
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/worksheets.d.vb
@@ -0,0 +1,54 @@
+'/*
+'A collection of all the Worksheet objects in the specified or active workbook. Each Worksheet object represents a worksheet.
+'
+'Example
+'
+'Worksheets(1).Visible = False
+'
+'*/
+Public Class Worksheets()
+
+'/*
+'Constructor
+'
+'*/
+Public Sub New(Name As String) As Worksheet
+
+End Sub
+
+Public Sub Add()
+
+End Sub
+
+
+Public Sub Add2()
+
+End Sub
+
+Public Sub Copy()
+
+End Sub
+
+Public Sub Delete()
+End Sub
+
+Public Sub Move()
+
+End Sub
+
+Public Sub FillAcrossSheets()
+
+End Sub
+
+Public Sub PrintOut()
+
+End Sub
+
+Public Sub PrintPreview()
+End Sub
+
+Public Sub Select()
+
+End Sub
+
+End Class
\ No newline at end of file
diff --git a/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/xvba.package.json b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/xvba.package.json
new file mode 100644
index 00000000..2fb972d9
--- /dev/null
+++ b/XVBA/事業計画集計【簡易版】/xvba_modules/excel-types/xvba.package.json
@@ -0,0 +1,15 @@
+{
+ "package": "excel-types",
+ "version": "1.0.0",
+ "author": "Alberto Oliveira",
+ "email": "alberto.aeraph@gmail.comn",
+ "license": "ISC",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/Aeraphe/excel-types.git"
+ },
+ "description": "Creating amazing XVBA packages",
+ "dependencies": {},
+ "dev_dependencies": {},
+ "homepage": "https://github.com/Aeraphe/xvba-cli"
+}
\ No newline at end of file
diff --git a/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計 v4.1.zip b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計 v4.1.zip
new file mode 100644
index 00000000..1d03ffcb
Binary files /dev/null and b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計 v4.1.zip differ
diff --git a/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計 v4.1/【2025経営計画】新・事業計画集計v4.1.xlsm b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計 v4.1/【2025経営計画】新・事業計画集計v4.1.xlsm
new file mode 100644
index 00000000..aa33e1c4
Binary files /dev/null and b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計 v4.1/【2025経営計画】新・事業計画集計v4.1.xlsm differ
diff --git a/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計 v4.1/【2025経営計画】新・事業計画集計【簡易版】v1.1.xlsm b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計 v4.1/【2025経営計画】新・事業計画集計【簡易版】v1.1.xlsm
new file mode 100644
index 00000000..fba324c8
Binary files /dev/null and b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計 v4.1/【2025経営計画】新・事業計画集計【簡易版】v1.1.xlsm differ
diff --git a/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計.zip b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計.zip
new file mode 100644
index 00000000..9be9691f
Binary files /dev/null and b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計.zip differ
diff --git a/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計v4.0.xlsm b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計v4.0.xlsm
new file mode 100644
index 00000000..b14f6b0e
Binary files /dev/null and b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計v4.0.xlsm differ
diff --git a/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計【簡易版】v1.0.xlsm b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計【簡易版】v1.0.xlsm
new file mode 100644
index 00000000..d8981809
Binary files /dev/null and b/XVBA/事業計画集計【簡易版】/【2025経営計画】新・事業計画集計【簡易版】v1.0.xlsm differ
diff --git a/XVBA/汎用ツール/vba-files/Module/Module1.bas b/XVBA/汎用ツール/vba-files/Module/Module1.bas
index 0e0cc670..3a0bf0df 100644
--- a/XVBA/汎用ツール/vba-files/Module/Module1.bas
+++ b/XVBA/汎用ツール/vba-files/Module/Module1.bas
@@ -1,61 +1,201 @@
Attribute VB_Name = "Module1"
Option Explicit
+'******************************************************************************
+'REST APIďo
+'@vU^[̔Cӂ̃e[uf[^擾͂pc[
+Public apiKey As String
+Public baseURL As String
+Sub run()
+ Call getDataFromPleasanterTable
+End Sub
-'Web APIJSONp[^t^ăf[^擾
-Public Sub FetchDataFromWebAPI(recordId As String)
- 'APIL[ݒ
- Dim apiKey As String
- apiKey = "6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d"
+Function getDataFromPleasanterTable()
+ Debug.Print "------ START ------"
+ Application.ScreenUpdating = False 'ʍXV~
+ Application.Calculation = xlManual 'vZ~
- Dim http As Object
- Dim url As String
- Dim response As String
- Dim jsonBody As String
- Dim postData As Object
- Dim jsonRes As Object
+ '****************************************
+ '
+ Call init
+ '****************************************
- 'VBA-JSONDictionary𗘗p
- Set postData = CreateObject("Scripting.Dictionary")
- postData("ApiVersion") = "1.1"
- postData("ApiKey") = apiKey
+ '擾ݒV[g
+ Dim wsݒ As Worksheet
+ Set wsݒ = ThisWorkbook.Sheets("擾ݒ")
- 'JsonConverter.ConvertToJsonJSONɕϊ
- jsonBody = JsonConverter.ConvertToJson(postData)
-
- 'url = "https://jsonplaceholder.typicode.com/todos" " POSTp̃Gh|Cg
- url = "https://nextoffice.Next-hd.co.jp/pleasanter/api/items/" & recordId & "/Get"
-
- Debug.Print "URL: " & url
- Debug.Print "JSON Body: " & jsonBody
-
- Set http = CreateObject("MSXML2.XMLHTTP")
- http.Open "POST", url, False
- http.setRequestHeader "Content-Type", "application/json"
- http.send jsonBody
-
- Debug.Print http.Status & " " & http.statusText
-
-
- If http.Status = 201 Or http.Status = 200 Then
- response = http.responseText
- 'X|XJSONƂăp[X
- Set jsonRes = JsonConverter.ParseJson(response)
- Debug.Print "擾f[^: " & jsonRes("Response")("Data")(1)("Title")
-
- Else
- MsgBox "G[: " & http.Status & " - " & http.statusText
+ '擾e[uIDw
+ Dim e[uID As String
+ e[uID = wsݒ.Range("e[uID").Value
+ 'o̓V[g
+ Dim o̓V[g As String
+ o̓V[g = wsݒ.Range("o̓V[g").Value
+ If o̓V[g = "" Then
+ o̓V[g = e[uID & "_f[^"
End If
- Set http = Nothing
-End Sub
+ 'ʕϐ
+ Dim apiUrl As String
+ Dim apiUrlParam As String
-'FetchDataFromWebAPIĂяo
-Public Sub TestFetchData()
- Dim recordId As String
- recordId = "119261" 'KȃR[hIDɒuĂ
- FetchDataFromWebAPI recordId
+ 'NGXgURL
+ apiUrl = baseURL & "/pleasanter/api/items/" & e[uID & "/"
+ apiUrlParam = "export"
-End Sub
+ 'wb_
+ Dim apiHeaders As New Dictionary
+ apiHeaders.Add "Content-Type", "application/json;charset=utf-8"
+
+ 'NGXgf[^
+ Dim apiBody As New Dictionary
+ apiBody.Add "ApiVersion", "1.1"
+ apiBody.Add "ApiKey", apiKey
+
+ 'tB^ϐ
+ Dim colFilter As New Dictionary
+ Dim i As Long
+ For i = 8 To 17
+ If wsݒ.Cells(i, 5).Value <> "" Then
+ colFilter.Add wsݒ.Cells(i, 2).Value, wsݒ.Cells(i, 5).Value
+ End If
+ Next i
+ For i = 3 To 22
+ If wsݒ.Cells(i, 10).Value <> "" And wsݒ.Cells(i, 11).Value <> "" And wsݒ.Cells(i, 13).Value <> "" Then 'J, K, M
+ colFilter.Add wsݒ.Cells(i, 12).Value, wsݒ.Cells(i, 13).Value 'L, M
+ End If
+ Next i
+
+ '\[gw
+ Dim colSorter As New Dictionary
+ For i = 8 To 17
+ If wsݒ.Cells(i, 6).Value <> "" Then
+ colSorter.Add wsݒ.Cells(i, 2).Value, wsݒ.Cells(i, 7).Value
+ End If
+ Next i
+ For i = 3 To 22
+ If wsݒ.Cells(i, 15).Value <> "" And wsݒ.Cells(i, 16).Value <> "" And wsݒ.Cells(i, 18).Value <> "" Then 'O, P, R
+ colSorter.Add wsݒ.Cells(i, 17).Value, wsݒ.Cells(i, 19).Value 'Q, S
+ End If
+ Next i
+
+ 'Viewϐ
+ Dim view As New Dictionary
+ view.Add "ColumnFilterHash", colFilter
+ view.Add "ColumnSorterHash", colSorter
+ apiBody.Add "View", view
+
+ 'HTTPNGXgM\bhĂяo
+ Dim res As Object
+ Set res = callRestApi("POST", apiUrl, apiUrlParam, apiHeaders, apiBody)
+
+ If res("StatusCode") = 200 Then
+ Debug.Print "------ f[^̎擾ɐ܂"
+
+ 'f[^ۑ
+ Dim csvData As Variant
+ csvData = res("Response")("Content")
+ Call f[^ۑ(csvData, o̓V[g)
+ End If
+
+ Application.Calculation = xlAutomatic 'vZJn
+ Application.ScreenUpdating = True 'ʍXVJn
+ Debug.Print "------ "
+ Debug.Print "------ END ------"
+End Function
+
+Function init()
+ 'pubNϐɒli[
+ 'Pleasanter API KEY
+ apiKey = "6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d"
+ baseURL = "https://nextoffice.Next-hd.co.jp"
+
+End Function
+
+Function f[^ۑ(csvData As Variant, targetSheet As String)
+ Debug.Print "------ CSVf[^V[gɏo͊Jn"
+
+ 'targetSheet݂Ȃꍇ͐VK쐬
+ If Not V[gmF(targetSheet) Then
+ ThisWorkbook.Sheets.Add After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
+ ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name = targetSheet
+ End If
+
+ 'CSVf[^ue[uvɏo͂鏈
+ Dim ws As Worksheet
+ Set ws = ThisWorkbook.Sheets(targetSheet & "")
+ ws.Cells.ClearContents
+
+ 'csvDataꎞt@Cɕۑ
+ Dim tempFilePath As String
+ tempFilePath = Environ("TEMP") & "\pleasanter_temp.csv"
+
+ Dim fileNum As Integer
+ fileNum = FreeFile
+ Open tempFilePath For Output As #fileNum
+ Print #fileNum, csvData
+ Close #fileNum
+
+ Debug.Print "ꎞt@Cɕۑ: " & tempFilePath
+
+ Dim tempWb As Workbook
+ Set tempWb = Workbooks.Open(tempFilePath)
+
+ Dim tempWs As Worksheet
+ Set tempWs = tempWb.Sheets(1)
+
+ tempWs.UsedRange.Copy ws.Range("A1")
+
+ tempWb.Close SaveChanges:=False
+ Kill tempFilePath
+
+
+
+ Debug.Print "------ "
+ Debug.Print "------ CSVf[^V[gɏo͊"
+End Function
+
+
+'******************************************************************************
+'REST APIďo
+'@method@GetPOST
+'@url@REST APIURL
+'@urlParam@NGXgp[^iIvVj
+'@headers@wb_iIvVj
+Function callRestApi(Byval method As String, Byval url As String, Optional Byval urlParam As String = "", Optional Byval headers As Dictionary = Null, Optional Byval body As Dictionary = Null) As Object
+
+ 'HTTPNGXg̃IuWFNg`
+ Dim objHTTP As Object
+ Set objHTTP = New XMLHTTP60
+
+ 'HTTPNGXg̐ڑݒ
+ objHTTP.Open method, url & urlParam, False
+
+ 'NGXgwb_[ݒiꍇsetRequestHeaderΗǂ̂`j
+ Dim i As Long
+ For i = 0 To headers.count - 1
+ objHTTP.setRequestHeader headers.keys(i), headers.items(i)
+ Next i
+
+ 'NGXgM
+ objHTTP.send JsonConverter.ConvertToJson(body)
+
+ Do While objHTTP.readyState < 4
+ DoEvents
+ Loop
+
+ 'X|X̕iobjHTTP.responseTextjJsonɕϊĕԋp
+ Set callRestApi = JsonConverter.ParseJson(objHTTP.responseText)
+
+End Function
+
+'V[g̑݊mF
+Function V[gmF(SheetName As String, Optional wb As Excel.Workbook) As Boolean
+ Dim Sh As Excel.Worksheet
+ If wb Is Nothing Then Set wb = ThisWorkbook
+ On Error Resume Next
+ Set Sh = wb.Sheets(SheetName)
+ On Error Goto 0
+ V[gmF = Not Sh Is Nothing
+End Function
\ No newline at end of file
diff --git a/XVBA/汎用ツール/データ取得汎用ツール.xlsm b/XVBA/汎用ツール/データ取得汎用ツール.xlsm
index 714f0dd0..0caae9c4 100644
Binary files a/XVBA/汎用ツール/データ取得汎用ツール.xlsm and b/XVBA/汎用ツール/データ取得汎用ツール.xlsm differ
diff --git a/XVBA/稟議集計/.vscode/settings.json b/XVBA/稟議集計/.vscode/settings.json
new file mode 100644
index 00000000..c0ebeb96
--- /dev/null
+++ b/XVBA/稟議集計/.vscode/settings.json
@@ -0,0 +1,11 @@
+{
+ "files.encoding": "shiftjis",
+ "editor.fontFamily": "'HackGen35 Console'",
+ "editor.tokenColorCustomizations": {
+ "comments": {
+ "foreground": "#66ff33",
+ "fontStyle": "italic underline"
+ }
+ },
+ "editor.defaultFormatter": "local-smart.excel-live-server",
+}
\ No newline at end of file
diff --git a/XVBA/稟議集計/config.json b/XVBA/稟議集計/config.json
new file mode 100644
index 00000000..4916f992
--- /dev/null
+++ b/XVBA/稟議集計/config.json
@@ -0,0 +1,14 @@
+{
+ "app_name": "XVBA",
+ "description": "",
+ "author": "",
+ "email": "",
+ "create_ate": "Fri Nov 14 2025 11:05:37 GMT+0900 (日本標準時)",
+ "excel_file": "稟議集計.xlsm",
+ "vba_folder": "vba-files",
+ "ribbon_file": "customUI14",
+ "ribbon_folder": "ribbons",
+ "logs": "on",
+ "xvba_packages": {},
+ "xvba_dev_packages": {}
+}
\ No newline at end of file
diff --git a/XVBA/稟議集計/package.json b/XVBA/稟議集計/package.json
new file mode 100644
index 00000000..a8deae27
--- /dev/null
+++ b/XVBA/稟議集計/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "xvba-app",
+ "version": "1.0.0",
+ "description": "A XVBA App",
+ "main": "index.js",
+ "author": "LocalSmart",
+ "license": "ISC",
+ "dependencies": {
+ "excel-types": "1.0.0",
+ "Xlog": "1.0.0"
+ },
+ "devDependencies": {
+ "@localsmart/xvba-cli": "^1.0.2"
+ }
+}
\ No newline at end of file
diff --git a/XVBA/稟議集計/vba-files/Class/Sheet1.cls b/XVBA/稟議集計/vba-files/Class/Sheet1.cls
new file mode 100644
index 00000000..34122d33
--- /dev/null
+++ b/XVBA/稟議集計/vba-files/Class/Sheet1.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet1"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/稟議集計/vba-files/Class/Sheet2.cls b/XVBA/稟議集計/vba-files/Class/Sheet2.cls
new file mode 100644
index 00000000..bae245ef
--- /dev/null
+++ b/XVBA/稟議集計/vba-files/Class/Sheet2.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet2"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/稟議集計/vba-files/Class/Sheet3.cls b/XVBA/稟議集計/vba-files/Class/Sheet3.cls
new file mode 100644
index 00000000..b0b36e83
--- /dev/null
+++ b/XVBA/稟議集計/vba-files/Class/Sheet3.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "Sheet3"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/稟議集計/vba-files/Class/ThisWorkbook.cls b/XVBA/稟議集計/vba-files/Class/ThisWorkbook.cls
new file mode 100644
index 00000000..6e197c86
--- /dev/null
+++ b/XVBA/稟議集計/vba-files/Class/ThisWorkbook.cls
@@ -0,0 +1,11 @@
+VERSION 1.0 CLASS
+BEGIN
+ MultiUse = -1 'True
+END
+Attribute VB_Name = "ThisWorkbook"
+Attribute VB_GlobalNameSpace = False
+Attribute VB_Creatable = False
+Attribute VB_PredeclaredId = True
+Attribute VB_Exposed = True
+Option Explicit
+
diff --git a/XVBA/稟議集計/vba-files/Module/JsonConverter.bas b/XVBA/稟議集計/vba-files/Module/JsonConverter.bas
new file mode 100644
index 00000000..876b8650
--- /dev/null
+++ b/XVBA/稟議集計/vba-files/Module/JsonConverter.bas
@@ -0,0 +1,1123 @@
+Attribute VB_Name = "JsonConverter"
+''
+' VBA-JSON v2.3.1
+' (c) Tim Hall - https://github.com/VBA-tools/VBA-JSON
+'
+' JSON Converter for VBA
+'
+' Errors:
+' 10001 - JSON parse error
+'
+' @class JsonConverter
+' @author tim.hall.engr@gmail.com
+' @license MIT (http://www.opensource.org/licenses/mit-license.php)
+'' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ '
+'
+' Based originally on vba-json (with extensive changes)
+' BSD license included below
+'
+' JSONLib, http://code.google.com/p/vba-json/
+'
+' Copyright (c) 2013, Ryo Yokoyama
+' All rights reserved.
+'
+' Redistribution and use in source and binary forms, with or without
+' modification, are permitted provided that the following conditions are met:
+' * Redistributions of source code must retain the above copyright
+' notice, this list of conditions and the following disclaimer.
+' * Redistributions in binary form must reproduce the above copyright
+' notice, this list of conditions and the following disclaimer in the
+' documentation and/or other materials provided with the distribution.
+' * Neither the name of the nor the
+' names of its contributors may be used to endorse or promote products
+' derived from this software without specific prior written permission.
+'
+' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+' ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+' WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+' DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
+' DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+' (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+' LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+' ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+' (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+' SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ '
+Option Explicit
+
+' === VBA-UTC Headers
+#If Mac Then
+
+#If VBA7 Then
+
+' 64-bit Mac (2016)
+Private Declare PtrSafe Function utc_popen Lib "/usr/lib/libc.dylib" Alias "popen" _
+ (ByVal utc_Command As String, ByVal utc_Mode As String) As LongPtr
+Private Declare PtrSafe Function utc_pclose Lib "/usr/lib/libc.dylib" Alias "pclose" _
+ (ByVal utc_File As LongPtr) As LongPtr
+Private Declare PtrSafe Function utc_fread Lib "/usr/lib/libc.dylib" Alias "fread" _
+ (ByVal utc_Buffer As String, ByVal utc_Size As LongPtr, ByVal utc_Number As LongPtr, ByVal utc_File As LongPtr) As LongPtr
+Private Declare PtrSafe Function utc_feof Lib "/usr/lib/libc.dylib" Alias "feof" _
+ (ByVal utc_File As LongPtr) As LongPtr
+
+#Else
+
+' 32-bit Mac
+Private Declare Function utc_popen Lib "libc.dylib" Alias "popen" _
+ (ByVal utc_Command As String, ByVal utc_Mode As String) As Long
+Private Declare Function utc_pclose Lib "libc.dylib" Alias "pclose" _
+ (ByVal utc_File As Long) As Long
+Private Declare Function utc_fread Lib "libc.dylib" Alias "fread" _
+ (ByVal utc_Buffer As String, ByVal utc_Size As Long, ByVal utc_Number As Long, ByVal utc_File As Long) As Long
+Private Declare Function utc_feof Lib "libc.dylib" Alias "feof" _
+ (ByVal utc_File As Long) As Long
+
+#End If
+
+#ElseIf VBA7 Then
+
+' http://msdn.microsoft.com/en-us/library/windows/desktop/ms724421.aspx
+' http://msdn.microsoft.com/en-us/library/windows/desktop/ms724949.aspx
+' http://msdn.microsoft.com/en-us/library/windows/desktop/ms725485.aspx
+Private Declare PtrSafe Function utc_GetTimeZoneInformation Lib "kernel32" Alias "GetTimeZoneInformation" _
+ (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION) As Long
+Private Declare PtrSafe Function utc_SystemTimeToTzSpecificLocalTime Lib "kernel32" Alias "SystemTimeToTzSpecificLocalTime" _
+ (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpUniversalTime As utc_SYSTEMTIME, utc_lpLocalTime As utc_SYSTEMTIME) As Long
+Private Declare PtrSafe Function utc_TzSpecificLocalTimeToSystemTime Lib "kernel32" Alias "TzSpecificLocalTimeToSystemTime" _
+ (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpLocalTime As utc_SYSTEMTIME, utc_lpUniversalTime As utc_SYSTEMTIME) As Long
+
+#Else
+
+Private Declare Function utc_GetTimeZoneInformation Lib "kernel32" Alias "GetTimeZoneInformation" _
+ (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION) As Long
+Private Declare Function utc_SystemTimeToTzSpecificLocalTime Lib "kernel32" Alias "SystemTimeToTzSpecificLocalTime" _
+ (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpUniversalTime As utc_SYSTEMTIME, utc_lpLocalTime As utc_SYSTEMTIME) As Long
+Private Declare Function utc_TzSpecificLocalTimeToSystemTime Lib "kernel32" Alias "TzSpecificLocalTimeToSystemTime" _
+ (utc_lpTimeZoneInformation As utc_TIME_ZONE_INFORMATION, utc_lpLocalTime As utc_SYSTEMTIME, utc_lpUniversalTime As utc_SYSTEMTIME) As Long
+
+#End If
+
+#If Mac Then
+
+#If VBA7 Then
+Private Type utc_ShellResult
+ utc_Output As String
+ utc_ExitCode As LongPtr
+End Type
+
+#Else
+
+Private Type utc_ShellResult
+ utc_Output As String
+ utc_ExitCode As Long
+End Type
+
+#End If
+
+#Else
+
+Private Type utc_SYSTEMTIME
+ utc_wYear As Integer
+ utc_wMonth As Integer
+ utc_wDayOfWeek As Integer
+ utc_wDay As Integer
+ utc_wHour As Integer
+ utc_wMinute As Integer
+ utc_wSecond As Integer
+ utc_wMilliseconds As Integer
+End Type
+
+Private Type utc_TIME_ZONE_INFORMATION
+ utc_Bias As Long
+ utc_StandardName(0 To 31) As Integer
+ utc_StandardDate As utc_SYSTEMTIME
+ utc_StandardBias As Long
+ utc_DaylightName(0 To 31) As Integer
+ utc_DaylightDate As utc_SYSTEMTIME
+ utc_DaylightBias As Long
+End Type
+
+#End If
+' === End VBA-UTC
+
+Private Type json_Options
+ ' VBA only stores 15 significant digits, so any numbers larger than that are truncated
+ ' This can lead to issues when BIGINT's are used (e.g. for Ids or Credit Cards), as they will be invalid above 15 digits
+ ' See: http://support.microsoft.com/kb/269370
+ '
+ ' By default, VBA-JSON will use String for numbers longer than 15 characters that contain only digits
+ ' to override set `JsonConverter.JsonOptions.UseDoubleForLargeNumbers = True`
+ UseDoubleForLargeNumbers As Boolean
+
+ ' The JSON standard requires object keys to be quoted (" or '), use this option to allow unquoted keys
+ AllowUnquotedKeys As Boolean
+
+ ' The solidus (/) is not required to be escaped, use this option to escape them as \/ in ConvertToJson
+ EscapeSolidus As Boolean
+End Type
+Public JsonOptions As json_Options
+
+' ============================================= '
+' Public Methods
+' ============================================= '
+
+''
+' Convert JSON string to object (Dictionary/Collection)
+'
+' @method ParseJson
+' @param {String} json_String
+' @return {Object} (Dictionary or Collection)
+' @throws 10001 - JSON parse error
+''
+Public Function ParseJson(ByVal JsonString As String) As Object
+ Dim json_Index As Long
+ json_Index = 1
+
+ ' Remove vbCr, vbLf, and vbTab from json_String
+ JsonString = VBA.Replace(VBA.Replace(VBA.Replace(JsonString, VBA.vbCr, ""), VBA.vbLf, ""), VBA.vbTab, "")
+
+ json_SkipSpaces JsonString, json_Index
+ Select Case VBA.Mid$(JsonString, json_Index, 1)
+ Case "{"
+ Set ParseJson = json_ParseObject(JsonString, json_Index)
+ Case "["
+ Set ParseJson = json_ParseArray(JsonString, json_Index)
+ Case Else
+ ' Error: Invalid JSON string
+ Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(JsonString, json_Index, "Expecting '{' or '['")
+ End Select
+End Function
+
+''
+' Convert object (Dictionary/Collection/Array) to JSON
+'
+' @method ConvertToJson
+' @param {Variant} JsonValue (Dictionary, Collection, or Array)
+' @param {Integer|String} Whitespace "Pretty" print json with given number of spaces per indentation (Integer) or given string
+' @return {String}
+''
+Public Function ConvertToJson(ByVal JsonValue As Variant, Optional ByVal Whitespace As Variant, Optional ByVal json_CurrentIndentation As Long = 0) As String
+ Dim json_Buffer As String
+ Dim json_BufferPosition As Long
+ Dim json_BufferLength As Long
+ Dim json_Index As Long
+ Dim json_LBound As Long
+ Dim json_UBound As Long
+ Dim json_IsFirstItem As Boolean
+ Dim json_Index2D As Long
+ Dim json_LBound2D As Long
+ Dim json_UBound2D As Long
+ Dim json_IsFirstItem2D As Boolean
+ Dim json_Key As Variant
+ Dim json_Value As Variant
+ Dim json_DateStr As String
+ Dim json_Converted As String
+ Dim json_SkipItem As Boolean
+ Dim json_PrettyPrint As Boolean
+ Dim json_Indentation As String
+ Dim json_InnerIndentation As String
+
+ json_LBound = -1
+ json_UBound = -1
+ json_IsFirstItem = True
+ json_LBound2D = -1
+ json_UBound2D = -1
+ json_IsFirstItem2D = True
+ json_PrettyPrint = Not IsMissing(Whitespace)
+
+ Select Case VBA.VarType(JsonValue)
+ Case VBA.vbNull
+ ConvertToJson = "null"
+ Case VBA.vbDate
+ ' Date
+ json_DateStr = ConvertToIso(VBA.CDate(JsonValue))
+
+ ConvertToJson = """" & json_DateStr & """"
+ Case VBA.vbString
+ ' String (or large number encoded as string)
+ If Not JsonOptions.UseDoubleForLargeNumbers And json_StringIsLargeNumber(JsonValue) Then
+ ConvertToJson = JsonValue
+ Else
+ ConvertToJson = """" & json_Encode(JsonValue) & """"
+ End If
+ Case VBA.vbBoolean
+ If JsonValue Then
+ ConvertToJson = "true"
+ Else
+ ConvertToJson = "false"
+ End If
+ Case VBA.vbArray To VBA.vbArray + VBA.vbByte
+ If json_PrettyPrint Then
+ If VBA.VarType(Whitespace) = VBA.vbString Then
+ json_Indentation = VBA.String$(json_CurrentIndentation + 1, Whitespace)
+ json_InnerIndentation = VBA.String$(json_CurrentIndentation + 2, Whitespace)
+ Else
+ json_Indentation = VBA.Space$((json_CurrentIndentation + 1) * Whitespace)
+ json_InnerIndentation = VBA.Space$((json_CurrentIndentation + 2) * Whitespace)
+ End If
+ End If
+
+ ' Array
+ json_BufferAppend json_Buffer, "[", json_BufferPosition, json_BufferLength
+
+ On Error Resume Next
+
+ json_LBound = LBound(JsonValue, 1)
+ json_UBound = UBound(JsonValue, 1)
+ json_LBound2D = LBound(JsonValue, 2)
+ json_UBound2D = UBound(JsonValue, 2)
+
+ If json_LBound >= 0 And json_UBound >= 0 Then
+ For json_Index = json_LBound To json_UBound
+ If json_IsFirstItem Then
+ json_IsFirstItem = False
+ Else
+ ' Append comma to previous line
+ json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength
+ End If
+
+ If json_LBound2D >= 0 And json_UBound2D >= 0 Then
+ ' 2D Array
+ If json_PrettyPrint Then
+ json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength
+ End If
+ json_BufferAppend json_Buffer, json_Indentation & "[", json_BufferPosition, json_BufferLength
+
+ For json_Index2D = json_LBound2D To json_UBound2D
+ If json_IsFirstItem2D Then
+ json_IsFirstItem2D = False
+ Else
+ json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength
+ End If
+
+ json_Converted = ConvertToJson(JsonValue(json_Index, json_Index2D), Whitespace, json_CurrentIndentation + 2)
+
+ ' For Arrays/Collections, undefined (Empty/Nothing) is treated as null
+ If json_Converted = "" Then
+ ' (nest to only check if converted = "")
+ If json_IsUndefined(JsonValue(json_Index, json_Index2D)) Then
+ json_Converted = "null"
+ End If
+ End If
+
+ If json_PrettyPrint Then
+ json_Converted = vbNewLine & json_InnerIndentation & json_Converted
+ End If
+
+ json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength
+ Next json_Index2D
+
+ If json_PrettyPrint Then
+ json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength
+ End If
+
+ json_BufferAppend json_Buffer, json_Indentation & "]", json_BufferPosition, json_BufferLength
+ json_IsFirstItem2D = True
+ Else
+ ' 1D Array
+ json_Converted = ConvertToJson(JsonValue(json_Index), Whitespace, json_CurrentIndentation + 1)
+
+ ' For Arrays/Collections, undefined (Empty/Nothing) is treated as null
+ If json_Converted = "" Then
+ ' (nest to only check if converted = "")
+ If json_IsUndefined(JsonValue(json_Index)) Then
+ json_Converted = "null"
+ End If
+ End If
+
+ If json_PrettyPrint Then
+ json_Converted = vbNewLine & json_Indentation & json_Converted
+ End If
+
+ json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength
+ End If
+ Next json_Index
+ End If
+
+ On Error GoTo 0
+
+ If json_PrettyPrint Then
+ json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength
+
+ If VBA.VarType(Whitespace) = VBA.vbString Then
+ json_Indentation = VBA.String$(json_CurrentIndentation, Whitespace)
+ Else
+ json_Indentation = VBA.Space$(json_CurrentIndentation * Whitespace)
+ End If
+ End If
+
+ json_BufferAppend json_Buffer, json_Indentation & "]", json_BufferPosition, json_BufferLength
+
+ ConvertToJson = json_BufferToString(json_Buffer, json_BufferPosition)
+
+ ' Dictionary or Collection
+ Case VBA.vbObject
+ If json_PrettyPrint Then
+ If VBA.VarType(Whitespace) = VBA.vbString Then
+ json_Indentation = VBA.String$(json_CurrentIndentation + 1, Whitespace)
+ Else
+ json_Indentation = VBA.Space$((json_CurrentIndentation + 1) * Whitespace)
+ End If
+ End If
+
+ ' Dictionary
+ If VBA.TypeName(JsonValue) = "Dictionary" Then
+ json_BufferAppend json_Buffer, "{", json_BufferPosition, json_BufferLength
+ For Each json_Key In JsonValue.Keys
+ ' For Objects, undefined (Empty/Nothing) is not added to object
+ json_Converted = ConvertToJson(JsonValue(json_Key), Whitespace, json_CurrentIndentation + 1)
+ If json_Converted = "" Then
+ json_SkipItem = json_IsUndefined(JsonValue(json_Key))
+ Else
+ json_SkipItem = False
+ End If
+
+ If Not json_SkipItem Then
+ If json_IsFirstItem Then
+ json_IsFirstItem = False
+ Else
+ json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength
+ End If
+
+ If json_PrettyPrint Then
+ json_Converted = vbNewLine & json_Indentation & """" & json_Key & """: " & json_Converted
+ Else
+ json_Converted = """" & json_Key & """:" & json_Converted
+ End If
+
+ json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength
+ End If
+ Next json_Key
+
+ If json_PrettyPrint Then
+ json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength
+
+ If VBA.VarType(Whitespace) = VBA.vbString Then
+ json_Indentation = VBA.String$(json_CurrentIndentation, Whitespace)
+ Else
+ json_Indentation = VBA.Space$(json_CurrentIndentation * Whitespace)
+ End If
+ End If
+
+ json_BufferAppend json_Buffer, json_Indentation & "}", json_BufferPosition, json_BufferLength
+
+ ' Collection
+ ElseIf VBA.TypeName(JsonValue) = "Collection" Then
+ json_BufferAppend json_Buffer, "[", json_BufferPosition, json_BufferLength
+ For Each json_Value In JsonValue
+ If json_IsFirstItem Then
+ json_IsFirstItem = False
+ Else
+ json_BufferAppend json_Buffer, ",", json_BufferPosition, json_BufferLength
+ End If
+
+ json_Converted = ConvertToJson(json_Value, Whitespace, json_CurrentIndentation + 1)
+
+ ' For Arrays/Collections, undefined (Empty/Nothing) is treated as null
+ If json_Converted = "" Then
+ ' (nest to only check if converted = "")
+ If json_IsUndefined(json_Value) Then
+ json_Converted = "null"
+ End If
+ End If
+
+ If json_PrettyPrint Then
+ json_Converted = vbNewLine & json_Indentation & json_Converted
+ End If
+
+ json_BufferAppend json_Buffer, json_Converted, json_BufferPosition, json_BufferLength
+ Next json_Value
+
+ If json_PrettyPrint Then
+ json_BufferAppend json_Buffer, vbNewLine, json_BufferPosition, json_BufferLength
+
+ If VBA.VarType(Whitespace) = VBA.vbString Then
+ json_Indentation = VBA.String$(json_CurrentIndentation, Whitespace)
+ Else
+ json_Indentation = VBA.Space$(json_CurrentIndentation * Whitespace)
+ End If
+ End If
+
+ json_BufferAppend json_Buffer, json_Indentation & "]", json_BufferPosition, json_BufferLength
+ End If
+
+ ConvertToJson = json_BufferToString(json_Buffer, json_BufferPosition)
+ Case VBA.vbInteger, VBA.vbLong, VBA.vbSingle, VBA.vbDouble, VBA.vbCurrency, VBA.vbDecimal
+ ' Number (use decimals for numbers)
+ ConvertToJson = VBA.Replace(JsonValue, ",", ".")
+ Case Else
+ ' vbEmpty, vbError, vbDataObject, vbByte, vbUserDefinedType
+ ' Use VBA's built-in to-string
+ On Error Resume Next
+ ConvertToJson = JsonValue
+ On Error GoTo 0
+ End Select
+End Function
+
+' ============================================= '
+' Private Functions
+' ============================================= '
+
+Private Function json_ParseObject(json_String As String, ByRef json_Index As Long) As Dictionary
+ Dim json_Key As String
+ Dim json_NextChar As String
+
+ Set json_ParseObject = New Dictionary
+ json_SkipSpaces json_String, json_Index
+ If VBA.Mid$(json_String, json_Index, 1) <> "{" Then
+ Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting '{'")
+ Else
+ json_Index = json_Index + 1
+
+ Do
+ json_SkipSpaces json_String, json_Index
+ If VBA.Mid$(json_String, json_Index, 1) = "}" Then
+ json_Index = json_Index + 1
+ Exit Function
+ ElseIf VBA.Mid$(json_String, json_Index, 1) = "," Then
+ json_Index = json_Index + 1
+ json_SkipSpaces json_String, json_Index
+ End If
+
+ json_Key = json_ParseKey(json_String, json_Index)
+ json_NextChar = json_Peek(json_String, json_Index)
+ If json_NextChar = "[" Or json_NextChar = "{" Then
+ Set json_ParseObject.Item(json_Key) = json_ParseValue(json_String, json_Index)
+ Else
+ json_ParseObject.Item(json_Key) = json_ParseValue(json_String, json_Index)
+ End If
+ Loop
+ End If
+End Function
+
+Private Function json_ParseArray(json_String As String, ByRef json_Index As Long) As Collection
+ Set json_ParseArray = New Collection
+
+ json_SkipSpaces json_String, json_Index
+ If VBA.Mid$(json_String, json_Index, 1) <> "[" Then
+ Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting '['")
+ Else
+ json_Index = json_Index + 1
+
+ Do
+ json_SkipSpaces json_String, json_Index
+ If VBA.Mid$(json_String, json_Index, 1) = "]" Then
+ json_Index = json_Index + 1
+ Exit Function
+ ElseIf VBA.Mid$(json_String, json_Index, 1) = "," Then
+ json_Index = json_Index + 1
+ json_SkipSpaces json_String, json_Index
+ End If
+
+ json_ParseArray.Add json_ParseValue(json_String, json_Index)
+ Loop
+ End If
+End Function
+
+Private Function json_ParseValue(json_String As String, ByRef json_Index As Long) As Variant
+ json_SkipSpaces json_String, json_Index
+ Select Case VBA.Mid$(json_String, json_Index, 1)
+ Case "{"
+ Set json_ParseValue = json_ParseObject(json_String, json_Index)
+ Case "["
+ Set json_ParseValue = json_ParseArray(json_String, json_Index)
+ Case """", "'"
+ json_ParseValue = json_ParseString(json_String, json_Index)
+ Case Else
+ If VBA.Mid$(json_String, json_Index, 4) = "true" Then
+ json_ParseValue = True
+ json_Index = json_Index + 4
+ ElseIf VBA.Mid$(json_String, json_Index, 5) = "false" Then
+ json_ParseValue = False
+ json_Index = json_Index + 5
+ ElseIf VBA.Mid$(json_String, json_Index, 4) = "null" Then
+ json_ParseValue = Null
+ json_Index = json_Index + 4
+ ElseIf VBA.InStr("+-0123456789", VBA.Mid$(json_String, json_Index, 1)) Then
+ json_ParseValue = json_ParseNumber(json_String, json_Index)
+ Else
+ Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting 'STRING', 'NUMBER', null, true, false, '{', or '['")
+ End If
+ End Select
+End Function
+
+Private Function json_ParseString(json_String As String, ByRef json_Index As Long) As String
+ Dim json_Quote As String
+ Dim json_Char As String
+ Dim json_Code As String
+ Dim json_Buffer As String
+ Dim json_BufferPosition As Long
+ Dim json_BufferLength As Long
+
+ json_SkipSpaces json_String, json_Index
+
+ ' Store opening quote to look for matching closing quote
+ json_Quote = VBA.Mid$(json_String, json_Index, 1)
+ json_Index = json_Index + 1
+
+ Do While json_Index > 0 And json_Index <= Len(json_String)
+ json_Char = VBA.Mid$(json_String, json_Index, 1)
+
+ Select Case json_Char
+ Case "\"
+ ' Escaped string, \\, or \/
+ json_Index = json_Index + 1
+ json_Char = VBA.Mid$(json_String, json_Index, 1)
+
+ Select Case json_Char
+ Case """", "\", "/", "'"
+ json_BufferAppend json_Buffer, json_Char, json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 1
+ Case "b"
+ json_BufferAppend json_Buffer, vbBack, json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 1
+ Case "f"
+ json_BufferAppend json_Buffer, vbFormFeed, json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 1
+ Case "n"
+ json_BufferAppend json_Buffer, vbCrLf, json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 1
+ Case "r"
+ json_BufferAppend json_Buffer, vbCr, json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 1
+ Case "t"
+ json_BufferAppend json_Buffer, vbTab, json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 1
+ Case "u"
+ ' Unicode character escape (e.g. \u00a9 = Copyright)
+ json_Index = json_Index + 1
+ json_Code = VBA.Mid$(json_String, json_Index, 4)
+ json_BufferAppend json_Buffer, VBA.ChrW(VBA.Val("&h" + json_Code)), json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 4
+ End Select
+ Case json_Quote
+ json_ParseString = json_BufferToString(json_Buffer, json_BufferPosition)
+ json_Index = json_Index + 1
+ Exit Function
+ Case Else
+ json_BufferAppend json_Buffer, json_Char, json_BufferPosition, json_BufferLength
+ json_Index = json_Index + 1
+ End Select
+ Loop
+End Function
+
+Private Function json_ParseNumber(json_String As String, ByRef json_Index As Long) As Variant
+ Dim json_Char As String
+ Dim json_Value As String
+ Dim json_IsLargeNumber As Boolean
+
+ json_SkipSpaces json_String, json_Index
+
+ Do While json_Index > 0 And json_Index <= Len(json_String)
+ json_Char = VBA.Mid$(json_String, json_Index, 1)
+
+ If VBA.InStr("+-0123456789.eE", json_Char) Then
+ ' Unlikely to have massive number, so use simple append rather than buffer here
+ json_Value = json_Value & json_Char
+ json_Index = json_Index + 1
+ Else
+ ' Excel only stores 15 significant digits, so any numbers larger than that are truncated
+ ' This can lead to issues when BIGINT's are used (e.g. for Ids or Credit Cards), as they will be invalid above 15 digits
+ ' See: http://support.microsoft.com/kb/269370
+ '
+ ' Fix: Parse -> String, Convert -> String longer than 15/16 characters containing only numbers and decimal points -> Number
+ ' (decimal doesn't factor into significant digit count, so if present check for 15 digits + decimal = 16)
+ json_IsLargeNumber = IIf(InStr(json_Value, "."), Len(json_Value) >= 17, Len(json_Value) >= 16)
+ If Not JsonOptions.UseDoubleForLargeNumbers And json_IsLargeNumber Then
+ json_ParseNumber = json_Value
+ Else
+ ' VBA.Val does not use regional settings, so guard for comma is not needed
+ json_ParseNumber = VBA.Val(json_Value)
+ End If
+ Exit Function
+ End If
+ Loop
+End Function
+
+Private Function json_ParseKey(json_String As String, ByRef json_Index As Long) As String
+ ' Parse key with single or double quotes
+ If VBA.Mid$(json_String, json_Index, 1) = """" Or VBA.Mid$(json_String, json_Index, 1) = "'" Then
+ json_ParseKey = json_ParseString(json_String, json_Index)
+ ElseIf JsonOptions.AllowUnquotedKeys Then
+ Dim json_Char As String
+ Do While json_Index > 0 And json_Index <= Len(json_String)
+ json_Char = VBA.Mid$(json_String, json_Index, 1)
+ If (json_Char <> " ") And (json_Char <> ":") Then
+ json_ParseKey = json_ParseKey & json_Char
+ json_Index = json_Index + 1
+ Else
+ Exit Do
+ End If
+ Loop
+ Else
+ Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting '""' or '''")
+ End If
+
+ ' Check for colon and skip if present or throw if not present
+ json_SkipSpaces json_String, json_Index
+ If VBA.Mid$(json_String, json_Index, 1) <> ":" Then
+ Err.Raise 10001, "JSONConverter", json_ParseErrorMessage(json_String, json_Index, "Expecting ':'")
+ Else
+ json_Index = json_Index + 1
+ End If
+End Function
+
+Private Function json_IsUndefined(ByVal json_Value As Variant) As Boolean
+ ' Empty / Nothing -> undefined
+ Select Case VBA.VarType(json_Value)
+ Case VBA.vbEmpty
+ json_IsUndefined = True
+ Case VBA.vbObject
+ Select Case VBA.TypeName(json_Value)
+ Case "Empty", "Nothing"
+ json_IsUndefined = True
+ End Select
+ End Select
+End Function
+
+Private Function json_Encode(ByVal json_Text As Variant) As String
+ ' Reference: http://www.ietf.org/rfc/rfc4627.txt
+ ' Escape: ", \, /, backspace, form feed, line feed, carriage return, tab
+ Dim json_Index As Long
+ Dim json_Char As String
+ Dim json_AscCode As Long
+ Dim json_Buffer As String
+ Dim json_BufferPosition As Long
+ Dim json_BufferLength As Long
+
+ For json_Index = 1 To VBA.Len(json_Text)
+ json_Char = VBA.Mid$(json_Text, json_Index, 1)
+ json_AscCode = VBA.AscW(json_Char)
+
+ ' When AscW returns a negative number, it returns the twos complement form of that number.
+ ' To convert the twos complement notation into normal binary notation, add 0xFFF to the return result.
+ ' https://support.microsoft.com/en-us/kb/272138
+ If json_AscCode < 0 Then
+ json_AscCode = json_AscCode + 65536
+ End If
+
+ ' From spec, ", \, and control characters must be escaped (solidus is optional)
+
+ Select Case json_AscCode
+ Case 34
+ ' " -> 34 -> \"
+ json_Char = "\"""
+ Case 92
+ ' \ -> 92 -> \\
+ json_Char = "\\"
+ Case 47
+ ' / -> 47 -> \/ (optional)
+ If JsonOptions.EscapeSolidus Then
+ json_Char = "\/"
+ End If
+ Case 8
+ ' backspace -> 8 -> \b
+ json_Char = "\b"
+ Case 12
+ ' form feed -> 12 -> \f
+ json_Char = "\f"
+ Case 10
+ ' line feed -> 10 -> \n
+ json_Char = "\n"
+ Case 13
+ ' carriage return -> 13 -> \r
+ json_Char = "\r"
+ Case 9
+ ' tab -> 9 -> \t
+ json_Char = "\t"
+ Case 0 To 31, 127 To 65535
+ ' Non-ascii characters -> convert to 4-digit hex
+ json_Char = "\u" & VBA.Right$("0000" & VBA.Hex$(json_AscCode), 4)
+ End Select
+
+ json_BufferAppend json_Buffer, json_Char, json_BufferPosition, json_BufferLength
+ Next json_Index
+
+ json_Encode = json_BufferToString(json_Buffer, json_BufferPosition)
+End Function
+
+Private Function json_Peek(json_String As String, ByVal json_Index As Long, Optional json_NumberOfCharacters As Long = 1) As String
+ ' "Peek" at the next number of characters without incrementing json_Index (ByVal instead of ByRef)
+ json_SkipSpaces json_String, json_Index
+ json_Peek = VBA.Mid$(json_String, json_Index, json_NumberOfCharacters)
+End Function
+
+Private Sub json_SkipSpaces(json_String As String, ByRef json_Index As Long)
+ ' Increment index to skip over spaces
+ Do While json_Index > 0 And json_Index <= VBA.Len(json_String) And VBA.Mid$(json_String, json_Index, 1) = " "
+ json_Index = json_Index + 1
+ Loop
+End Sub
+
+Private Function json_StringIsLargeNumber(json_String As Variant) As Boolean
+ ' Check if the given string is considered a "large number"
+ ' (See json_ParseNumber)
+
+ Dim json_Length As Long
+ Dim json_CharIndex As Long
+ json_Length = VBA.Len(json_String)
+
+ ' Length with be at least 16 characters and assume will be less than 100 characters
+ If json_Length >= 16 And json_Length <= 100 Then
+ Dim json_CharCode As String
+
+ json_StringIsLargeNumber = True
+
+ For json_CharIndex = 1 To json_Length
+ json_CharCode = VBA.Asc(VBA.Mid$(json_String, json_CharIndex, 1))
+ Select Case json_CharCode
+ ' Look for .|0-9|E|e
+ Case 46, 48 To 57, 69, 101
+ ' Continue through characters
+ Case Else
+ json_StringIsLargeNumber = False
+ Exit Function
+ End Select
+ Next json_CharIndex
+ End If
+End Function
+
+Private Function json_ParseErrorMessage(json_String As String, ByRef json_Index As Long, ErrorMessage As String)
+ ' Provide detailed parse error message, including details of where and what occurred
+ '
+ ' Example:
+ ' Error parsing JSON:
+ ' {"abcde":True}
+ ' ^
+ ' Expecting 'STRING', 'NUMBER', null, true, false, '{', or '['
+
+ Dim json_StartIndex As Long
+ Dim json_StopIndex As Long
+
+ ' Include 10 characters before and after error (if possible)
+ json_StartIndex = json_Index - 10
+ json_StopIndex = json_Index + 10
+ If json_StartIndex <= 0 Then
+ json_StartIndex = 1
+ End If
+ If json_StopIndex > VBA.Len(json_String) Then
+ json_StopIndex = VBA.Len(json_String)
+ End If
+
+ json_ParseErrorMessage = "Error parsing JSON:" & VBA.vbNewLine & _
+ VBA.Mid$(json_String, json_StartIndex, json_StopIndex - json_StartIndex + 1) & VBA.vbNewLine & _
+ VBA.Space$(json_Index - json_StartIndex) & "^" & VBA.vbNewLine & _
+ ErrorMessage
+End Function
+
+Private Sub json_BufferAppend(ByRef json_Buffer As String, _
+ ByRef json_Append As Variant, _
+ ByRef json_BufferPosition As Long, _
+ ByRef json_BufferLength As Long)
+ ' VBA can be slow to append strings due to allocating a new string for each append
+ ' Instead of using the traditional append, allocate a large empty string and then copy string at append position
+ '
+ ' Example:
+ ' Buffer: "abc "
+ ' Append: "def"
+ ' Buffer Position: 3
+ ' Buffer Length: 5
+ '
+ ' Buffer position + Append length > Buffer length -> Append chunk of blank space to buffer
+ ' Buffer: "abc "
+ ' Buffer Length: 10
+ '
+ ' Put "def" into buffer at position 3 (0-based)
+ ' Buffer: "abcdef "
+ '
+ ' Approach based on cStringBuilder from vbAccelerator
+ ' http://www.vbaccelerator.com/home/VB/Code/Techniques/RunTime_Debug_Tracing/VB6_Tracer_Utility_zip_cStringBuilder_cls.asp
+ '
+ ' and clsStringAppend from Philip Swannell
+ ' https://github.com/VBA-tools/VBA-JSON/pull/82
+
+ Dim json_AppendLength As Long
+ Dim json_LengthPlusPosition As Long
+
+ json_AppendLength = VBA.Len(json_Append)
+ json_LengthPlusPosition = json_AppendLength + json_BufferPosition
+
+ If json_LengthPlusPosition > json_BufferLength Then
+ ' Appending would overflow buffer, add chunk
+ ' (double buffer length or append length, whichever is bigger)
+ Dim json_AddedLength As Long
+ json_AddedLength = IIf(json_AppendLength > json_BufferLength, json_AppendLength, json_BufferLength)
+
+ json_Buffer = json_Buffer & VBA.Space$(json_AddedLength)
+ json_BufferLength = json_BufferLength + json_AddedLength
+ End If
+
+ ' Note: Namespacing with VBA.Mid$ doesn't work properly here, throwing compile error:
+ ' Function call on left-hand side of assignment must return Variant or Object
+ Mid$(json_Buffer, json_BufferPosition + 1, json_AppendLength) = CStr(json_Append)
+ json_BufferPosition = json_BufferPosition + json_AppendLength
+End Sub
+
+Private Function json_BufferToString(ByRef json_Buffer As String, ByVal json_BufferPosition As Long) As String
+ If json_BufferPosition > 0 Then
+ json_BufferToString = VBA.Left$(json_Buffer, json_BufferPosition)
+ End If
+End Function
+
+''
+' VBA-UTC v1.0.6
+' (c) Tim Hall - https://github.com/VBA-tools/VBA-UtcConverter
+'
+' UTC/ISO 8601 Converter for VBA
+'
+' Errors:
+' 10011 - UTC parsing error
+' 10012 - UTC conversion error
+' 10013 - ISO 8601 parsing error
+' 10014 - ISO 8601 conversion error
+'
+' @module UtcConverter
+' @author tim.hall.engr@gmail.com
+' @license MIT (http://www.opensource.org/licenses/mit-license.php)
+'' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ '
+
+' (Declarations moved to top)
+
+' ============================================= '
+' Public Methods
+' ============================================= '
+
+''
+' Parse UTC date to local date
+'
+' @method ParseUtc
+' @param {Date} UtcDate
+' @return {Date} Local date
+' @throws 10011 - UTC parsing error
+''
+Public Function ParseUtc(utc_UtcDate As Date) As Date
+ On Error GoTo utc_ErrorHandling
+
+#If Mac Then
+ ParseUtc = utc_ConvertDate(utc_UtcDate)
+#Else
+ Dim utc_TimeZoneInfo As utc_TIME_ZONE_INFORMATION
+ Dim utc_LocalDate As utc_SYSTEMTIME
+
+ utc_GetTimeZoneInformation utc_TimeZoneInfo
+ utc_SystemTimeToTzSpecificLocalTime utc_TimeZoneInfo, utc_DateToSystemTime(utc_UtcDate), utc_LocalDate
+
+ ParseUtc = utc_SystemTimeToDate(utc_LocalDate)
+#End If
+
+ Exit Function
+
+utc_ErrorHandling:
+ Err.Raise 10011, "UtcConverter.ParseUtc", "UTC parsing error: " & Err.Number & " - " & Err.Description
+End Function
+
+''
+' Convert local date to UTC date
+'
+' @method ConvertToUrc
+' @param {Date} utc_LocalDate
+' @return {Date} UTC date
+' @throws 10012 - UTC conversion error
+''
+Public Function ConvertToUtc(utc_LocalDate As Date) As Date
+ On Error GoTo utc_ErrorHandling
+
+#If Mac Then
+ ConvertToUtc = utc_ConvertDate(utc_LocalDate, utc_ConvertToUtc:=True)
+#Else
+ Dim utc_TimeZoneInfo As utc_TIME_ZONE_INFORMATION
+ Dim utc_UtcDate As utc_SYSTEMTIME
+
+ utc_GetTimeZoneInformation utc_TimeZoneInfo
+ utc_TzSpecificLocalTimeToSystemTime utc_TimeZoneInfo, utc_DateToSystemTime(utc_LocalDate), utc_UtcDate
+
+ ConvertToUtc = utc_SystemTimeToDate(utc_UtcDate)
+#End If
+
+ Exit Function
+
+utc_ErrorHandling:
+ Err.Raise 10012, "UtcConverter.ConvertToUtc", "UTC conversion error: " & Err.Number & " - " & Err.Description
+End Function
+
+''
+' Parse ISO 8601 date string to local date
+'
+' @method ParseIso
+' @param {Date} utc_IsoString
+' @return {Date} Local date
+' @throws 10013 - ISO 8601 parsing error
+''
+Public Function ParseIso(utc_IsoString As String) As Date
+ On Error GoTo utc_ErrorHandling
+
+ Dim utc_Parts() As String
+ Dim utc_DateParts() As String
+ Dim utc_TimeParts() As String
+ Dim utc_OffsetIndex As Long
+ Dim utc_HasOffset As Boolean
+ Dim utc_NegativeOffset As Boolean
+ Dim utc_OffsetParts() As String
+ Dim utc_Offset As Date
+
+ utc_Parts = VBA.Split(utc_IsoString, "T")
+ utc_DateParts = VBA.Split(utc_Parts(0), "-")
+ ParseIso = VBA.DateSerial(VBA.CInt(utc_DateParts(0)), VBA.CInt(utc_DateParts(1)), VBA.CInt(utc_DateParts(2)))
+
+ If UBound(utc_Parts) > 0 Then
+ If VBA.InStr(utc_Parts(1), "Z") Then
+ utc_TimeParts = VBA.Split(VBA.Replace(utc_Parts(1), "Z", ""), ":")
+ Else
+ utc_OffsetIndex = VBA.InStr(1, utc_Parts(1), "+")
+ If utc_OffsetIndex = 0 Then
+ utc_NegativeOffset = True
+ utc_OffsetIndex = VBA.InStr(1, utc_Parts(1), "-")
+ End If
+
+ If utc_OffsetIndex > 0 Then
+ utc_HasOffset = True
+ utc_TimeParts = VBA.Split(VBA.Left$(utc_Parts(1), utc_OffsetIndex - 1), ":")
+ utc_OffsetParts = VBA.Split(VBA.Right$(utc_Parts(1), Len(utc_Parts(1)) - utc_OffsetIndex), ":")
+
+ Select Case UBound(utc_OffsetParts)
+ Case 0
+ utc_Offset = TimeSerial(VBA.CInt(utc_OffsetParts(0)), 0, 0)
+ Case 1
+ utc_Offset = TimeSerial(VBA.CInt(utc_OffsetParts(0)), VBA.CInt(utc_OffsetParts(1)), 0)
+ Case 2
+ ' VBA.Val does not use regional settings, use for seconds to avoid decimal/comma issues
+ utc_Offset = TimeSerial(VBA.CInt(utc_OffsetParts(0)), VBA.CInt(utc_OffsetParts(1)), Int(VBA.Val(utc_OffsetParts(2))))
+ End Select
+
+ If utc_NegativeOffset Then: utc_Offset = -utc_Offset
+ Else
+ utc_TimeParts = VBA.Split(utc_Parts(1), ":")
+ End If
+ End If
+
+ Select Case UBound(utc_TimeParts)
+ Case 0
+ ParseIso = ParseIso + VBA.TimeSerial(VBA.CInt(utc_TimeParts(0)), 0, 0)
+ Case 1
+ ParseIso = ParseIso + VBA.TimeSerial(VBA.CInt(utc_TimeParts(0)), VBA.CInt(utc_TimeParts(1)), 0)
+ Case 2
+ ' VBA.Val does not use regional settings, use for seconds to avoid decimal/comma issues
+ ParseIso = ParseIso + VBA.TimeSerial(VBA.CInt(utc_TimeParts(0)), VBA.CInt(utc_TimeParts(1)), Int(VBA.Val(utc_TimeParts(2))))
+ End Select
+
+ ParseIso = ParseUtc(ParseIso)
+
+ If utc_HasOffset Then
+ ParseIso = ParseIso - utc_Offset
+ End If
+ End If
+
+ Exit Function
+
+utc_ErrorHandling:
+ Err.Raise 10013, "UtcConverter.ParseIso", "ISO 8601 parsing error for " & utc_IsoString & ": " & Err.Number & " - " & Err.Description
+End Function
+
+''
+' Convert local date to ISO 8601 string
+'
+' @method ConvertToIso
+' @param {Date} utc_LocalDate
+' @return {Date} ISO 8601 string
+' @throws 10014 - ISO 8601 conversion error
+''
+Public Function ConvertToIso(utc_LocalDate As Date) As String
+ On Error GoTo utc_ErrorHandling
+
+ ConvertToIso = VBA.Format$(ConvertToUtc(utc_LocalDate), "yyyy-mm-ddTHH:mm:ss.000Z")
+
+ Exit Function
+
+utc_ErrorHandling:
+ Err.Raise 10014, "UtcConverter.ConvertToIso", "ISO 8601 conversion error: " & Err.Number & " - " & Err.Description
+End Function
+
+' ============================================= '
+' Private Functions
+' ============================================= '
+
+#If Mac Then
+
+Private Function utc_ConvertDate(utc_Value As Date, Optional utc_ConvertToUtc As Boolean = False) As Date
+ Dim utc_ShellCommand As String
+ Dim utc_Result As utc_ShellResult
+ Dim utc_Parts() As String
+ Dim utc_DateParts() As String
+ Dim utc_TimeParts() As String
+
+ If utc_ConvertToUtc Then
+ utc_ShellCommand = "date -ur `date -jf '%Y-%m-%d %H:%M:%S' " & _
+ "'" & VBA.Format$(utc_Value, "yyyy-mm-dd HH:mm:ss") & "' " & _
+ " +'%s'` +'%Y-%m-%d %H:%M:%S'"
+ Else
+ utc_ShellCommand = "date -jf '%Y-%m-%d %H:%M:%S %z' " & _
+ "'" & VBA.Format$(utc_Value, "yyyy-mm-dd HH:mm:ss") & " +0000' " & _
+ "+'%Y-%m-%d %H:%M:%S'"
+ End If
+
+ utc_Result = utc_ExecuteInShell(utc_ShellCommand)
+
+ If utc_Result.utc_Output = "" Then
+ Err.Raise 10015, "UtcConverter.utc_ConvertDate", "'date' command failed"
+ Else
+ utc_Parts = Split(utc_Result.utc_Output, " ")
+ utc_DateParts = Split(utc_Parts(0), "-")
+ utc_TimeParts = Split(utc_Parts(1), ":")
+
+ utc_ConvertDate = DateSerial(utc_DateParts(0), utc_DateParts(1), utc_DateParts(2)) + _
+ TimeSerial(utc_TimeParts(0), utc_TimeParts(1), utc_TimeParts(2))
+ End If
+End Function
+
+Private Function utc_ExecuteInShell(utc_ShellCommand As String) As utc_ShellResult
+#If VBA7 Then
+ Dim utc_File As LongPtr
+ Dim utc_Read As LongPtr
+#Else
+ Dim utc_File As Long
+ Dim utc_Read As Long
+#End If
+
+ Dim utc_Chunk As String
+
+ On Error GoTo utc_ErrorHandling
+ utc_File = utc_popen(utc_ShellCommand, "r")
+
+ If utc_File = 0 Then: Exit Function
+
+ Do While utc_feof(utc_File) = 0
+ utc_Chunk = VBA.Space$(50)
+ utc_Read = CLng(utc_fread(utc_Chunk, 1, Len(utc_Chunk) - 1, utc_File))
+ If utc_Read > 0 Then
+ utc_Chunk = VBA.Left$(utc_Chunk, CLng(utc_Read))
+ utc_ExecuteInShell.utc_Output = utc_ExecuteInShell.utc_Output & utc_Chunk
+ End If
+ Loop
+
+utc_ErrorHandling:
+ utc_ExecuteInShell.utc_ExitCode = CLng(utc_pclose(utc_File))
+End Function
+
+#Else
+
+Private Function utc_DateToSystemTime(utc_Value As Date) As utc_SYSTEMTIME
+ utc_DateToSystemTime.utc_wYear = VBA.Year(utc_Value)
+ utc_DateToSystemTime.utc_wMonth = VBA.Month(utc_Value)
+ utc_DateToSystemTime.utc_wDay = VBA.Day(utc_Value)
+ utc_DateToSystemTime.utc_wHour = VBA.Hour(utc_Value)
+ utc_DateToSystemTime.utc_wMinute = VBA.Minute(utc_Value)
+ utc_DateToSystemTime.utc_wSecond = VBA.Second(utc_Value)
+ utc_DateToSystemTime.utc_wMilliseconds = 0
+End Function
+
+Private Function utc_SystemTimeToDate(utc_Value As utc_SYSTEMTIME) As Date
+ utc_SystemTimeToDate = DateSerial(utc_Value.utc_wYear, utc_Value.utc_wMonth, utc_Value.utc_wDay) + _
+ TimeSerial(utc_Value.utc_wHour, utc_Value.utc_wMinute, utc_Value.utc_wSecond)
+End Function
+
+#End If
diff --git a/XVBA/稟議集計/vba-files/Module/Module1.bas b/XVBA/稟議集計/vba-files/Module/Module1.bas
new file mode 100644
index 00000000..6f94cdc1
--- /dev/null
+++ b/XVBA/稟議集計/vba-files/Module/Module1.bas
@@ -0,0 +1,230 @@
+Attribute VB_Name = "Module1"
+Option Explicit
+'ʕϐ
+Public gc\e[uID As String
+Public MSSe[uID As String
+Public Jn As String
+Public I As String
+
+Public GNX|[g1 As String
+Public GNX|[g2 As String
+
+Public apiKey As String
+Public baseURL As String
+
+Sub run()
+ Debug.Print "------ START ------"
+ 'smF
+ Dim rc As VbMsgBoxResult
+ rc = MsgBox("vU^[ŐVgc\f[^擾܂H" & Chr(13) & "̏ɂ͏XԂ|܂", vbYesNo + vbQuestion)
+
+ If rc = vbYes Then
+ Application.ScreenUpdating = False 'ʍXV~
+ Application.Calculation = xlManual 'vZ~
+
+ '
+ Call init
+
+ 'gc\CSVGNX|[g
+ Dim resCSV As Variant
+ resCSV = gc\CSVGNX|[g(GNX|[g1 & "")
+ 'CSVf[^V[gɕۑ
+ Call CSVf[^ۑ1(resCSV, "gc\")
+
+ 'MSSf[^CSVGNX|[g
+ Dim resMSSCSV As Variant
+ resMSSCSV = MSSf[^CSVGNX|[g(GNX|[g2 & "")
+
+ 'CSVf[^V[gɕۑ
+ Call CSVf[^ۑ1(resMSSCSV, "MSSf[^")
+
+ Application.Calculation = xlAutomatic 'vZJn
+ Application.ScreenUpdating = True 'ʍXVJn
+ Else
+ MsgBox "𒆎~܂", vbCritical
+
+ End If
+
+ Debug.Print "------ "
+ Debug.Print "------ END ------"
+
+End Sub
+
+Function init()
+ 'pubNϐɒli[
+ 'ƌve[u 214737
+ gc\e[uID = Range("gc\e[uID").Value
+ MSSe[uID = Range("MSSe[uID").Value
+ Jn = Range("Jn").Value
+ I = Range("I").Value
+
+ GNX|[g1 = Range("GNX|[g1").Value
+ GNX|[g2 = Range("GNX|[g2").Value
+
+ 'Pleasanter API KEY
+ apiKey = "6504c8a807677a3a576e10327f3c19876c55736ee45d4a845796b9e7f5e087bfd4bd0d8184863da8cf1733ca635111432ab334aea59102b06a96ee6d2c05190d"
+ baseURL = "https://nextoffice.Next-hd.co.jp"
+
+End Function
+
+Function gc\CSVGNX|[g(exportId As String) As Variant
+ 'ʕϐ
+ Dim apiUrl As String
+ Dim apiUrlParam As String
+
+ 'NGXgURL
+ apiUrl = baseURL & "/pleasanter/api/items/" & gc\e[uID & "/"
+ apiUrlParam = "export"
+
+ 'wb_
+ Dim apiHeaders As New Dictionary
+ apiHeaders.Add "Content-Type", "application/json;charset=utf-8"
+
+ 'NGXgf[^
+ Dim apiBody As New Dictionary
+ apiBody.Add "ApiVersion", "1.1"
+ apiBody.Add "ApiKey", apiKey
+ apiBody.Add "ExportId", exportId
+
+ 'Filterϐ
+ Dim colFilter As New Dictionary
+ colFilter.Add "Status", "[900]"
+ colFilter.Add "ClassC", "[1,3]"
+ colFilter.Add "DateA", "[""" & Jn & " 00:00:00" & "," & I & " 23:59:59""]"
+
+ '\[gw
+ Dim colSorter As New Dictionary
+ colSorter.Add "DateA", "asc"
+
+ 'Viewϐ
+ Dim view As New Dictionary
+ view.Add "ColumnFilterHash", colFilter
+ view.Add "ColumnSorterHash", colSorter
+ apiBody.Add "View", view
+
+ 'HTTPNGXgM\bhĂяo
+ Dim res As Object
+ Set res = callRestApi("POST", apiUrl, apiUrlParam, apiHeaders, apiBody)
+
+ If res("StatusCode") = 200 Then
+ Debug.Print "---- CSVf[^̎擾ɐ܂"
+ gc\CSVGNX|[g = res("Response")("Content")
+
+ End If
+
+End Function
+
+Function MSSf[^CSVGNX|[g(exportId As String) As Variant
+ 'ʕϐ
+ Dim apiUrl As String
+ Dim apiUrlParam As String
+
+ 'NGXgURL
+ apiUrl = baseURL & "/pleasanter/api/items/" & MSSe[uID & "/"
+ apiUrlParam = "export"
+
+ 'wb_
+ Dim apiHeaders As New Dictionary
+ apiHeaders.Add "Content-Type", "application/json;charset=utf-8"
+
+ 'NGXgf[^
+ Dim apiBody As New Dictionary
+ apiBody.Add "ApiVersion", "1.1"
+ apiBody.Add "ApiKey", apiKey
+ apiBody.Add "ExportId", exportId
+
+ 'Filterϐ
+ Dim colFilter As New Dictionary
+
+ '\[gw
+ Dim colSorter As New Dictionary
+ colSorter.Add "DateA", "asc"
+
+ 'Viewϐ
+ Dim view As New Dictionary
+ 'view.Add "ColumnFilterHash", colFilter
+ view.Add "ColumnSorterHash", colSorter
+ apiBody.Add "View", view
+
+ 'HTTPNGXgM\bhĂяo
+ Dim res As Object
+ Set res = callRestApi("POST", apiUrl, apiUrlParam, apiHeaders, apiBody)
+
+ If res("StatusCode") = 200 Then
+ Debug.Print "---- CSVf[^̎擾ɐ܂"
+ MSSf[^CSVGNX|[g = res("Response")("Content")
+
+ End If
+
+End Function
+
+Function CSVf[^ۑ1(csvData As Variant, targetSheet As String)
+ Debug.Print "------ CSVf[^V[gɏo͊Jn"
+ 'CSVf[^ue[uvɏo͂鏈
+ Dim ws As Worksheet
+ Set ws = ThisWorkbook.Sheets(targetSheet & "")
+ ws.Cells.ClearContents
+
+ 'CSVf[^zɕϊiJ}E_uNH[gΉj
+ Dim records As Collection: Set records = New Collection
+ Dim i As Long, c As String, inQuote As Boolean, field As String, rec As Collection
+ Dim pos As Long, l As Long
+ l = Len(csvData)
+ Set rec = New Collection
+ field = ""
+ inQuote = False
+ For i = 1 To l
+ c = Mid(csvData, i, 1)
+ If c = '"' Then
+ If inQuote And i < l And Mid(csvData, i + 1, 1) = '"' Then
+ field = field & '"'
+ i = i + 1
+ Else
+ inQuote = Not inQuote
+ End If
+ Elseif c = "," And Not inQuote Then
+ rec.Add field
+ field = ""
+ Elseif (c = vbCr Or c = vbLf) And Not inQuote Then
+ If field <> "" Or rec.Count > 0 Then
+ rec.Add field
+ records.Add rec
+ Set rec = New Collection
+ field = ""
+ End If
+ Else
+ field = field & c
+ End If
+ Next i
+ 'Ō̃tB[h
+ If field <> "" Or rec.Count > 0 Then
+ rec.Add field
+ records.Add rec
+ End If
+
+ 'ő擾
+ Dim maxCols As Long: maxCols = 0
+ For Each rec In records
+ If rec.Count > maxCols Then maxCols = rec.Count
+ Next
+ 'z
+ Dim arr() As Variant
+ ReDim arr(1 To records.Count, 1 To maxCols)
+ Dim rowIdx As Long, colIdx As Long
+ rowIdx = 1
+ For Each rec In records
+ For colIdx = 1 To maxCols
+ If colIdx <= rec.Count Then
+ arr(rowIdx, colIdx) = rec(colIdx)
+ Else
+ arr(rowIdx, colIdx) = ""
+ End If
+ Next colIdx
+ rowIdx = rowIdx + 1
+ Next
+ 'V[gɏo
+ ws.Range(ws.Cells(1, 1), ws.Cells(UBound(arr, 1), UBound(arr, 2))).Value = arr
+
+ Debug.Print "------ "
+ Debug.Print "------ CSVf[^V[gɏo͊"
+End Function
\ No newline at end of file
diff --git a/XVBA/稟議集計/vba-files/Module/Module2.bas b/XVBA/稟議集計/vba-files/Module/Module2.bas
new file mode 100644
index 00000000..47e094fc
--- /dev/null
+++ b/XVBA/稟議集計/vba-files/Module/Module2.bas
@@ -0,0 +1,57 @@
+Attribute VB_Name = "Module2"
+Option Explicit
+
+'******************************************************************************
+'REST APIďo
+'@method@GetPOST
+'@url@REST APIURL
+'@urlParam@NGXgp[^iIvVj
+'@headers@wb_iIvVj
+Function callRestApi(Byval method As String, Byval url As String, Optional Byval urlParam As String = "", Optional Byval headers As Dictionary = Null, Optional Byval body As Dictionary = Null) As Object
+
+ 'HTTPNGXg̃IuWFNg`
+ Dim objHTTP As Object
+ Set objHTTP = New XMLHTTP60
+
+ 'HTTPNGXg̐ڑݒ
+ objHTTP.Open method, url & urlParam, False
+
+ 'NGXgwb_[ݒiꍇsetRequestHeaderΗǂ̂`j
+ Dim i As Long
+ For i = 0 To headers.count - 1
+ objHTTP.setRequestHeader headers.keys(i), headers.items(i)
+ Next i
+
+ 'NGXgM
+ objHTTP.send JsonConverter.ConvertToJson(body)
+
+ Do While objHTTP.readyState < 4
+ DoEvents
+ Loop
+
+ 'X|X̕iobjHTTP.responseTextjJsonɕϊĕԋp
+ Set callRestApi = JsonConverter.ParseJson(objHTTP.responseText)
+
+End Function
+
+'̓tϊ
+Function tϊ(Byval dateVal As String) As Variant
+ If dateVal = "1899-12-30T00:00:00" Then
+ tϊ = ""
+ Elseif dateVal = "" Then
+ tϊ = ""
+ Else
+ dateVal = Replace(dateVal, ".000Z", "")
+ tϊ = CDate(Replace(dateVal, "T", " "))
+ End If
+End Function
+
+'V[g̑݊mF
+Function V[gmF(SheetName As String, Optional wb As Excel.Workbook) As Boolean
+ Dim Sh As Excel.Worksheet
+ If wb Is Nothing Then Set wb = ThisWorkbook
+ On Error Resume Next
+ Set Sh = wb.Sheets(SheetName)
+ On Error Goto 0
+ V[gmF = Not Sh Is Nothing
+End Function
diff --git a/XVBA/稟議集計/xvba_modules/Xdebug/CHANGELOG.md b/XVBA/稟議集計/xvba_modules/Xdebug/CHANGELOG.md
new file mode 100644
index 00000000..f1f3ad96
--- /dev/null
+++ b/XVBA/稟議集計/xvba_modules/Xdebug/CHANGELOG.md
@@ -0,0 +1,13 @@
+# Changelog
+## Xdebug (Under Construction)
+
+- This package provides a way to simulate VBA Immediate Window in Output VSCode window
+
+## [1.0.0b0] - 2020-09-16
+### Added
+ - Create XDebug.printx
+ - Create XDebug.printError
+
+
+
+
\ No newline at end of file
diff --git a/XVBA/稟議集計/xvba_modules/Xdebug/README.md b/XVBA/稟議集計/xvba_modules/Xdebug/README.md
new file mode 100644
index 00000000..9d8b74f0
--- /dev/null
+++ b/XVBA/稟議集計/xvba_modules/Xdebug/README.md
@@ -0,0 +1,58 @@
+# Xdebug (VBA Immediate Window in Output VSCode Window)
+
+## Description
+ - This package provides a way to simulate VBA Immediate Window in Output VSCode window
+ - Find the Output window (VBA Immediate Window)
+
+ ## Methods
+
+