From ec7e4d08bbe1a9019b9038a20f89e15566b2d192 Mon Sep 17 00:00:00 2001 From: matsuo makito Date: Mon, 6 Apr 2026 09:32:12 +0900 Subject: [PATCH] =?UTF-8?q?=E6=A9=9F=E8=83=BD=E4=BB=95=E6=A7=98=E6=9B=B8?= =?UTF-8?q?=E4=BD=9C=E6=88=90=E3=81=AEVBA=E3=82=BD=E3=83=BC=E3=82=B9?= =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=83=89=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 機能仕様書作成.xlsm | Bin 25041 -> 25640 bytes 機能仕様書作成/Module1.bas | 193 +++++++++++++++++++++++++++++++++++++ 2 files changed, 193 insertions(+) create mode 100644 機能仕様書作成/Module1.bas diff --git a/機能仕様書作成.xlsm b/機能仕様書作成.xlsm index c9ffb9c9436d234349288f3b33bc6ab8dfc8c828..aa953ff2b718588207c0c40f653c027070aba85f 100644 GIT binary patch delta 18030 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�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 z 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 delta 17479 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 ZY|GRXF?ngS4O4#f連結) + Dim summary As Object + Set summary = CreateObject("Scripting.Dictionary") + + Dim r As Long + + Dim headerCell As Range + Dim startRow As Long + + md = md & "# " & Trim(ws.Cells(2, "C").Value) & vbCrLf & vbCrLf + + Set headerCell = ws.Columns("D").Find( _ + What:="機能名", _ + LookAt:=xlWhole, _ + LookIn:=xlValues) + + If headerCell Is Nothing Then + MsgBox "「機能名」という見出しが見つかりません。", vbCritical + Exit Sub + End If + + startRow = headerCell.Row + 1 + + For r = startRow To lastRow + ' ここに既存の処理 + + + Dim category As String + Dim funcName As String + Dim funcID As String + Dim insertPos As Long + + category = Trim(ws.Cells(r, "C").Value) + funcName = Trim(ws.Cells(r, "D").Value) + funcID = "SRQ_FUN_" & Format(funcCounter, "000") + + '======================== + ' 種別見出し処理 + '======================== + If categoryPos.exists(category) Then + insertPos = categoryPos(category) + Else + md = md & "## " & category & vbCrLf & vbCrLf + insertPos = Len(md) + categoryPos.Add category, insertPos + End If + + '======================== + ' 機能ブロック生成 + '======================== + Dim block As String + block = "### " & funcName & " " & funcID & vbCrLf & vbCrLf + block = block & "#### 対応要件" & vbCrLf + + '======================== + ' B列:対応要件ID(vbLf確定) + '======================== + Dim reqText As String + reqText = ws.Cells(r, "B").Value + reqText = Replace(reqText, vbCrLf, vbLf) + reqText = Replace(reqText, Chr(13), vbLf) + + Dim reqArr As Variant + reqArr = Split(reqText, vbLf) + + Dim i As Long + Dim reqForTable As String + reqForTable = "" + + For i = LBound(reqArr) To UBound(reqArr) + If Trim(reqArr(i)) <> "" Then + block = block & "* " & Trim(reqArr(i)) & vbCrLf + If reqForTable <> "" Then reqForTable = reqForTable & "
" + reqForTable = reqForTable & Trim(reqArr(i)) + End If + Next i + + block = block & vbCrLf & "#### 機能概要" & vbCrLf + + '======================== + ' E列:機能概要 + '======================== + Dim descText As String + descText = ws.Cells(r, "E").Value + descText = Replace(descText, vbCrLf, vbLf) + descText = Replace(descText, Chr(13), vbLf) + + Dim descArr As Variant + descArr = Split(descText, vbLf) + + For i = LBound(descArr) To UBound(descArr) + + If Trim(descArr(i)) <> "" Then + + Dim indentLevel As Long + Dim lineText As String + Dim ch As String + Dim pos As Long + Dim indentPrefix As String + + indentLevel = 0 + lineText = descArr(i) + + ' 先頭のスペース/矢印をカウント + For pos = 1 To Len(lineText) + ch = Mid(lineText, pos, 1) + If ch = " " Or ch = " " Or ch = "→" Then + indentLevel = indentLevel + 1 + Else + Exit For + End If + Next pos + + ' 先頭記号を除去 + lineText = Mid(lineText, indentLevel + 1) + + ' Markdown 用インデント(1レベル = 半角2スペース) + indentPrefix = String(indentLevel * 2, " ") + + block = block & indentPrefix & "* " & Trim(lineText) & vbCrLf + End If + + Next i + + block = block & vbCrLf + + '======================== + ' Markdownへ挿入 + '======================== + md = Left(md, insertPos) & block & Mid(md, insertPos + 1) + categoryPos(category) = insertPos + Len(block) + + '======================== + ' 一覧表データ登録(1機能1行) + '======================== + summary.Add funcID, funcName & "||" & reqForTable + + funcCounter = funcCounter + 1 + + Next r + + '======================== + ' 一覧表出力 + '======================== + md = md & "---" & vbCrLf & vbCrLf + md = md & "## 機能ID・対応要件一覧" & vbCrLf & vbCrLf + md = md & "| 機能ID | 機能名 | 対応要件ID |" & vbCrLf + md = md & "|--------|--------|------------|" & vbCrLf + + Dim key As Variant, vals As Variant + For Each key In summary.Keys + vals = Split(summary(key), "||") + md = md & "| " & key & " | " & vals(0) & " | " & vals(1) & " |" & vbCrLf + Next key + + '======================== + ' Markdownファイル出力 + '======================== + Dim fso As Object, file As Object + Set fso = CreateObject("Scripting.FileSystemObject") + + Dim path As String + path = ThisWorkbook.path & "\CustomizeFunctions.md" + + Set file = fso.CreateTextFile(path, True, True) ' UTF-8 + file.Write md + file.Close + + MsgBox "Markdownファイルを出力しました:" & vbCrLf & path, vbInformation + +End Sub + +