841 lines
44 KiB
VB.net
841 lines
44 KiB
VB.net
Public Class Frm_Macro2
|
|
|
|
Dim fn As String = ""
|
|
|
|
Dim 단위면적당신재생1차에너지합 As Decimal = 0
|
|
Dim 단위면적당1차에너소비량합 As Decimal = 0
|
|
Dim 에너지자립률 As Double = 0
|
|
|
|
Public Sub New()
|
|
|
|
' 이 호출은 디자이너에 필요합니다.
|
|
InitializeComponent()
|
|
fn = ""
|
|
' InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
|
|
|
|
End Sub
|
|
|
|
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
|
|
LoadFile()
|
|
End Sub
|
|
|
|
Private Sub LoadFile()
|
|
|
|
Dim od As New OpenFileDialog
|
|
od.Filter = "excel|*.xls|*.*|*.*"
|
|
od.FilterIndex = 1
|
|
If (od.ShowDialog() <> Windows.Forms.DialogResult.OK) Then Return
|
|
fn = od.FileName
|
|
|
|
|
|
If Not System.IO.File.Exists(fn) Then
|
|
MsgBox("업로드샘플파일(" + fn + ")가 존재하지 않습니다", MsgBoxStyle.Critical, "확인")
|
|
Return
|
|
End If
|
|
|
|
Try
|
|
If Me.FpSpread1.OpenExcel(fn) Then
|
|
'// MakeData()
|
|
'//첫줄에 열 번호를 넣는다.
|
|
For col As Integer = 1 To 108
|
|
Dim oldvalue As Object = FpSpread1_Sheet1.Cells(0, col - 1).Value
|
|
If oldvalue Is Nothing Then
|
|
FpSpread1_Sheet1.Cells(0, col - 1).Value = "(" + col.ToString() + ")"
|
|
Else
|
|
FpSpread1_Sheet1.Cells(0, col - 1).Value = oldvalue.ToString() + "(" + col.ToString() + ")"
|
|
End If
|
|
Next
|
|
|
|
'//0번째열에서 1의 값을 찾고 그 이후의 값을 찾아서 번호를 설정한다.
|
|
Dim StartIndex As Integer = 0
|
|
Dim EndIndex As Integer = 0
|
|
ProgressBar1.Minimum = 0
|
|
ProgressBar1.Maximum = 10000
|
|
ProgressBar1.Value = 0
|
|
For i As Integer = 0 To 65535
|
|
If i >= ProgressBar1.Maximum - 1 Then
|
|
ProgressBar1.Value = ProgressBar1.Maximum
|
|
Else
|
|
ProgressBar1.Value += 1
|
|
End If
|
|
|
|
Dim curval As Object = FpSpread1_Sheet1.Cells(i, 0).Value
|
|
If curval Is Nothing Then
|
|
If StartIndex <> 0 Then
|
|
EndIndex = i - 1
|
|
Exit For
|
|
Else
|
|
Continue For
|
|
End If
|
|
End If
|
|
|
|
If curval.ToString() = "1" Then
|
|
StartIndex = i
|
|
ElseIf StartIndex <> 0 Then
|
|
If curval.ToString() = "" Then
|
|
EndIndex = i - 1
|
|
Exit For
|
|
End If
|
|
End If
|
|
Next
|
|
|
|
tbStart.Text = (StartIndex + 1).ToString()
|
|
tbEnd.Text = (EndIndex + 1).ToString()
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.Critical, "파일 불러오기 오류")
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
|
|
Private Function RData(grp As String, code As Integer) As Decimal
|
|
Dim filter As String = String.Format("GRP='{0}' and code={1}", grp, code.ToString("000"))
|
|
Dim DR() As DSR.TReqUseRow = DSETR1.TReqUse.Select(filter)
|
|
If DR.GetUpperBound(0) = -1 Then Return 0
|
|
Return DR(0).M00
|
|
End Function
|
|
|
|
|
|
|
|
Private Sub Frm_Upload_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
|
|
|
|
End Sub
|
|
|
|
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
|
|
Dim sd As New SaveFileDialog()
|
|
sd.Filter = "Excel(*.xls)|*.xls"
|
|
sd.FilterIndex = 0
|
|
If sd.ShowDialog = Windows.Forms.DialogResult.OK Then
|
|
Try
|
|
If FpSpread1.SaveExcel(sd.FileName, FarPoint.Excel.ExcelSaveFlags.NoFlagsSet) Then
|
|
MsgBox("저장완료", MsgBoxStyle.Information, "확인")
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.Critical, "error")
|
|
End Try
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
|
|
|
|
'//기본홤녀은 건물개요로
|
|
MdiMain.Menu_건물개요()
|
|
|
|
|
|
|
|
Dim StartNo As Integer = CInt(tbStart.Text)
|
|
Dim EndNo As Integer = CInt(tbEnd.Text)
|
|
Me.ProgressBar1.Value = 0
|
|
Me.ProgressBar1.Minimum = 0
|
|
Me.ProgressBar1.Maximum = EndNo - StartNo + 1
|
|
|
|
If MsgBox("전체 실행전에 1건에대해서 테스트실행을 하시겠습니까?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, "확인") = MsgBoxResult.Yes Then
|
|
EndNo = StartNo
|
|
ElseIf MsgBox("전체 " + Me.ProgressBar1.Maximum.ToString() + "건의 자료를 실행하시겠습니까?" + vbCrLf + "이 작업은 중단할 수 없습니다", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, "확인") <> MsgBoxResult.Yes Then
|
|
Return
|
|
End If
|
|
|
|
For RowNum As Integer = StartNo To EndNo
|
|
|
|
Me.ProgressBar1.Value += 1
|
|
|
|
Dim Row = RowNum - 1
|
|
Dim ColIDX As Integer = 1
|
|
|
|
'//건물개요
|
|
'//DSET1.tbl_Desc.Clear()
|
|
Dim NewDesc As DS.tbl_DescRow = DSET1.tbl_Desc.Rows(0)
|
|
NewDesc.cname = FpSpread1_Sheet1.Cells(Row, 1).Value.ToString()
|
|
NewDesc.buildname = NewDesc.cname
|
|
NewDesc.builds1 = 1 '//지하(층수)
|
|
NewDesc.builds2 = 1 '//지상(층수)
|
|
|
|
'//지역(해당하는이름의 코드를 가져와서 설정해야함)
|
|
Dim 지역명 As String = FpSpread1_Sheet1.Cells(Row, 5).Value
|
|
Dim 지역목록() As DataRow = DSET1.weather_group.Select(String.Format("name = '{0}'", 지역명))
|
|
If 지역목록.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 지역({1})에 해당하는 데이터가 {2}건 있습니다", Row, 지역명, 지역목록.Length))
|
|
Return
|
|
End If
|
|
NewDesc.buildarea = 지역목록(0)("code")
|
|
NewDesc.EndEdit()
|
|
'DSET1.tbl_Desc.Addtbl_DescRow(NewDesc)
|
|
|
|
Dim Drows() As DataRow
|
|
|
|
'//건물용도
|
|
Dim 건물용도명 As String = FpSpread1_Sheet1.Cells(Row, 6).Value.ToString().Replace(vbLf, "").Replace(vbCr, "") '//건물용도
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1201' and name = '{0}'", 건물용도명))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 건물용도({1})에 해당하는 데이터가 {2}건 있습니다", Row, 건물용도명, Drows.Length))
|
|
Return
|
|
End If
|
|
NewDesc.isjugo = Drows(0)("valn1")
|
|
NewDesc.EndEdit()
|
|
|
|
'//입력존
|
|
DSET1.tbl_zone.Clear()
|
|
|
|
'/없음데이터도 생성해야한다.
|
|
Dim drZoneNull As DS.tbl_zoneRow = DSET1.tbl_zone.Newtbl_zoneRow
|
|
drZoneNull.code = "0"
|
|
drZoneNull.설명 = "(없음)"
|
|
DSET1.tbl_zone.Addtbl_zoneRow(drZoneNull)
|
|
|
|
Dim DrZone As DS.tbl_zoneRow = DSET1.tbl_zone.Newtbl_zoneRow
|
|
DrZone.code = "00001"
|
|
DrZone.조명부하산출방법 = "입력치"
|
|
DrZone.설명 = "입력존(매크로)"
|
|
DrZone.그룹 = "0"
|
|
DrZone.sortkey = DrZone.code
|
|
|
|
DrZone.열생산난방생산기기 = "00001" '//난방기기 임시로 적용처리함()
|
|
DrZone.열생산급탕생산기기 = "00001" '//급탕기기 임시로 적용처리함()
|
|
DrZone.냉난방열공급시스템 = "00001" '//열공급시스템연결
|
|
DrZone.냉난방열공급시스템수 = "1"
|
|
DrZone.냉난방공조처리시스템 = "00001"
|
|
DrZone.인공광원 = "(없음)"
|
|
DrZone.조명방식 = "(없음)"
|
|
DrZone.외기부하처리여부 = "아니오"
|
|
|
|
DrZone.설명 = FpSpread1_Sheet1.Cells(Row, 7).Value
|
|
Dim 사용프로필 As String = FpSpread1_Sheet1.Cells(Row, 8).Value
|
|
Drows = DSET1.tbl_profile.Select(String.Format("설명 like '%{0}'", 사용프로필))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 입력존-사용프로필({1})에 해당하는 데이터가 {2}건 있습니다", Row, 사용프로필, Drows.Length))
|
|
Return
|
|
End If
|
|
DrZone.프로필 = Drows(0)("code")
|
|
DrZone.면적 = FpSpread1_Sheet1.Cells(Row, 9).Value
|
|
DrZone.천장고p = FpSpread1_Sheet1.Cells(Row, 10).Value
|
|
DrZone.순실체적 = FpSpread1_Sheet1.Cells(Row, 11).Value
|
|
|
|
Dim 열저장능력 As String = FpSpread1_Sheet1.Cells(Row, 12).Value
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1023' and name = '{0}'", 열저장능력))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 입력존-열저장능력({1})에 해당하는 데이터가 {2}건 있습니다", Row, 열저장능력, Drows.Length))
|
|
Return
|
|
End If
|
|
DrZone.열저장능력 = Drows(0)("Name")
|
|
|
|
Dim 열교가산치 As String = FpSpread1_Sheet1.Cells(Row, 13).Value
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1022' and name = '{0}'", 열교가산치))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 입력존-열교가산치({1})에 해당하는 데이터가 {2}건 있습니다", Row, 열교가산치, Drows.Length))
|
|
Return
|
|
End If
|
|
DrZone.열교가산치 = Drows(0)("Name")
|
|
DrZone.침기율 = FpSpread1_Sheet1.Cells(Row, 14).Value
|
|
|
|
Dim 냉난방방식 As String = FpSpread1_Sheet1.Cells(Row, 15).Value
|
|
If 냉난방방식 = "없음" Then 냉난방방식 = "기능없음"
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1000' and name = '{0}'", 냉난방방식))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 입력존-냉난방방식({1})에 해당하는 데이터가 {2}건 있습니다", Row, 냉난방방식, Drows.Length))
|
|
Return
|
|
End If
|
|
DrZone.냉난방방식 = Drows(0)("name")
|
|
|
|
Dim 냉난방공조 As String = FpSpread1_Sheet1.Cells(Row, 16).Value
|
|
If 냉난방공조 = "없음" Then 냉난방공조 = "기능없음"
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1001' and name = '{0}'", 냉난방공조))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 입력존-냉난방공조({1})에 해당하는 데이터가 {2}건 있습니다", Row, 냉난방공조, Drows.Length))
|
|
Return
|
|
End If
|
|
DrZone.냉난방공조 = Drows(0)("name")
|
|
|
|
Dim 조명부하산출방법 As String = FpSpread1_Sheet1.Cells(Row, 17).Value
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1031' and name = '{0}'", 조명부하산출방법))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 입력존-조명부하산출방법({1})에 해당하는 데이터가 {2}건 있습니다", Row, 조명부하산출방법, Drows.Length))
|
|
Return
|
|
End If
|
|
DrZone.조명부하산출방법 = Drows(0)("name")
|
|
DrZone.조명에너지부하율입력치 = FpSpread1_Sheet1.Cells(Row, 18).Value
|
|
DSET1.tbl_zone.Addtbl_zoneRow(DrZone)
|
|
|
|
|
|
'//입력면
|
|
Dim 방위목록 As New List(Of String)
|
|
방위목록.AddRange({"북서", "서", "남서", "남", "남동", "동", "북동", "북", "수평", "일사없음", "(없음)"})
|
|
|
|
Dim 제목1 As String = ""
|
|
Dim 제목2 As String = ""
|
|
DSET1.tbl_myoun.Clear()
|
|
For i As Integer = 0 To 12
|
|
Dim NewMyoun As DS.tbl_myounRow = DSET1.tbl_myoun.Newtbl_myounRow
|
|
NewMyoun.존분류 = DrZone.code
|
|
NewMyoun.code = String.Format("{0:00000}", i + 1)
|
|
NewMyoun.sortkey = NewMyoun.code
|
|
|
|
|
|
|
|
|
|
Dim t1 As String = FpSpread1_Sheet1.Cells(2, 19 + (i * 2)).Value '//타이틀
|
|
Dim t2 As String = FpSpread1_Sheet1.Cells(3, 19 + (i * 2)).Value '//타이틀
|
|
|
|
If Not String.IsNullOrEmpty(t1) Then 제목1 = t1
|
|
If Not String.IsNullOrEmpty(t2) Then 제목2 = t2
|
|
|
|
NewMyoun.설명 = 제목1 + ":" + 제목2
|
|
|
|
'//공용코드 1067에서 name 이 일치하는 데이터가 있어야한다.
|
|
'//(없음),외벽,외부창,내벽,간벽,내부창
|
|
If i = 0 Then
|
|
NewMyoun.건축부위방식 = "외벽"
|
|
ElseIf i = 1 Then
|
|
NewMyoun.건축부위방식 = "외벽"
|
|
ElseIf i = 2 Then
|
|
NewMyoun.건축부위방식 = "내벽"
|
|
ElseIf i = 3 Then
|
|
NewMyoun.건축부위방식 = "내벽"
|
|
ElseIf i = 4 Then
|
|
NewMyoun.건축부위방식 = "외벽"
|
|
ElseIf i = 5 Then '//코어
|
|
NewMyoun.건축부위방식 = "내벽"
|
|
ElseIf i = 6 Then '//쎼떄깐뼊(쪠외)
|
|
NewMyoun.건축부위방식 = "간벽"
|
|
ElseIf i = 7 Or i = 8 Then
|
|
NewMyoun.건축부위방식 = "외부창"
|
|
ElseIf i = 9 Or i = 10 Or i = 11 Or i = 12 Then
|
|
NewMyoun.건축부위방식 = "내부창"
|
|
End If
|
|
|
|
Dim 방위1 As String = FpSpread1_Sheet1.Cells(Row, 19 + (i * 2)).Value '//타이틀
|
|
방위1 = 방위1.ToString().Replace(vbLf, "").Replace(vbCr, "")
|
|
If 방위목록.IndexOf(방위1) = -1 Then
|
|
MsgBox(String.Format("{0}번줄 입력면-방위1({1})에 해당하는 데이터가 없습니다.", Row, 방위1))
|
|
Return
|
|
End If
|
|
NewMyoun.방위 = 방위1
|
|
NewMyoun.건축부위면적 = FpSpread1_Sheet1.Cells(Row, 20 + (i * 2)).Value
|
|
DSET1.tbl_myoun.Addtbl_myounRow(NewMyoun)
|
|
Next
|
|
|
|
'//지붕 (45)
|
|
Dim NewM지붕 As DS.tbl_myounRow = DSET1.tbl_myoun.Newtbl_myounRow
|
|
NewM지붕.존분류 = DrZone.code
|
|
NewM지붕.code = String.Format("{0:00000}", 14)
|
|
NewM지붕.sortkey = NewM지붕.code
|
|
NewM지붕.방위 = "수평"
|
|
NewM지붕.건축부위방식 = "외벽"
|
|
NewM지붕.건축부위면적 = FpSpread1_Sheet1.Cells(Row, 45).Value
|
|
DSET1.tbl_myoun.Addtbl_myounRow(NewM지붕)
|
|
|
|
'//바닥 (46)
|
|
Dim NewM바닥 As DS.tbl_myounRow = DSET1.tbl_myoun.Newtbl_myounRow
|
|
NewM바닥.존분류 = DrZone.code
|
|
NewM바닥.code = String.Format("{0:00000}", 15)
|
|
NewM바닥.sortkey = NewM지붕.code
|
|
NewM바닥.방위 = "일사없음"
|
|
NewM바닥.건축부위방식 = "외벽"
|
|
NewM바닥.건축부위면적 = FpSpread1_Sheet1.Cells(Row, 46).Value
|
|
DSET1.tbl_myoun.Addtbl_myounRow(NewM바닥)
|
|
|
|
'//공조처리
|
|
DSET1.tbl_kongjo.Clear()
|
|
Dim New공조 As DS.tbl_kongjoRow = DSET1.tbl_kongjo.Newtbl_kongjoRow
|
|
New공조.code = "00001"
|
|
New공조.팬효율산출방식 = "계산치"
|
|
New공조.설명 = "공조기기"
|
|
New공조.설정치난방 = "0"
|
|
New공조.설정치냉방 = "0"
|
|
New공조.최대풍량 = "0"
|
|
|
|
New공조.리턴공기혼합여부 = "아니오"
|
|
New공조.가습기유형 = "(없음)"
|
|
New공조.외기냉방제어유무 = "무"
|
|
New공조.열교환기유형 = "(없음)"
|
|
|
|
New공조.열회수율 = "0"
|
|
New공조.열회수율냉 = "공조기기"
|
|
New공조.급기풍량 = "0"
|
|
New공조.배기풍량 = "0"
|
|
New공조.급기팬동력 = "0"
|
|
New공조.배기팬동력 = "0"
|
|
New공조.총압력손실급기팬 = "0"
|
|
New공조.총압력손실배기팬 = "0"
|
|
New공조.총효율급기팬 = "0"
|
|
New공조.총효율배기팬 = "0"
|
|
|
|
|
|
Dim 공조방식 As String = FpSpread1_Sheet1.Cells(Row, 47).Value
|
|
If 공조방식 = "없음" Then 공조방식 = "(없음)"
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1026' and name = '{0}'", 공조방식))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 공조처리-공조방식({1})에 해당하는 데이터가 {2}건 있습니다", Row, 공조방식, Drows.Length))
|
|
Return
|
|
End If
|
|
New공조.공조방식 = Drows(0)("name")
|
|
DSET1.tbl_kongjo.Addtbl_kongjoRow(New공조)
|
|
|
|
'//난방기기
|
|
DSET1.tbl_nanbangkiki.Clear()
|
|
ColIDX = 48
|
|
|
|
|
|
Dim New난방 As DS.tbl_nanbangkikiRow = DSET1.tbl_nanbangkiki.Newtbl_nanbangkikiRow
|
|
New난방.code = "00001"
|
|
New난방.설명 = "보일러"
|
|
New난방.신재생연결여부 = "연결없음"
|
|
New난방.보일러대수 = "1"
|
|
|
|
Dim 난방_열생산기기방식 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1020' and name = '{0}'", 난방_열생산기기방식))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 난방기기-열생산기기방식({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방_열생산기기방식, Drows.Length))
|
|
Return
|
|
End If
|
|
New난방.열생산기기방식 = Drows(0)("name")
|
|
|
|
Dim 난방_사용연료 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1021' and name = '{0}'", 난방_사용연료))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 난방기기-사용연료({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방_사용연료, Drows.Length))
|
|
Return
|
|
End If
|
|
New난방.사용연료 = Drows(0)("name")
|
|
|
|
New난방.보일러정격출력 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
New난방.급수온도 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
New난방.환수온도 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
|
|
Dim 난방생산기기운전방식 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1035' and name = '{0}'", 난방생산기기운전방식))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 난방기기-난방생산기기운전방식({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방생산기기운전방식, Drows.Length))
|
|
Return
|
|
End If
|
|
New난방.운전방식 = Drows(0)("name")
|
|
|
|
|
|
Dim 난방_열원기기_보일러방식 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
If 난방_열원기기_보일러방식.IndexOf("보일러") = -1 Then 난방_열원기기_보일러방식 += "보일러"
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1036' and name = '{0}'", 난방_열원기기_보일러방식))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 난방기기-열원기기_보일러방식({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방_열원기기_보일러방식, Drows.Length))
|
|
Return
|
|
End If
|
|
New난방.보일러방식 = Drows(0)("name")
|
|
New난방.정격보일러효율 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
|
|
Dim 난방_축열탱크방식 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1039' and name = '{0}'", 난방_축열탱크방식))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 난방기기-급탕축열탱크방식({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방_축열탱크방식, Drows.Length))
|
|
Return
|
|
End If
|
|
New난방.축열탱크방식 = Drows(0)("name")
|
|
|
|
|
|
Dim 난방_급탕_시스템방식 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1042' and name = '{0}'", 난방_급탕_시스템방식))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 난방기기-급탕_시스템방식({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방_급탕_시스템방식, Drows.Length))
|
|
Return
|
|
End If
|
|
New난방.분배시스템방식 = Drows(0)("name")
|
|
|
|
'//입력존에서 열생산기기 급탕이 연결되지 않았다.
|
|
'//순환무우를 비롯 급탕기기를 사용하려면 급탕기기가 연결되어야한다.
|
|
Dim 난방_급탕_순환유무 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1032' and name = '{0}'", 난방_급탕_순환유무))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 난방기기-급탕_순환유무({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방_급탕_순환유무, Drows.Length))
|
|
Return
|
|
End If
|
|
New난방.순환유무 = Drows(0)("name")
|
|
|
|
|
|
Dim 난방_급탕_펌프제어 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1043' and name = '{0}'", 난방_급탕_펌프제어))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 난방기기-급탕_펌프제어({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방_급탕_펌프제어, Drows.Length))
|
|
Return
|
|
End If
|
|
New난방.펌프제어 = Drows(0)("name")
|
|
New난방.펌프동력급탕 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
|
|
Dim 난방_배관망유형 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1040' and name = '{0}'", 난방_배관망유형))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 난방기기-배관망유형({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방_배관망유형, Drows.Length))
|
|
Return
|
|
End If
|
|
New난방.배관망유형 = Drows(0)("name")
|
|
|
|
Dim 난방_펌프감소계수 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1002' and name = '{0}'", 난방_펌프감소계수))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 난방기기-펌프감소계수({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방_펌프감소계수, Drows.Length))
|
|
Return
|
|
End If
|
|
New난방.펌프교정계수 = Drows(0)("name")
|
|
|
|
|
|
Dim 난방_펌프제어유형 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1041' and name = '{0}'", 난방_펌프제어유형))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 난방기기-펌프제어유형({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방_펌프제어유형, Drows.Length))
|
|
Return
|
|
End If
|
|
New난방.펌프제어유형 = Drows(0)("name")
|
|
New난방.펌프동력급탕 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
DSET1.tbl_nanbangkiki.Addtbl_nanbangkikiRow(New난방)
|
|
|
|
'//난방공급시스템
|
|
DSET1.tbl_kongkub.Clear()
|
|
Dim New공급 As DS.tbl_kongkubRow = DSET1.tbl_kongkub.Newtbl_kongkubRow
|
|
New공급.code = "00001"
|
|
New공급.설명 = "난방공급"
|
|
New공급.제어기의정격전력 = "0"
|
|
New공급.팬송풍기정격전력 = "0"
|
|
New공급.펌프정격전력 = "0"
|
|
New공급.팬송풍기수 = "0"
|
|
New공급.추가펌프수 = "0"
|
|
|
|
Dim 난방공급시스템 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1045' and name = '{0}'", 난방공급시스템))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 난방공급-시스템({1})에 해당하는 데이터가 {2}건 있습니다", Row, 난방공급시스템, Drows.Length))
|
|
Return
|
|
End If
|
|
New공급.열공급시스템 = Drows(0)("name")
|
|
|
|
Dim 열공급생산기기 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
Drows = DSET1.tbl_nanbangkiki.Select(String.Format("설명 = '{0}'", 열공급생산기기))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 난방공급-열공급생산시기({1})에 해당하는 데이터가 {2}건 있습니다", Row, 열공급생산기기, Drows.Length))
|
|
Return
|
|
End If
|
|
New공급.열공급생산기기 = Drows(0)("code")
|
|
|
|
Dim 바닥난방열제어 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1033' and name = '{0}'", 바닥난방열제어))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 난방공급-바닥난방열제어({1})에 해당하는 데이터가 {2}건 있습니다", Row, 바닥난방열제어, Drows.Length))
|
|
Return
|
|
End If
|
|
New공급.바닥난방열제어 = Drows(0)("name")
|
|
|
|
Dim 바닥난방열건축부위 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1034' and name = '{0}'", 바닥난방열건축부위))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 난방공급-바닥난방열건축부위({1})에 해당하는 데이터가 {2}건 있습니다", Row, 바닥난방열건축부위, Drows.Length))
|
|
Return
|
|
End If
|
|
New공급.바닥난방열건축부위 = Drows(0)("name")
|
|
DSET1.tbl_kongkub.Addtbl_kongkubRow(New공급)
|
|
|
|
'//냉방기기
|
|
DSET1.tbl_nangbangkiki.Clear()
|
|
Dim New냉방 As DS.tbl_nangbangkikiRow = DSET1.tbl_nangbangkiki.Newtbl_nangbangkikiRow
|
|
New냉방.code = "00001"
|
|
New냉방.설명 = "냉방기기"
|
|
New냉방.신재생연결여부 = "연결없음"
|
|
|
|
Dim 냉동기방식 As String = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
If 냉동기방식 = "없음" Then 냉동기방식 = "(없음)"
|
|
Drows = DSET1.tbl_common.Select(String.Format("gubun='1046' and name = '{0}'", 냉동기방식))
|
|
If Drows.Length <> 1 Then
|
|
MsgBox(String.Format("{0}번줄 냉방기기-냉동기방식({1})에 해당하는 데이터가 {2}건 있습니다", Row, 냉동기방식, Drows.Length))
|
|
Return
|
|
End If
|
|
New냉방.냉동기방식 = Drows(0)("name")
|
|
New냉방.냉동기용량 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
New냉방.열성능비 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value : ColIDX += 1
|
|
If Not IsNumeric(New냉방.냉동기용량) Then New냉방.냉동기용량 = "0"
|
|
If Not IsNumeric(New냉방.열성능비) Then New냉방.열성능비 = "0"
|
|
DSET1.tbl_nangbangkiki.Addtbl_nangbangkikiRow(New냉방)
|
|
|
|
'//열관류율
|
|
'//면형태를 입력해야함 이것은 공용코드 1088에 들어있으며 코드형태로 들어간다
|
|
'//외벽(벽체),외벽(지붕),외벽(바닥),내벽(벽체),내벽(지붕),내벽(바닥),간벽,외부창,내부창,지중벽
|
|
DSET1.tbl_yk.Clear()
|
|
|
|
'//직접면하는
|
|
For Each dr면 As DS.tbl_myounRow In DSET1.tbl_myoun.Select("건축부위방식='외벽'")
|
|
dr면.열관류율 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value
|
|
Next : ColIDX += 1
|
|
|
|
'//간접면하는
|
|
For Each dr면 As DS.tbl_myounRow In DSET1.tbl_myoun.Select("건축부위방식='내벽'")
|
|
dr면.열관류율 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value
|
|
Next : ColIDX += 1
|
|
|
|
'//바닥
|
|
For Each dr면 As DS.tbl_myounRow In DSET1.tbl_myoun.Select("건축부위방식='외벽' and 방위='일사없음'") '//2018.04.24 수정
|
|
dr면.열관류율 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value
|
|
Next : ColIDX += 1
|
|
|
|
'//지붕벽체
|
|
For Each dr면 As DS.tbl_myounRow In DSET1.tbl_myoun.Select("건축부위방식='외벽' and 방위='수평'") '//2018.04.24 수정
|
|
dr면.열관류율 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value
|
|
Next : ColIDX += 1
|
|
|
|
'//현관문
|
|
For Each dr면 As DS.tbl_myounRow In DSET1.tbl_myoun.Select("건축부위방식='내부창' and 방위='일사없음'") '//2018.04.24 수정
|
|
dr면.투과율 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value
|
|
dr면.열관류율 = FpSpread1_Sheet1.Cells(Row, ColIDX + 1).Value
|
|
Next : ColIDX += 2
|
|
|
|
'//확장창
|
|
For Each dr면 As DS.tbl_myounRow In DSET1.tbl_myoun.Select("건축부위방식='외부창'")
|
|
dr면.투과율 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value
|
|
dr면.열관류율 = FpSpread1_Sheet1.Cells(Row, ColIDX + 1).Value
|
|
Next : ColIDX += 2
|
|
|
|
'//세대창
|
|
For Each dr면 As DS.tbl_myounRow In DSET1.tbl_myoun.Select("건축부위방식='내부창' and 방위<>'일사없음'") '//2018.04.24 수정
|
|
dr면.투과율 = FpSpread1_Sheet1.Cells(Row, ColIDX).Value
|
|
dr면.열관류율 = FpSpread1_Sheet1.Cells(Row, ColIDX + 1).Value
|
|
Next : ColIDX += 2
|
|
|
|
'//입력면의 자료를 업데이트해준다.
|
|
|
|
|
|
DSET1.AcceptChanges()
|
|
|
|
'//계산실행
|
|
Run_Calc(Row)
|
|
Next
|
|
|
|
If Not msgf Is Nothing Then
|
|
msgf.Close()
|
|
msgf.Dispose()
|
|
msgf = Nothing
|
|
End If
|
|
|
|
If StartNo = EndNo Then
|
|
Report_그래프.Visible = False
|
|
Report_그래프.Show()
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Sub Run_Calc(Row As Integer)
|
|
|
|
'//현재데이터상태를 저장
|
|
DSET1.AcceptChanges()
|
|
DSETR1.AcceptChanges()
|
|
|
|
Dim Type As Calculator.ECalc = Calculator.ECalc.All '//요구량+소요량
|
|
Dim showmsg As String = "" '//추가표시메세지
|
|
Dim St As Date = Now '//계산시작
|
|
|
|
pLog.Add(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")
|
|
pLog.Add(String.Format("계산실행({0})", Type.ToString()))
|
|
pLog.Add(String.Format("시작시간 : {0}", St.ToString()))
|
|
pLog.Add("----------------------------------")
|
|
|
|
Dim Result As Boolean = Calc.Start(showmsg, Type, LogSB, 0)
|
|
Dim Ts As TimeSpan = Now - St '//계산경과시간을 표시해준다.
|
|
Dim calc_ok As Integer = 0
|
|
If Result Then '//파라미터 True 라면 소요량이 추가로 게산된다.
|
|
Calc.Summary.All()
|
|
If LogSB.ToString <> "" Then
|
|
FpSpread1_Sheet1.Cells(Row, 97).Value = LogSB.ToString
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, 97).Value = "시간:" + Ts.ToString()
|
|
calc_ok = 1 '================================2014.04.17 계산이 완료되면 그래프를 보여줌
|
|
End If
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, 97).Value = LogSB.ToString
|
|
End If
|
|
|
|
'//상태메세지창이 열려있다면 제거해준다.
|
|
|
|
If calc_ok = 1 Then
|
|
'//해당값을 기록한다.
|
|
Extract_Data(Row)
|
|
Else
|
|
'//빈값으로 기록을 한다.
|
|
Dim StartIDX As Integer = 100
|
|
For idx As Integer = StartIDX To StartIDX + 13
|
|
FpSpread1_Sheet1.Cells(Row, idx).Value = "--"
|
|
Next
|
|
End If
|
|
End Sub
|
|
|
|
Sub Extract_Data(Row As Integer)
|
|
Dim 신재생에너지 As Decimal
|
|
Dim 난방에너지 As Decimal
|
|
Dim 냉방에너지 As Decimal
|
|
Dim 급탕에너지 As Decimal
|
|
Dim 조명에너지 As Decimal
|
|
Dim 환기에너지 As Decimal
|
|
'Dim 합계 As Decimal
|
|
|
|
Dim BaseIndex As Integer = 90
|
|
Dim Dr2 As DSR.Graph_ReqUseRow
|
|
For Gubun As Short = 0 To 4
|
|
Select Case Gubun
|
|
Case 0 '//1차에너지소요량
|
|
|
|
Dim Sum As Decimal = (Result1.생산E(0).태양광전력생산량 + Result1.생산E(0).신재생열병합전력생산량) / (Result1.일차E소요량(0).난방전력 + Result1.일차E소요량(0).냉방전력 + Result1.일차E소요량(0).급탕전력 + Result1.일차E소요량(0).조명전력 + Result1.일차E소요량(0).환기전력)
|
|
|
|
Dim 난방 As Decimal = Sum * Result1.일차E소요량(0).난방전력 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
|
|
Dim 냉방 As Decimal = Sum * Result1.일차E소요량(0).냉방전력
|
|
Dim 조명 As Decimal = Sum * Result1.일차E소요량(0).조명전력
|
|
Dim 급탕 As Decimal = Sum * Result1.일차E소요량(0).급탕전력
|
|
Dim 환기 As Decimal = Sum * Result1.일차E소요량(0).환기전력
|
|
|
|
Dim 난방면적 As Decimal = 0
|
|
Dim 냉방면적 As Decimal = 0
|
|
Dim 조명면적 As Decimal = 0
|
|
Dim 급탕면적 As Decimal = 0
|
|
Dim 환기면적 As Decimal = 0
|
|
If Result1.사용면적.H <> 0 Then
|
|
난방면적 = TOSG(IIf(난방 = 0, 0, 난방 / Result1.사용면적.H))
|
|
End If
|
|
If Result1.사용면적.C <> 0 Then
|
|
냉방면적 = TOSG(IIf(냉방 = 0, 0, 냉방 / Result1.사용면적.C))
|
|
End If
|
|
If Result1.사용면적.L <> 0 Then
|
|
조명면적 = TOSG(IIf(조명 = 0, 0, 조명 / Result1.사용면적.L))
|
|
End If
|
|
If Result1.사용면적.W <> 0 Then
|
|
급탕면적 = TOSG(IIf(급탕 = 0, 0, 급탕 / Result1.사용면적.W))
|
|
End If
|
|
If Result1.사용면적.V <> 0 Then
|
|
환기면적 = TOSG(IIf(환기 = 0, 0, 환기 / Result1.사용면적.V))
|
|
End If
|
|
|
|
Dim 전기 As Decimal = 난방면적 + 냉방면적 + 조명면적 + 급탕면적 + 환기면적
|
|
|
|
'//열병합신재생에너지추가 130831 arin
|
|
신재생에너지 = -1 * (Result1.생산E(0).면적당생산량태양열 + Result1.생산E(0).신재생면적당열생산량 + Result1.생산E(0).면적당생산량지열 + 전기 * 2.75)
|
|
|
|
'//1차에너지소요량
|
|
난방에너지 = Result1.일차E소요량(0).난방면적
|
|
냉방에너지 = Result1.일차E소요량(0).냉방면적
|
|
급탕에너지 = Result1.일차E소요량(0).급탕면적
|
|
조명에너지 = Result1.일차E소요량(0).조명면적
|
|
환기에너지 = Result1.일차E소요량(0).환기면적
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex).Value = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex + 8).Value = 난방에너지
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex + 9).Value = 냉방에너지
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex + 10).Value = 급탕에너지
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex + 11).Value = 조명에너지
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex + 12).Value = 환기에너지
|
|
|
|
Case 1 '//에너지소요량
|
|
|
|
Dim Sum As Decimal = (Result1.생산E(0).태양광전력생산량 + Result1.생산E(0).신재생열병합전력생산량) / (Result1.일차E소요량(0).난방전력 + Result1.일차E소요량(0).냉방전력 + Result1.일차E소요량(0).급탕전력 + Result1.일차E소요량(0).조명전력 + Result1.일차E소요량(0).환기전력)
|
|
|
|
Dim 난방 As Decimal = Sum * Result1.일차E소요량(0).난방전력 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
|
|
Dim 냉방 As Decimal = Sum * Result1.일차E소요량(0).냉방전력
|
|
Dim 조명 As Decimal = Sum * Result1.일차E소요량(0).조명전력
|
|
Dim 급탕 As Decimal = Sum * Result1.일차E소요량(0).급탕전력
|
|
Dim 환기 As Decimal = Sum * Result1.일차E소요량(0).환기전력
|
|
|
|
Dim 난방면적 As Decimal = 0
|
|
Dim 냉방면적 As Decimal = 0
|
|
Dim 조명면적 As Decimal = 0
|
|
Dim 급탕면적 As Decimal = 0
|
|
Dim 환기면적 As Decimal = 0
|
|
If Result1.사용면적.H <> 0 Then
|
|
난방면적 = TOSG(IIf(난방 = 0, 0, 난방 / Result1.사용면적.H))
|
|
End If
|
|
If Result1.사용면적.C <> 0 Then
|
|
냉방면적 = TOSG(IIf(냉방 = 0, 0, 냉방 / Result1.사용면적.C))
|
|
End If
|
|
If Result1.사용면적.L <> 0 Then
|
|
조명면적 = TOSG(IIf(조명 = 0, 0, 조명 / Result1.사용면적.L))
|
|
End If
|
|
If Result1.사용면적.W <> 0 Then
|
|
급탕면적 = TOSG(IIf(급탕 = 0, 0, 급탕 / Result1.사용면적.W))
|
|
End If
|
|
If Result1.사용면적.V <> 0 Then
|
|
환기면적 = TOSG(IIf(환기 = 0, 0, 환기 / Result1.사용면적.V))
|
|
End If
|
|
|
|
Dim 면적 As Decimal = 난방면적 + 냉방면적 + 조명면적 + 급탕면적 + 환기면적
|
|
|
|
'//열병합신재생에너지추가 130831 arin
|
|
신재생에너지 = -1 * (Result1.생산E(0).면적당생산량태양열 + Result1.생산E(0).신재생면적당열생산량 + Result1.생산E(0).면적당생산량지열) - 면적
|
|
난방에너지 = Result1.E소요량(0).난방면적
|
|
냉방에너지 = Result1.E소요량(0).냉방면적
|
|
급탕에너지 = Result1.E소요량(0).급탕면적
|
|
조명에너지 = Result1.E소요량(0).조명면적
|
|
환기에너지 = Result1.E소요량(0).환기면적
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex - 1).Value = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
|
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex - 8).Value = 난방에너지
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex - 7).Value = 냉방에너지
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex - 6).Value = 급탕에너지
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex - 5).Value = 조명에너지
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex - 4).Value = 환기에너지
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex - 3).Value = 신재생에너지
|
|
|
|
|
|
Case 2 '//에너지요구량
|
|
|
|
신재생에너지 = 0
|
|
난방에너지 = Result1.E요구량(0).난방면적
|
|
냉방에너지 = Result1.E요구량(0).냉방면적
|
|
급탕에너지 = Result1.E요구량(0).급탕면적
|
|
조명에너지 = Result1.E요구량(0).조명면적
|
|
환기에너지 = 0
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex - 2).Value = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex + 3).Value = 난방에너지
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex + 4).Value = 냉방에너지
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex + 5).Value = 급탕에너지
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex + 6).Value = 조명에너지
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex + 7).Value = 환기에너지
|
|
|
|
Case 3 '//co2발생량
|
|
|
|
신재생에너지 = 0
|
|
난방에너지 = Result1.Co2발생량(0).난방면적
|
|
냉방에너지 = Result1.Co2발생량(0).냉방면적
|
|
급탕에너지 = Result1.Co2발생량(0).급탕면적
|
|
조명에너지 = Result1.Co2발생량(0).조명면적
|
|
환기에너지 = Result1.Co2발생량(0).환기면적
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex + 1).Value = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
|
|
|
Case 4 '//1차에너지소요량(+계수) + 131020
|
|
|
|
신재생에너지 = 0
|
|
If (Result1.사용면적.H_WF = 0) Then
|
|
난방에너지 = 0
|
|
Else
|
|
난방에너지 = Result1.일차E소요량(0).난방면적2 * Result1.사용면적.H / Result1.사용면적.H_WF
|
|
End If
|
|
If (Result1.사용면적.C_WF = 0) Then
|
|
냉방에너지 = 0
|
|
Else
|
|
냉방에너지 = TOSG(Result1.일차E소요량(0).냉방면적 * Result1.사용면적.C / Result1.사용면적.C_WF)
|
|
End If
|
|
If (Result1.사용면적.W_WF = 0) Then
|
|
급탕에너지 = 0
|
|
Else
|
|
급탕에너지 = Result1.일차E소요량(0).급탕면적2 * Result1.사용면적.W / Result1.사용면적.W_WF
|
|
End If
|
|
If (Result1.사용면적.L_WF = 0) Then
|
|
조명에너지 = 0
|
|
Else
|
|
조명에너지 = Result1.일차E소요량(0).조명면적 * Result1.사용면적.L / Result1.사용면적.L_WF
|
|
End If
|
|
If (Result1.사용면적.V_WF = 0) Then
|
|
환기에너지 = 0
|
|
Else
|
|
환기에너지 = Result1.일차E소요량(0).환기면적 * Result1.사용면적.V / Result1.사용면적.V_WF
|
|
End If
|
|
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex + 2).Value = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
|
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex + 13).Value = 난방에너지
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex + 14).Value = 냉방에너지
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex + 15).Value = 급탕에너지
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex + 16).Value = 조명에너지
|
|
FpSpread1_Sheet1.Cells(Row, BaseIndex + 17).Value = 환기에너지
|
|
|
|
|
|
End Select
|
|
Next
|
|
End Sub
|
|
End Class |