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