상상력집단
공지사항
평생 수강
분야별 집중 교육
Make 자동화 커뮤니티
최신AI교육
기업/관공서 실무AI교육
팀GPT 구매대행 + AI교육
AI강사지원
AI강사양성과정
전속AI강사지원
이벤트
AI고민해결 치킨파티
전국 지사 모집 (개발/교육)
커뮤니티
문의하기
ホーム
상상력집단
[교육예시] 오프라인 집체교육
공지사항
📢공지사항
평생 수강
📹분야별 집중 교육
Make 자동화 커뮤니티
최신AI교육
🏢기업/관공서 실무AI교육
팀GPT 구매대행 + AI교육
AI강사지원
🧑‍🏫AI강사양성과정
📝전속AI강사지원
이벤트
🍗AI고민해결 치킨파티
📣전국 지사 모집 (개발/교육)
커뮤니티
✏️AI 최신 정보/노하우 공유
문의하기
기업교육 문의는 아래 버튼 클릭
購読する
サインイン
AI 칼럼

사업계획서 초안작성 + 서식 맞추기까지 워드x챗GPT로 한꺼번에

들어가며

역대급 구직 불경기로 인해, 크리에이터/1인 비즈니스까지 필수 아닌 필수처럼 여겨지는 요즘입니다.
코로나 시즌부터 회사밖 노동자, 플랫폼 근로자같이 다양한 직업 패턴이 나타나기 시작했는데요,
직업유무를 가리지 않고 늘 주시하게 되는 것은 바로 사업계획서 일정이 아닐까 싶습니다.
어떤 날은 상반기에 몰려있다가, 어떤 때에는 하반기에 몰려있다가, 급하게 썼다가 기한이 연장되는 등
일하는 사람으로서 일정에 대한 스트레스를 굉장히 심하게 주는 일로 자리잡고 있죠.
퀄리티와 속도, 두가지를 모두 요구받는 입장이 될수록 과연 사람이 이걸 다 할 수 있을지에 대한 막막함이 꽤나 클 것이라고 생각합니다.
AI를 의심해왔고, 지금도 의심하는 저 또한 오롯이 스스로 써보겠다는 일념으로 부딪혀보면 '계속 이런 식으로 일하면 진짜 큰일나겠다' 는 아찔함을 느끼곤 합니다.
지원서 작성하고 업로드하는데 걸리는 시간은 물론, 중간의 복잡한 절차들 때문에 힘들여 쓴 내 파일이 마감기한을 놓쳐버린다면 그만한 스트레스는 또 이루 말할 수 없죠.
한번이라도 더 시도를 해봐도 모자랄 타이밍에, 시도의 기회조차 날려버리는 일이 없게 하기 위해서라도 AI를 활용하는 것의 의미는 충분할 것입니다.
앞선 포스팅에서 살펴봤듯, 챗GPT에게 사업계획서 초안 작성을 위한 논리적인 순서에 대해 물은 뒤, 세부 코드를 작성한 다음 MS 워드의 VBA를 입력한 다음 서식까지 완성하는 흐름을 진행해보겠습니다.

☎️기업/관공서를 위한 AI교육 문의(클릭)

챗GPT 초안 구성

우선, 챗GPT 챗봇 안에 파이썬을 통한 자동입력은 어느정도 가능하기 때문에 기본적인 서식까지 명령할 수는 있습니다.
즉, 사업계획서 초안 작성 명령하고 > 양식 파일을 첨부해서 그 안에 맞게 내용들을 채워달라는 파이썬 코딩까지도 할 수 있다는 것이죠.
어떻게 보면 나쁘진 않습니다.
대신 표를 입력할 때 셀 병합이 이뤄진 일부 개행에 대한 인식이 정확하진 않다는 점은 주의가 필요하겠죠.
초안 텍스트는 어느정도 만들지만, 본문을 그대로 입력하는 파이썬 코딩까지 요청하는 것은 사실상 무리인 셈이죠.
이럴 때를 대비해, 초안은 챗GPT에서 얻어내고 워드파일에 입력한 뒤 VBA로 동기화시켜보겠습니다.

VBA를 수행하기 위해 단계별로 진행할 것들

단계
설명
예시
① 위치 파악
표 셀, 단락, 제목 등 위치 지정
Tables, Selection.Find
② 내용 삽입
지정 위치에 Text 삽입
.Range.Text = "내용"
③ 서식 유지
기존 서식 그대로 둠
Font, Alignment 자동 유지
④ 실행
Alt + F8 or 버튼
사용자 매크로 실행
여러 포스팅에서도 계속해서 강조해서 말씀드리다시피,
저는 GPT에게 과정을 묻거나 논리적인 글쓰기를 위주로 명령하고 있습니다.
다른 LLM들에 비해 최대한 저에게 옹호하는 입장의 답변을 하려는 성향이 있기 때문에,
그 답변구조를 따졌을 때 가장 적합하게 활용할 수 있는 방법을 선택합니다.
초안으로 작성한 내용을 곧바로 바꾸느냐
양식 파일을 불러온 다음, GPT가 만들어낸 초안을 그대로 입력하게 만드느냐의 경우가 있는데
여기서는 양식 파일에 직접 초안을 덧씌워보는 방법을 쓰겠습니다.

자동화가 가능한 영역인지 파악하는 VBA 코드

Sub 문서테이블정보확인()
    Dim i As Integer
    Dim j As Integer
    Dim k As Integer
    Dim tbl As Table
    Dim cellContent As String
    
    Debug.Print "========== 문서 테이블 정보 요약 =========="
    Debug.Print "총 테이블 수: " & ActiveDocument.Tables.Count
    Debug.Print "---------------------------------------"
    
    For i = 1 To ActiveDocument.Tables.Count
        Set tbl = ActiveDocument.Tables(i)
        Debug.Print "테이블 " & i & ": " & tbl.Rows.Count & "행, " & tbl.Columns.Count & "열"
        
        ' 첫 번째 행과 첫 번째 열의 내용 샘플 출력
        Debug.Print "  - 첫 번째 행 내용 샘플:"
        For j = 1 To tbl.Columns.Count
            If j <= 5 Then ' 처음 5개 열만 표시
                On Error Resume Next
                cellContent = tbl.Rows(1).Cells(j).Range.Text
                ' 오류 확인
                If Err.Number <> 0 Then
                    cellContent = "[셀 접근 오류]"
                    Err.Clear
                End If
                On Error GoTo 0
                
                ' 마지막 두 문자(셀 마커) 제거
                If Len(cellContent) > 2 Then
                    cellContent = Left(cellContent, Len(cellContent) - 2)
                End If
                ' 너무 긴 내용은 자르기
                If Len(cellContent) > 30 Then
                    cellContent = Left(cellContent, 27) & "..."
                End If
                Debug.Print "    열 " & j & ": " & cellContent
            End If
        Next j
        
        Debug.Print "---------------------------------------"
    Next i
    
    Debug.Print "Immediate 창(Ctrl+G)에서 모든 테이블 정보를 확인하세요."
    MsgBox "테이블 정보가 Immediate 창에 출력되었습니다. Ctrl+G를 눌러 확인하세요.", vbInformation
End Sub

이후 확인 경과

hwp로 작성된 파일이었던만큼 상당수가 제대로 인식을 하지 못하고 있습니다.

일반적인 테이블로 인식하는 코드에 대해서

Sub 추진일정_테이블_채우기()
    Dim tbl As Table
    Dim found As Boolean
    found = False
    
    ' 추진일정 테이블 찾기 - "추진내용" 텍스트로 식별
    For Each tbl In ActiveDocument.Tables
        Dim cellText As String
        On Error Resume Next
        cellText = tbl.Cell(1, 1).Range.Text
        On Error GoTo 0
        
        If InStr(cellText, "추진내용") > 0 Then
            found = True
            Exit For
        End If
    Next tbl
    
    If found Then
        ' 테이블이 최소 5행, 3열이 있다고 가정
        If tbl.Rows.Count >= 5 And tbl.Columns.Count >= 3 Then
            ' 첫 번째 내용 행
            tbl.Cell(2, 1).Range.Text = "시제품 보완"
            tbl.Cell(2, 2).Range.Text = "2025.04.01 ~ 2025.05.10"
            tbl.Cell(2, 3).Range.Text = "IoT 센서 최적화 및 기기 안정성 확보"
            
            ' 두 번째 내용 행
            tbl.Cell(3, 1).Range.Text = "커뮤니티 베타 운영"
            tbl.Cell(3, 2).Range.Text = "2025.05.11 ~ 2025.06.30"
            tbl.Cell(3, 3).Range.Text = "3개 아파트 단지 대상 시범 운영"
            
            ' 세 번째 내용 행
            tbl.Cell(4, 1).Range.Text = "환경 교육 프로그램 제작"
            tbl.Cell(4, 2).Range.Text = "2025.07.01 ~ 2025.07.31"
            tbl.Cell(4, 3).Range.Text = "초등 커리큘럼 연계 자료 개발"
            
            MsgBox "추진일정 테이블 작업 완료!", vbInformation
        Else
            MsgBox "추진일정 테이블의 행 또는 열이 부족합니다.", vbExclamation
        End If
    Else
        MsgBox "추진일정 테이블을 찾을 수 없습니다.", vbExclamation
    End If
End Sub
/코드
행과 열 기준으로 정확한 위치를 계산해내서 정보들을 입력하는 경향이 있습니다.
그 외에 안정성 측면에서 우수한 방법들을 추가로 찾아보면 다음과 같습니다.

대화형으로 항목당 버튼클릭으로 파일 완성

Option Explicit

Sub 개선된_사업계획서_작성기()
    ' 필드 내용 정의
    Dim 일반현황_필드 As Variant
    Dim 일반현황_내용 As Variant
    
    Dim 창업아이템개요_필드 As Variant
    Dim 창업아이템개요_내용 As Variant
    
    Dim 사업추진일정_필드 As Variant
    Dim 사업추진일정_내용 As Variant
    
    ' 일반 현황 정의
    일반현황_필드 = Array("창업아이템명", "업종분류", "신청자 성명", "생년월일", "성별", "연락처", _
                   "사업장 예정지역", "교육희망지역(1순위)", "교육희망지역(2순위)", "교육희망지역(3순위)", "교육희망과정")
    일반현황_내용 = Array("스마트팜 기반 도시농업 플랫폼", "정보통신, 농업서비스, 환경기술", "김하늘", "1990.06.15", "여", "010-1234-5678", _
                   "서울특별시 성동구", "1순위 서울", "2순위 경기", "3순위 강원", "온라인트랙")
    
    ' 창업 아이템 개요 정의
    창업아이템개요_필드 = Array("창업아이템 소개", "창업 아이템의 차별성", "국내외 목표시장")
    창업아이템개요_내용 = Array("도시 유휴 공간을 활용한 스마트팜 키트 및 플랫폼 서비스. IoT 센서, 자동 급수 시스템, 모바일 앱 기반 식물 생장 관리 제공. 학교, 복지관, 주거지역 커뮤니티 중심으로 보급.", _
                      "기존 텃밭/실내농업 대비 설치·운영 간편화, 데이터 기반 식물 건강 상태 진단 기능 탑재. AI 기반 작물 추천 및 스마트 알림 기능 내장. 현재 시제품 개발 완료.", _
                      "국내 도시농업 시장, ESG 기반 공공기관 수요처, 동남아 스마트팜 수출 가능성 있음. B2G/B2B 중심의 제휴 전략과 커뮤니티 기반 구독 모델 운영 예정.")
    
    ' 사업 추진 일정 정의
    사업추진일정_필드 = Array("추진내용1", "추진기간1", "세부내용1", "추진내용2", "추진기간2", "세부내용2", "추진내용3", "추진기간3", "세부내용3")
    사업추진일정_내용 = Array("시제품 보완", "2025.04.01 ~ 2025.05.10", "IoT 센서 최적화 및 기기 안정성 확보", _
                    "커뮤니티 베타 운영", "2025.05.11 ~ 2025.06.30", "3개 아파트 단지 대상 시범 운영", _
                    "환경 교육 프로그램 제작", "2025.07.01 ~ 2025.07.31", "초등 커리큘럼 연계 자료 개발")
    
    ' 작성 시작
    If MsgBox("신사업창업사관학교 사업계획서를 입력하시겠습니까?" & vbCrLf & _
              "실행하면 메뉴가 표시되어 원하는 섹션을 선택해 입력할 수 있습니다.", _
              vbQuestion + vbYesNo, "사업계획서 작성 도우미") = vbNo Then
        Exit Sub
    End If
    
    ' 파란색 안내 문구 제거 옵션
    If MsgBox("시작하기 전에 파란색 안내 문구를 제거하시겠습니까?", vbQuestion + vbYesNo) = vbYes Then
        파란색_텍스트_제거
    End If
    
    ' 메뉴 선택 루프
    Dim userChoice As String
    Dim intChoice As Integer
    
    Do
        userChoice = InputBox("작성할 섹션 번호를 선택하세요:" & vbCrLf & _
                      "1. 일반현황" & vbCrLf & _
                      "2. 창업아이템 개요" & vbCrLf & _
                      "3. 창업자 역량" & vbCrLf & _
                      "4. 창업 아이템 혁신성" & vbCrLf & _
                      "5. 창업아이템 성장가능성" & vbCrLf & _
                      "6. 사업 추진일정" & vbCrLf & _
                      "7. 자금조달계획" & vbCrLf & _
                      "0. 종료", "섹션 선택")
        
        ' 사용자가 취소를 클릭했거나 빈 값 입력 시
        If userChoice = "" Then
            Exit Do
        End If
        
        ' 숫자가 아닌 입력 확인
        If Not IsNumeric(userChoice) Then
            MsgBox "올바른 번호를 입력해주세요.", vbExclamation
        Else
            intChoice = CInt(userChoice)
            
            Select Case intChoice
                Case 0
                    ' 종료
                    Exit Do
                Case 1
                    ' 일반현황
                    선택_입력 일반현황_필드, 일반현황_내용
                Case 2
                    ' 창업아이템 개요
                    선택_입력 창업아이템개요_필드, 창업아이템개요_내용
                Case 3
                    ' 창업자 역량
                    채우기_창업자역량
                Case 4
                    ' 창업 아이템 혁신성
                    채우기_창업아이템혁신성
                Case 5
                    ' 창업아이템 성장가능성
                    채우기_창업아이템성장가능성
                Case 6
                    ' 사업 추진일정
                    선택_입력 사업추진일정_필드, 사업추진일정_내용
                Case 7
                    ' 자금조달계획
                    채우기_자금조달계획
                Case Else
                    MsgBox "올바른 번호를 입력해주세요.", vbExclamation
            End Select
        End If
    Loop While True
    
    MsgBox "사업계획서 작성이 완료되었습니다!", vbInformation, "작업 완료"
End Sub

' 파란색 텍스트 제거
Sub 파란색_텍스트_제거()
    On Error Resume Next
    
    Dim rng As Range
    Set rng = ActiveDocument.Content
    
    ' 모든 파란색 텍스트 찾기
    With rng.Find
        .ClearFormatting
        .Font.Color = wdColorBlue
        .Replacement.ClearFormatting
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .Execute Replace:=wdReplaceAll
    End With
    
    If Err.Number <> 0 Then
        MsgBox "파란색 텍스트 제거 중 오류 발생: " & Err.Description, vbExclamation
    Else
        MsgBox "파란색 안내 문구가 제거되었습니다.", vbInformation
    End If
    
    On Error GoTo 0
End Sub

' 선택적 입력 함수 - 사용자가 필드와 내용을 선택해서 입력
Sub 선택_입력(필드 As Variant, 내용 As Variant)
    Dim i As Integer
    Dim userReady As Boolean
    Dim chosenField As String
    Dim selectionMade As Boolean
    Dim continueInput As VbMsgBoxResult
    
    ' 필드 선택 루프
    Do
        ' 사용자에게 입력 필드 선택 메뉴 제공
        chosenField = InputBox("입력할 필드를 선택하세요 (0을 입력하면 종료):" & vbCrLf & vbCrLf & _
                           필드_목록_생성(필드), "필드 선택")
        
        ' 취소 버튼이나 빈 입력 처리
        If chosenField = "" Then
            Exit Sub
        End If
        
        ' 필드 번호가 아닌 경우 처리
        If Not IsNumeric(chosenField) Then
            MsgBox "올바른 필드 번호를 입력해주세요.", vbExclamation
        Else
            i = CInt(chosenField)
            
            ' 종료 옵션
            If i = 0 Then
                Exit Sub
            End If
            
            ' 유효한 필드 번호인지 확인
            If i >= 1 And i <= UBound(필드) + 1 Then
                ' 안내 메시지
                MsgBox "'" & 필드(i - 1) & "' 필드를 문서에서 클릭한 후 확인을 누르세요." & vbCrLf & _
                       "입력될 내용: " & 내용(i - 1), vbInformation, "필드 입력 준비"
                
                ' 선택한 위치에 내용 입력
                Selection.TypeText 내용(i - 1)
                
                ' 내용 입력 확인
                MsgBox "'" & 필드(i - 1) & "' 필드 내용이 입력되었습니다.", vbInformation
                selectionMade = True
                
                ' 계속 입력할지 확인
                continueInput = MsgBox("다른 필드도 입력하시겠습니까?", vbQuestion + vbYesNo)
                If continueInput = vbNo Then
                    Exit Do
                End If
            Else
                MsgBox "올바른 필드 번호를 입력해주세요 (1-" & UBound(필드) + 1 & ").", vbExclamation
            End If
        End If
    Loop
End Sub

' 필드 목록 문자열 생성 함수
Function 필드_목록_생성(필드 As Variant) As String
    Dim result As String
    Dim i As Integer
    
    For i = 0 To UBound(필드)
        result = result & (i + 1) & ". " & 필드(i) & vbCrLf
    Next i
    
    필드_목록_생성 = result
End Function

' 창업자 역량 채우기
Sub 채우기_창업자역량()
    On Error Resume Next
    
    Dim userReady As VbMsgBoxResult
    
    MsgBox "이제 창업자 역량 섹션을 채우겠습니다." & vbCrLf & _
           "각 부분에 대해 커서 위치를 선택한 후 확인을 누르세요.", vbInformation
    
    ' 1-1. 창업동기 및 창업의지
    userReady = MsgBox("1-1. 창업동기 및 창업의지 섹션을 찾아 내용을 입력할 위치에 커서를 놓고 확인을 클릭하세요.", _
              vbInformation + vbOKCancel)
    
    If userReady <> vbOK Then Exit Sub
    
    Selection.TypeText "> O" & vbCrLf & _
                  "- 도심 내 식물 재배에 대한 관심에서 출발, 환경·건강·교육을 아우르는 창업 아이템으로 확장" & vbCrLf & _
                  "- 저탄소·도시환경 개선 트렌드와 부합하며, 지속 가능한 사업모델로 구상" & vbCrLf & _
                  vbCrLf & _
                  "> O" & vbCrLf & _
                  "- 농업회사법인 근무 2년 / 스마트센서 기획 및 서비스 운영 경험"
    
    userReady = MsgBox("1-1 섹션 입력이 완료되었습니다. 1-2 섹션으로 계속하시겠습니까?", vbQuestion + vbYesNo)
    If userReady <> vbYes Then
        Exit Sub
    End If
    
    ' 1-2. 창업준비정도
    userReady = MsgBox("1-2. 창업준비정도 섹션을 찾아 내용을 입력할 위치에 커서를 놓고 확인을 클릭하세요.", _
               vbInformation + vbOKCancel)
    
    If userReady <> vbOK Then Exit Sub
    
    Selection.TypeText "> O" & vbCrLf & _
                  "- 농업회사법인 근무 2년 / 스마트센서 기획 및 서비스 운영 경험" & vbCrLf & _
                  "- 관련 특허 출원 1건, 기술 협력업체 1곳 확보" & vbCrLf & _
                  vbCrLf & _
                  "> O" & vbCrLf & _
                  "- 환경 분야 스타트업 및 지자체 연계 프로젝트 경험 보유"
    
    MsgBox "창업자 역량 섹션이 완료되었습니다.", vbInformation
    
    On Error GoTo 0
End Sub

' 창업 아이템 혁신성 채우기
Sub 채우기_창업아이템혁신성()
    On Error Resume Next
    
    Dim userReady As VbMsgBoxResult
    
    MsgBox "이제 창업 아이템 혁신성 섹션을 채우겠습니다." & vbCrLf & _
           "각 부분에 대해 커서 위치를 선택한 후 확인을 누르세요.", vbInformation
    
    ' 2-1. 창업아이템의 참신성 및 독창성
    userReady = MsgBox("2-1. 창업아이템의 참신성 및 독창성 섹션을 찾아 내용을 입력할 위치에 커서를 놓고 확인을 클릭하세요.", _
              vbInformation + vbOKCancel)
    
    If userReady <> vbOK Then Exit Sub
    
    Selection.TypeText "> O" & vbCrLf & _
                  "- 작물 종류별 생장 패턴 예측 및 AI 기반 자동 최적 환경 제어 시스템 구현 예정" & vbCrLf & _
                  "- 사용자는 앱을 통해 식물 상태를 실시간 모니터링, 비전문가도 손쉽게 작물 재배 가능" & vbCrLf & _
                  vbCrLf & _
                  "> O" & vbCrLf & _
                  "- 기존 솔루션 대비 설치 공간 효율성 40% 향상, 유지 비용 30% 절감 효과"
    
    userReady = MsgBox("2-1 섹션 입력이 완료되었습니다. 2-2 섹션으로 계속하시겠습니까?", vbQuestion + vbYesNo)
    If userReady <> vbYes Then
        Exit Sub
    End If
    
    ' 2-2. 창업아이템의 활용성 및 필요성
    userReady = MsgBox("2-2. 창업아이템의 활용성 및 필요성 섹션을 찾아 내용을 입력할 위치에 커서를 놓고 확인을 클릭하세요.", _
               vbInformation + vbOKCancel)
    
    If userReady <> vbOK Then Exit Sub
    
    Selection.TypeText "> O" & vbCrLf & _
                  "- 아파트 커뮤니티, 학교 환경교육, 실버복지시설 등 다양한 사회적 니즈 충족" & vbCrLf & _
                  "- 탄소중립, 도시 녹지 확장 등 국가 정책과도 연계되어 공공 지원 연계 가능성 높음" & vbCrLf & _
                  vbCrLf & _
                  "> O" & vbCrLf & _
                  "- 도시 내 유휴 공간 활용을 통한 식량 자급률 향상 및 커뮤니티 활성화 기여"
    
    MsgBox "창업 아이템 혁신성 섹션이 완료되었습니다.", vbInformation
    
    On Error GoTo 0
End Sub

' 창업아이템 성장가능성 채우기
Sub 채우기_창업아이템성장가능성()
    On Error Resume Next
    
    Dim userReady As VbMsgBoxResult
    
    MsgBox "이제 창업아이템 성장가능성 섹션을 채우겠습니다." & vbCrLf & _
           "각 부분에 대해 커서 위치를 선택한 후 확인을 누르세요.", vbInformation
    
    ' 3-1. 신사업창업사관학교 온·오프라인 트랙을 통한 성장 및 발전계획
    userReady = MsgBox("3-1. 신사업창업사관학교 온·오프라인 트랙을 통한 성장 및 발전계획 섹션을 찾아 내용을 입력할 위치에 커서를 놓고 확인을 클릭하세요.", _
              vbInformation + vbOKCancel)
    
    If userReady <> vbOK Then Exit Sub
    
    Selection.TypeText "O" & vbCrLf & _
                  "- 오프라인 실습 트랙을 통해 시제품 전시 및 사용자 인터뷰 진행" & vbCrLf & _
                  "- 온라인 교육과정 병행하여 농업 비전공자 대상 교육 콘텐츠 운영" & vbCrLf & _
                  vbCrLf & _
                  "O" & vbCrLf & _
                  "- 커뮤니티 확장 모델 검증 및 사용자 피드백 기반 서비스 고도화"
    
    userReady = MsgBox("3-1 섹션 입력이 완료되었습니다. 3-2 섹션으로 계속하시겠습니까?", vbQuestion + vbYesNo)
    If userReady <> vbYes Then
        Exit Sub
    End If
    
    ' 3-2. 창업아이템의 시장분석 및 경쟁력 확보방안
    userReady = MsgBox("3-2. 창업아이템의 시장분석 및 경쟁력 확보방안 섹션을 찾아 내용을 입력할 위치에 커서를 놓고 확인을 클릭하세요.", _
               vbInformation + vbOKCancel)
    
    If userReady <> vbOK Then Exit Sub
    
    Selection.TypeText "O" & vbCrLf & _
                  "- 경쟁 제품 대비 설치 공간/비용 효율 우수, 비전문가 사용성 강화" & vbCrLf & _
                  "- 공공기관 대상 납품 및 교육기관 제휴를 통한 초기 시장 진입 전략 확보" & vbCrLf & _
                  vbCrLf & _
                  "O" & vbCrLf & _
                  "- 데이터 기반 식물 생장 알고리즘 자체 개발로 기술 경쟁력 확보"
    
    userReady = MsgBox("3-2 섹션 입력이 완료되었습니다. 3-3 섹션으로 계속하시겠습니까?", vbQuestion + vbYesNo)
    If userReady <> vbYes Then
        Exit Sub
    End If
    
    ' 3-3. 창업아이템의 소상공인 파급 효과
    userReady = MsgBox("3-3. 창업아이템의 소상공인 파급 효과 섹션을 찾아 내용을 입력할 위치에 커서를 놓고 확인을 클릭하세요.", _
              vbInformation + vbOKCancel)
    
    If userReady <> vbOK Then Exit Sub
    
    Selection.TypeText "O" & vbCrLf & _
                  "- 원예·농업 관련 소상공인과 키트 제작, 유통, 유지보수 연계 가능" & vbCrLf & _
                  "- 커뮤니티 단위 운영을 통해 도시농업 기반 소상공인 생태계 조성 가능" & vbCrLf & _
                  vbCrLf & _
                  "O" & vbCrLf & _
                  "- 지역 농산물 연계 및 소비 촉진을 통한 농가 소득 증대 기여"
    
    MsgBox "창업아이템 성장가능성 섹션이 완료되었습니다.", vbInformation
    
    On Error GoTo 0
End Sub

' 자금조달계획 채우기
Sub 채우기_자금조달계획()
    On Error Resume Next
    
    Dim userReady As VbMsgBoxResult
    
    MsgBox "이제 자금조달계획 섹션을 채우겠습니다." & vbCrLf & _
           "내용을 입력할 위치에 커서를 놓고 확인을 누르세요.", vbInformation
    
    ' 4. 자금조달계획
    userReady = MsgBox("4. 자금조달계획 섹션을 찾아 내용을 입력할 위치에 커서를 놓고 확인을 클릭하세요.", _
              vbInformation + vbOKCancel)
    
    If userReady <> vbOK Then Exit Sub
    
    Selection.TypeText "O" & vbCrLf & _
                  "- 총 예상 소요 비용: 9,000만원" & vbCrLf & _
                  "  * 시제품 및 생산비: 3,000만원" & vbCrLf & _
                  "  * 마케팅 및 커뮤니티 운영비: 3,000만원" & vbCrLf & _
                  "  * 교육 콘텐츠 개발비: 1,500만원" & vbCrLf & _
                  "  * 홈페이지/플랫폼 고도화: 1,500만원" & vbCrLf & _
                  vbCrLf & _
                  "O" & vbCrLf & _
                  "- 자기자본 4,000만원 / 외부 투자유치 3,000만원 / 정부지원금 2,000만원 활용 예정"
    
    MsgBox "자금조달계획 섹션이 완료되었습니다.", vbInformation
    
    On Error GoTo 0
End Sub
/코드
이런식으로, 예/아니오, 커서를 원하는 자리에 올려놓으면 소제목과 세부번호 코드를 입력하면 본문이 블럭 단위로 옮겨지는 방식을 취합니다.
문단별 필요한 문구들이 대화형 파일로 생성되었고, 챕터에 맞는 번호를 입력하면서 한 문단이 통째로 삽입되는 것을 확인할 수 있었습니다.
다만 주의할 것은 띄어쓰기 등과 같이 기존의 파일에서 지정된 서식을 어느정도 고치고 나서 vba 코드를 만들어야 오류가 줄어드는 이슈가 있었습니다.
대화형 제작 프로그램을 짜는 데에도 걸리는 시간이 적지 않았으나, 최소한 처음부터 모든 항목을 포맷팅하고 편집하는데 걸리는 것은 문자 그대로 2~3일을 밤새는 경우가 훨씬 흔했습니다.
혼자서 컨텐츠 개발과 사업계획서까지 쓰시는 분들께는 조금이나마 힘이 되는 방식의 작업 구조가 될거라 생각하며 이만 글을 줄이겠습니다.
저를 위한 표준사업계획서 포맷이 만들어진 것을 보셨겠지만, 각자에게 맞춤형 프로그램을 만들기 위해서는 별도의 커스터마이제이션이 필요할 것입니다.
관심있으신 분들은 문의를 통해 각자에게 맞는 커스텀된 MS 오피스를 가져보세요 :)

☎️기업/관공서를 위한 AI교육 문의(클릭)

상상
「상상력집단」を購読
サイトを購読すると、新規投稿などの最新情報を通知やメールでいち早く受け取れます。
Slashpageに登録して「상상력집단」を購読しましょう!
購読する
👍