909 lines
45 KiB
VB.net
909 lines
45 KiB
VB.net
Public Class Frm_Macro
|
|
|
|
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 100
|
|
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
|
|
|
|
Function 방위변환(기존값 As String, 옵셋 As String) As String
|
|
Dim 최종값 As String = 기존값
|
|
Select Case 옵셋
|
|
Case "0도"
|
|
Select Case 기존값
|
|
Case "동"
|
|
Case "서"
|
|
Case "남"
|
|
Case "북"
|
|
End Select
|
|
Case "90도"
|
|
Select Case 기존값
|
|
Case "동"
|
|
최종값 = "남"
|
|
Case "서"
|
|
최종값 = "북"
|
|
Case "남"
|
|
최종값 = "서"
|
|
Case "북"
|
|
최종값 = "동"
|
|
Case "남동"
|
|
최종값 = "남서"
|
|
Case "남서"
|
|
최종값 = "북서"
|
|
Case "북동"
|
|
최종값 = "남동"
|
|
Case "북서"
|
|
최종값 = "북동"
|
|
End Select
|
|
Case "180도"
|
|
Select Case 기존값
|
|
Case "동"
|
|
최종값 = "서"
|
|
Case "서"
|
|
최종값 = "동"
|
|
Case "남"
|
|
최종값 = "북"
|
|
Case "북"
|
|
최종값 = "남"
|
|
Case "남동"
|
|
최종값 = "북서"
|
|
Case "남서"
|
|
최종값 = "북동"
|
|
Case "북동"
|
|
최종값 = "남서"
|
|
Case "북서"
|
|
최종값 = "남동"
|
|
End Select
|
|
Case "270도"
|
|
Select Case 기존값
|
|
Case "동"
|
|
최종값 = "북"
|
|
Case "서"
|
|
최종값 = "남"
|
|
Case "남"
|
|
최종값 = "동"
|
|
Case "북"
|
|
최종값 = "서"
|
|
Case "남동"
|
|
최종값 = "북동"
|
|
Case "남서"
|
|
최종값 = "남동"
|
|
Case "북동"
|
|
최종값 = "북서"
|
|
Case "북서"
|
|
최종값 = "남서"
|
|
End Select
|
|
End Select
|
|
Return 최종값
|
|
End Function
|
|
|
|
Function 공용코드값(구분 As String, 코드 As String) As String
|
|
|
|
Dim 결과 As String = 코드
|
|
Dim datas As DS.tbl_commonRow() = DSET1.tbl_common.Select("gubun='" + 구분 + "' and code='" + 코드 + "'")
|
|
If datas.Length = 1 Then
|
|
결과 = datas(0).name
|
|
End If
|
|
Return 결과
|
|
End Function
|
|
|
|
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)
|
|
Dim 회전방향 As String = FpSpread1_Sheet1.Cells(Row, 2).Value.ToString()
|
|
For i As Integer = 0 To DSET1.tbl_myoun.Rows.Count - 1
|
|
Dim dr As DS.tbl_myounRow = DSET1.tbl_myoun.Rows(i)
|
|
dr.방위 = 방위변환(dr.방위, 회전방향)
|
|
dr.EndEdit()
|
|
Next
|
|
|
|
Dim 열관외벽직접 As String = FpSpread1_Sheet1.Cells(Row, 3).Value.ToString()
|
|
For i As Integer = 0 To DSET1.tbl_yk.Rows.Count - 1
|
|
Dim dr As DS.tbl_ykRow = DSET1.tbl_yk.Rows(i)
|
|
If 공용코드값("1088", dr.면형태) <> "외벽(벽체)" Then Continue For
|
|
dr.열관류율 = 열관외벽직접
|
|
dr.EndEdit()
|
|
Next
|
|
Dim 열관외벽간접 As String = FpSpread1_Sheet1.Cells(Row, 4).Value.ToString()
|
|
For i As Integer = 0 To DSET1.tbl_yk.Rows.Count - 1
|
|
Dim dr As DS.tbl_ykRow = DSET1.tbl_yk.Rows(i)
|
|
If 공용코드값("1088", dr.면형태) <> "내벽(벽체)" Then Continue For
|
|
dr.열관류율 = 열관외벽간접
|
|
dr.EndEdit()
|
|
Next
|
|
Dim 열관지붕직접 As String = FpSpread1_Sheet1.Cells(Row, 5).Value.ToString()
|
|
For i As Integer = 0 To DSET1.tbl_yk.Rows.Count - 1
|
|
Dim dr As DS.tbl_ykRow = DSET1.tbl_yk.Rows(i)
|
|
If 공용코드값("1088", dr.면형태) <> "외벽(지붕)" Then Continue For
|
|
dr.열관류율 = 열관지붕직접
|
|
dr.EndEdit()
|
|
Next
|
|
Dim 열관지붕간접 As String = FpSpread1_Sheet1.Cells(Row, 6).Value.ToString()
|
|
For i As Integer = 0 To DSET1.tbl_yk.Rows.Count - 1
|
|
Dim dr As DS.tbl_ykRow = DSET1.tbl_yk.Rows(i)
|
|
If 공용코드값("1088", dr.면형태) <> "내벽(지붕)" Then Continue For
|
|
dr.열관류율 = 열관지붕간접
|
|
dr.EndEdit()
|
|
Next
|
|
|
|
Dim 열관바닥직접 As String = FpSpread1_Sheet1.Cells(Row, 7).Value.ToString()
|
|
For i As Integer = 0 To DSET1.tbl_yk.Rows.Count - 1
|
|
Dim dr As DS.tbl_ykRow = DSET1.tbl_yk.Rows(i)
|
|
If 공용코드값("1088", dr.면형태) <> "외벽(바닥)" Then Continue For
|
|
dr.열관류율 = 열관바닥직접
|
|
dr.EndEdit()
|
|
Next
|
|
Dim 열관바닥간접 As String = FpSpread1_Sheet1.Cells(Row, 8).Value.ToString()
|
|
For i As Integer = 0 To DSET1.tbl_yk.Rows.Count - 1
|
|
Dim dr As DS.tbl_ykRow = DSET1.tbl_yk.Rows(i)
|
|
If 공용코드값("1088", dr.면형태) <> "내벽(바닥)" Then Continue For
|
|
dr.열관류율 = 열관바닥간접
|
|
dr.EndEdit()
|
|
Next
|
|
Dim 열관외부창 As String = FpSpread1_Sheet1.Cells(Row, 9).Value.ToString()
|
|
Dim 일사에너지투과율외부창 As String = FpSpread1_Sheet1.Cells(Row, 11).Value.ToString()
|
|
|
|
For i As Integer = 0 To DSET1.tbl_yk.Rows.Count - 1
|
|
Dim dr As DS.tbl_ykRow = DSET1.tbl_yk.Rows(i)
|
|
If 공용코드값("1088", dr.면형태) <> "외부창" Then Continue For
|
|
dr.열관류율 = 열관외부창
|
|
dr.일사에너지투과율 = 일사에너지투과율외부창
|
|
dr.EndEdit()
|
|
Next
|
|
Dim 열관내부창 As String = FpSpread1_Sheet1.Cells(Row, 10).Value.ToString()
|
|
For i As Integer = 0 To DSET1.tbl_yk.Rows.Count - 1
|
|
Dim dr As DS.tbl_ykRow = DSET1.tbl_yk.Rows(i)
|
|
If 공용코드값("1088", dr.면형태) <> "내부창" Then Continue For
|
|
dr.열관류율 = 열관내부창
|
|
dr.EndEdit()
|
|
Next
|
|
|
|
Dim 난방히트펌프난방cop7 As String = FpSpread1_Sheet1.Cells(Row, 12).Value.ToString()
|
|
For i As Integer = 0 To DSET1.tbl_nanbangkiki.Rows.Count - 1
|
|
Dim dr As DS.tbl_nanbangkikiRow = DSET1.tbl_nanbangkiki.Rows(i)
|
|
dr.히트난방정격7 = 난방히트펌프난방cop7
|
|
dr.EndEdit()
|
|
Next
|
|
Dim 난방히트펌프난방cop15 As String = FpSpread1_Sheet1.Cells(Row, 13).Value.ToString()
|
|
For i As Integer = 0 To DSET1.tbl_nanbangkiki.Rows.Count - 1
|
|
Dim dr As DS.tbl_nanbangkikiRow = DSET1.tbl_nanbangkiki.Rows(i)
|
|
dr.히트난방정격10 = 난방히트펌프난방cop15
|
|
dr.EndEdit()
|
|
Next
|
|
Dim 냉방열성능비cop As String = FpSpread1_Sheet1.Cells(Row, 14).Value.ToString()
|
|
For i As Integer = 0 To DSET1.tbl_nangbangkiki.Rows.Count - 1
|
|
Dim dr As DS.tbl_nangbangkikiRow = DSET1.tbl_nangbangkiki.Rows(i)
|
|
dr.열성능비 = 냉방열성능비cop
|
|
dr.EndEdit()
|
|
Next
|
|
|
|
Dim 조명에너지부하율 As String = FpSpread1_Sheet1.Cells(Row, 15).Value.ToString()
|
|
For i As Integer = 0 To DSET1.tbl_zone.Rows.Count - 1
|
|
Dim dr As DS.tbl_zoneRow = DSET1.tbl_zone.Rows(i)
|
|
Dim 프로필코드 As String = dr.프로필
|
|
Dim 프로필목록 As DS.tbl_profileRow() = DSET1.tbl_profile.Select("code='" + dr.프로필 + "'")
|
|
If 프로필목록.Length = 1 AndAlso 프로필목록(0).설명.StartsWith("07") Then
|
|
dr.조명에너지부하율입력치 = 조명에너지부하율
|
|
dr.EndEdit()
|
|
End If
|
|
Next
|
|
|
|
Dim 신재생모듈면적 As String = FpSpread1_Sheet1.Cells(Row, 16).Value.ToString()
|
|
Dim 신재생모듈효율 As String = FpSpread1_Sheet1.Cells(Row, 17).Value.ToString()
|
|
|
|
For i As Integer = 0 To DSET1.tbl_new.Rows.Count - 1
|
|
Dim dr As DS.tbl_newRow = DSET1.tbl_new.Rows(i)
|
|
dr.태양광모듈면적 = 신재생모듈면적
|
|
dr.태양광모듈효율 = 신재생모듈효율
|
|
dr.EndEdit()
|
|
Next
|
|
|
|
|
|
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 = 1
|
|
If Result Then '//파라미터 True 라면 소요량이 추가로 게산된다.
|
|
Calc.Summary.All()
|
|
If LogSB.ToString <> "" Then
|
|
FpSpread1_Sheet1.Cells(Row, 18).Value = LogSB.ToString
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, 18).Value = "시간:" + Ts.ToString()
|
|
calc_ok = 1 '================================2014.04.17 계산이 완료되면 그래프를 보여줌
|
|
End If
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, 18).Value = LogSB.ToString
|
|
End If
|
|
|
|
'//상태메세지창이 열려있다면 제거해준다.
|
|
|
|
If calc_ok = 1 Then
|
|
'//해당값을 기록한다.
|
|
Extract_Data(Row - 1)
|
|
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)
|
|
|
|
'//2번째 시트에 데이터 기록
|
|
Dim sheet As FarPoint.Win.Spread.SheetView = Me.FpSpread1.Sheets(1)
|
|
|
|
Dim 신재생에너지 As Decimal = 0
|
|
Dim 난방에너지 As Decimal = 0
|
|
Dim 냉방에너지 As Decimal = 0
|
|
Dim 급탕에너지 As Decimal = 0
|
|
Dim 조명에너지 As Decimal = 0
|
|
Dim 환기에너지 As Decimal = 0
|
|
|
|
Dim 난방 As Decimal = 0 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
|
|
Dim 냉방 As Decimal = 0
|
|
Dim 조명 As Decimal = 0
|
|
Dim 급탕 As Decimal = 0
|
|
Dim 환기 As Decimal = 0
|
|
|
|
Dim 난방면적 As Decimal = 0
|
|
Dim 냉방면적 As Decimal = 0
|
|
Dim 조명면적 As Decimal = 0
|
|
Dim 급탕면적 As Decimal = 0
|
|
Dim 환기면적 As Decimal = 0
|
|
|
|
Dim Sum As Decimal = 0
|
|
Dim 전기 As Decimal = 0
|
|
Dim BaseIndex As Integer = 0
|
|
Dim Dr2 As DSR.Graph_ReqUseRow
|
|
For Gubun As Short = 0 To 4
|
|
Select Case Gubun
|
|
Case 0 '//1차에너지소요량
|
|
|
|
Sum = (Result1.생산E(0).태양광전력생산량 + Result1.생산E(0).신재생열병합전력생산량) / (Result1.일차E소요량(0).난방전력 + Result1.일차E소요량(0).냉방전력 + Result1.일차E소요량(0).급탕전력 + Result1.일차E소요량(0).조명전력 + Result1.일차E소요량(0).환기전력)
|
|
|
|
난방 = Sum * Result1.일차E소요량(0).난방전력 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
|
|
냉방 = Sum * Result1.일차E소요량(0).냉방전력
|
|
조명 = Sum * Result1.일차E소요량(0).조명전력
|
|
급탕 = Sum * Result1.일차E소요량(0).급탕전력
|
|
환기 = Sum * Result1.일차E소요량(0).환기전력
|
|
|
|
난방면적 = 0
|
|
냉방면적 = 0
|
|
조명면적 = 0
|
|
급탕면적 = 0
|
|
환기면적 = 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
|
|
|
|
전기 = 난방면적 + 냉방면적 + 조명면적 + 급탕면적 + 환기면적
|
|
|
|
'//열병합신재생에너지추가 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).환기면적
|
|
|
|
sheet.Cells(Row, BaseIndex + 14).Value = 난방에너지
|
|
sheet.Cells(Row, BaseIndex + 15).Value = 냉방에너지
|
|
sheet.Cells(Row, BaseIndex + 16).Value = 급탕에너지
|
|
sheet.Cells(Row, BaseIndex + 17).Value = 조명에너지
|
|
sheet.Cells(Row, BaseIndex + 18).Value = 환기에너지
|
|
sheet.Cells(Row, BaseIndex + 19).Value = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
|
|
|
Case 1 '//에너지소요량
|
|
|
|
Sum = (Result1.생산E(0).태양광전력생산량 + Result1.생산E(0).신재생열병합전력생산량) / (Result1.일차E소요량(0).난방전력 + Result1.일차E소요량(0).냉방전력 + Result1.일차E소요량(0).급탕전력 + Result1.일차E소요량(0).조명전력 + Result1.일차E소요량(0).환기전력)
|
|
|
|
난방 = Sum * Result1.일차E소요량(0).난방전력 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
|
|
냉방 = Sum * Result1.일차E소요량(0).냉방전력
|
|
조명 = Sum * Result1.일차E소요량(0).조명전력
|
|
급탕 = Sum * Result1.일차E소요량(0).급탕전력
|
|
환기 = Sum * Result1.일차E소요량(0).환기전력
|
|
|
|
난방면적 = 0
|
|
냉방면적 = 0
|
|
조명면적 = 0
|
|
급탕면적 = 0
|
|
환기면적 = 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 = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
|
|
|
sheet.Cells(Row, BaseIndex + 8).Value = 난방에너지
|
|
sheet.Cells(Row, BaseIndex + 9).Value = 냉방에너지
|
|
sheet.Cells(Row, BaseIndex + 10).Value = 급탕에너지
|
|
sheet.Cells(Row, BaseIndex + 11).Value = 조명에너지
|
|
sheet.Cells(Row, BaseIndex + 12).Value = 환기에너지
|
|
sheet.Cells(Row, BaseIndex + 13).Value = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
|
|
|
|
|
Case 2 '//에너지요구량
|
|
|
|
신재생에너지 = 0
|
|
난방에너지 = Result1.E요구량(0).난방면적
|
|
냉방에너지 = Result1.E요구량(0).냉방면적
|
|
급탕에너지 = Result1.E요구량(0).급탕면적
|
|
조명에너지 = Result1.E요구량(0).조명면적
|
|
환기에너지 = 0
|
|
|
|
sheet.Cells(Row, BaseIndex + 2).Value = 난방에너지
|
|
sheet.Cells(Row, BaseIndex + 3).Value = 냉방에너지
|
|
sheet.Cells(Row, BaseIndex + 4).Value = 급탕에너지
|
|
sheet.Cells(Row, BaseIndex + 5).Value = 조명에너지
|
|
sheet.Cells(Row, BaseIndex + 6).Value = 환기에너지
|
|
sheet.Cells(Row, BaseIndex + 7).Value = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
|
|
|
Case 3 '//co2발생량
|
|
|
|
신재생에너지 = 0
|
|
난방에너지 = Result1.Co2발생량(0).난방면적
|
|
냉방에너지 = Result1.Co2발생량(0).냉방면적
|
|
급탕에너지 = Result1.Co2발생량(0).급탕면적
|
|
조명에너지 = Result1.Co2발생량(0).조명면적
|
|
환기에너지 = Result1.Co2발생량(0).환기면적
|
|
'sheet.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
|
|
|
|
sheet.Cells(Row, BaseIndex + 20).Value = 난방에너지
|
|
sheet.Cells(Row, BaseIndex + 21).Value = 냉방에너지
|
|
sheet.Cells(Row, BaseIndex + 22).Value = 급탕에너지
|
|
sheet.Cells(Row, BaseIndex + 23).Value = 조명에너지
|
|
sheet.Cells(Row, BaseIndex + 24).Value = 환기에너지
|
|
sheet.Cells(Row, BaseIndex + 25).Value = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
|
|
|
|
|
End Select
|
|
Next
|
|
|
|
'//에너지생산량
|
|
Sum = (Result1.생산E(0).태양광전력생산량 + Result1.생산E(0).풍력전력생산량 + Result1.생산E(0).신재생열병합전력생산량) / (Result1.일차E소요량(0).난방전력 + Result1.일차E소요량(0).냉방전력 + Result1.일차E소요량(0).급탕전력 + Result1.일차E소요량(0).조명전력 + Result1.일차E소요량(0).환기전력)
|
|
Dim Sum_offsite As Decimal = (Result1.생산E(0).태양광전력생산량_offsite + Result1.생산E(0).풍력전력생산량_offsite + Result1.생산E(0).연료전지전력생산량_offsite) / (Result1.일차E소요량(0).난방전력 + Result1.일차E소요량(0).냉방전력 + Result1.일차E소요량(0).급탕전력 + Result1.일차E소요량(0).조명전력 + Result1.일차E소요량(0).환기전력)
|
|
난방 = Sum * Result1.일차E소요량(0).난방전력 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
|
|
냉방 = Sum * Result1.일차E소요량(0).냉방전력
|
|
조명 = Sum * Result1.일차E소요량(0).조명전력
|
|
급탕 = Sum * Result1.일차E소요량(0).급탕전력
|
|
환기 = Sum * Result1.일차E소요량(0).환기전력
|
|
|
|
Dim 난방_offsite As Decimal = Sum_offsite * Result1.일차E소요량(0).난방전력 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
|
|
Dim 냉방_offsite As Decimal = Sum_offsite * Result1.일차E소요량(0).냉방전력
|
|
Dim 조명_offsite As Decimal = Sum_offsite * Result1.일차E소요량(0).조명전력
|
|
Dim 급탕_offsite As Decimal = Sum_offsite * Result1.일차E소요량(0).급탕전력
|
|
Dim 환기_offsite As Decimal = Sum_offsite * Result1.일차E소요량(0).환기전력
|
|
|
|
|
|
난방면적 = 0
|
|
냉방면적 = 0
|
|
조명면적 = 0
|
|
급탕면적 = 0
|
|
환기면적 = 0
|
|
|
|
Dim 난방면적_offsite As Decimal = 0
|
|
Dim 냉방면적_offsite As Decimal = 0
|
|
Dim 조명면적_offsite As Decimal = 0
|
|
Dim 급탕면적_offsite As Decimal = 0
|
|
Dim 환기면적_offsite 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
|
|
|
|
If Result1.사용면적.H <> 0 Then
|
|
난방면적_offsite = TOSG(IIf(난방_offsite = 0, 0, 난방_offsite / Result1.사용면적.H))
|
|
End If
|
|
If Result1.사용면적.C <> 0 Then
|
|
냉방면적_offsite = TOSG(IIf(냉방_offsite = 0, 0, 냉방_offsite / Result1.사용면적.C))
|
|
End If
|
|
If Result1.사용면적.L <> 0 Then
|
|
조명면적_offsite = TOSG(IIf(조명_offsite = 0, 0, 조명_offsite / Result1.사용면적.L))
|
|
End If
|
|
If Result1.사용면적.W <> 0 Then
|
|
급탕면적_offsite = TOSG(IIf(급탕_offsite = 0, 0, 급탕_offsite / Result1.사용면적.W))
|
|
End If
|
|
If Result1.사용면적.V <> 0 Then
|
|
환기면적_offsite = TOSG(IIf(환기_offsite = 0, 0, 환기_offsite / Result1.사용면적.V))
|
|
End If
|
|
|
|
Dim 에너지생산량_난방 As Decimal = 난방면적 + 난방면적_offsite + _
|
|
Result1.생산E(0).면적당생산량태양열_난방 + _
|
|
Result1.생산E(0).면적당생산량수열_난방 + _
|
|
Result1.생산E(0).면적당생산량지열_난방 + _
|
|
Result1.생산E(0).신재생면적당열생산량_난방
|
|
|
|
Dim 에너지생산량_냉방 As Decimal = 냉방면적 + 냉방면적_offsite + _
|
|
Result1.생산E(0).면적당생산량태양열_냉방 + _
|
|
Result1.생산E(0).면적당생산량수열_냉방 + _
|
|
Result1.생산E(0).면적당생산량지열_냉방 + _
|
|
Result1.생산E(0).신재생면적당열생산량_냉방
|
|
|
|
Dim 에너지생산량_급탕 As Decimal = 급탕면적 + 급탕면적_offsite + _
|
|
Result1.생산E(0).면적당생산량태양열_급탕 + _
|
|
Result1.생산E(0).면적당생산량수열_급탕 + _
|
|
Result1.생산E(0).면적당생산량지열_급탕 + _
|
|
Result1.생산E(0).신재생면적당열생산량_급탕
|
|
|
|
sheet.Cells(Row, BaseIndex + 26).Value = 에너지생산량_난방
|
|
sheet.Cells(Row, BaseIndex + 27).Value = 에너지생산량_냉방
|
|
sheet.Cells(Row, BaseIndex + 28).Value = 에너지생산량_급탕
|
|
sheet.Cells(Row, BaseIndex + 29).Value = 조명면적 + 조명면적_offsite
|
|
sheet.Cells(Row, BaseIndex + 30).Value = 환기면적 + 환기면적_offsite
|
|
sheet.Cells(Row, BaseIndex + 31).Value = 에너지생산량_난방 + 에너지생산량_냉방 + 에너지생산량_급탕 + (조명면적 + 조명면적_offsite) + (환기면적 + 환기면적_offsite)
|
|
|
|
|
|
Dim multi As Decimal = 2.75
|
|
Dim 에너지생산량_난방_1차 As Decimal = (난방면적 + 난방면적_offsite) * multi + _
|
|
Result1.생산E(0).면적당생산량태양열_난방 + _
|
|
Result1.생산E(0).면적당생산량수열_난방 + _
|
|
Result1.생산E(0).면적당생산량지열_난방 + _
|
|
Result1.생산E(0).신재생면적당열생산량_난방
|
|
|
|
Dim 에너지생산량_냉방_1차 As Decimal = (냉방면적 + 냉방면적_offsite) * multi + _
|
|
Result1.생산E(0).면적당생산량태양열_냉방 + _
|
|
Result1.생산E(0).면적당생산량수열_냉방 + _
|
|
Result1.생산E(0).면적당생산량지열_냉방 + _
|
|
Result1.생산E(0).신재생면적당열생산량_냉방
|
|
|
|
Dim 에너지생산량_급탕_1차 As Decimal = (급탕면적 + 급탕면적_offsite) * multi + _
|
|
Result1.생산E(0).면적당생산량태양열_급탕 + _
|
|
Result1.생산E(0).면적당생산량수열_급탕 + _
|
|
Result1.생산E(0).면적당생산량지열_급탕 + _
|
|
Result1.생산E(0).신재생면적당열생산량_급탕
|
|
|
|
sheet.Cells(Row, BaseIndex + 32).Value = 에너지생산량_난방_1차
|
|
sheet.Cells(Row, BaseIndex + 33).Value = 에너지생산량_냉방_1차
|
|
sheet.Cells(Row, BaseIndex + 34).Value = 에너지생산량_급탕_1차
|
|
sheet.Cells(Row, BaseIndex + 35).Value = (조명면적 + 조명면적_offsite) * multi
|
|
sheet.Cells(Row, BaseIndex + 36).Value = (환기면적 + 환기면적_offsite) * multi
|
|
sheet.Cells(Row, BaseIndex + 37).Value = 에너지생산량_난방_1차 + 에너지생산량_냉방_1차 + 에너지생산량_급탕_1차 + ((조명면적 + 조명면적_offsite) * multi) + ((환기면적 + 환기면적_offsite) * multi)
|
|
|
|
|
|
'//평균조명에너지부하율
|
|
'//조명에너지-평균조명에너지부하율
|
|
Dim 조명에너지_부하율합 As Decimal = 0
|
|
Dim 조명에너지_면적합 As Decimal = 0
|
|
For Each drZone As DS.tbl_zoneRow In DSET1.tbl_zone.Select("code <> '0' and code <>'0000' and 면적 <> '0' and 면적 <> ''")
|
|
|
|
'//입력오류 체크
|
|
If Not IsNumeric(drZone.면적) Then drZone.면적 = "0"
|
|
If Not IsNumeric(drZone.입력존의수) Then drZone.입력존의수 = "1"
|
|
If Not IsNumeric(drZone.조명에너지부하율입력치) Then drZone.조명에너지부하율입력치 = "0"
|
|
If Not IsNumeric(drZone.조명에너지부하율계산치) Then drZone.조명에너지부하율계산치 = "0"
|
|
|
|
If drZone.면적 <> "0" Then
|
|
조명에너지_면적합 += CInt(drZone.입력존의수) * TOSG(drZone.면적) '//모든면적의총합
|
|
|
|
If drZone.조명부하산출방법 = "입력치" Then
|
|
조명에너지_부하율합 += TOSG(drZone.조명에너지부하율입력치) * (CInt(drZone.입력존의수) * TOSG(drZone.면적))
|
|
ElseIf drZone.조명부하산출방법 = "계산치" Then
|
|
조명에너지_부하율합 += TOSG(drZone.조명에너지부하율계산치) * (CInt(drZone.입력존의수) * TOSG(drZone.면적))
|
|
End If
|
|
End If
|
|
|
|
|
|
Next
|
|
Dim 평균조명에너지부하율 As Decimal = 0
|
|
If 조명에너지_면적합 <> 0 Then 평균조명에너지부하율 = (조명에너지_부하율합 / 조명에너지_면적합)
|
|
sheet.Cells(Row, BaseIndex + 38).Value = 평균조명에너지부하율
|
|
|
|
'//자립률
|
|
'//자립률관련추가 170725
|
|
'//170725
|
|
Dim 단위면적당신재생1차에너지합 As Decimal = 0
|
|
Dim 단위면적당신재생1차에너지합_offsite As Decimal = 0
|
|
Dim 단위면적당1차에너소비량합 As Decimal = 0
|
|
Dim 에너지자립률 As Double = 0
|
|
Dim 에너지자립률_offsite As Double = 0
|
|
|
|
Sum = (Result1.생산E(0).태양광전력생산량 + Result1.생산E(0).풍력전력생산량 + Result1.생산E(0).신재생열병합전력생산량) / (Result1.일차E소요량(0).난방전력 + Result1.일차E소요량(0).냉방전력 + Result1.일차E소요량(0).급탕전력 + Result1.일차E소요량(0).조명전력 + Result1.일차E소요량(0).환기전력)
|
|
Sum_offsite = (Result1.생산E(0).태양광전력생산량_offsite + Result1.생산E(0).풍력전력생산량_offsite + Result1.생산E(0).연료전지전력생산량_offsite) / (Result1.일차E소요량(0).난방전력 + Result1.일차E소요량(0).냉방전력 + Result1.일차E소요량(0).급탕전력 + Result1.일차E소요량(0).조명전력 + Result1.일차E소요량(0).환기전력)
|
|
난방 = Sum * Result1.일차E소요량(0).난방전력 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
|
|
냉방 = Sum * Result1.일차E소요량(0).냉방전력
|
|
조명 = Sum * Result1.일차E소요량(0).조명전력
|
|
급탕 = Sum * Result1.일차E소요량(0).급탕전력
|
|
환기 = Sum * Result1.일차E소요량(0).환기전력
|
|
|
|
난방_offsite = Sum_offsite * Result1.일차E소요량(0).난방전력 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
|
|
냉방_offsite = Sum_offsite * Result1.일차E소요량(0).냉방전력
|
|
조명_offsite = Sum_offsite * Result1.일차E소요량(0).조명전력
|
|
급탕_offsite = Sum_offsite * Result1.일차E소요량(0).급탕전력
|
|
환기_offsite = Sum_offsite * Result1.일차E소요량(0).환기전력
|
|
|
|
난방면적 = 0
|
|
냉방면적 = 0
|
|
조명면적 = 0
|
|
급탕면적 = 0
|
|
환기면적 = 0
|
|
|
|
난방면적_offsite = 0
|
|
냉방면적_offsite = 0
|
|
조명면적_offsite = 0
|
|
급탕면적_offsite = 0
|
|
환기면적_offsite = 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
|
|
|
|
If Result1.사용면적.H <> 0 Then
|
|
난방면적_offsite = TOSG(IIf(난방_offsite = 0, 0, 난방_offsite / Result1.사용면적.H))
|
|
End If
|
|
If Result1.사용면적.C <> 0 Then
|
|
냉방면적_offsite = TOSG(IIf(냉방_offsite = 0, 0, 냉방_offsite / Result1.사용면적.C))
|
|
End If
|
|
If Result1.사용면적.L <> 0 Then
|
|
조명면적_offsite = TOSG(IIf(조명_offsite = 0, 0, 조명_offsite / Result1.사용면적.L))
|
|
End If
|
|
If Result1.사용면적.W <> 0 Then
|
|
급탕면적_offsite = TOSG(IIf(급탕_offsite = 0, 0, 급탕_offsite / Result1.사용면적.W))
|
|
End If
|
|
If Result1.사용면적.V <> 0 Then
|
|
환기면적_offsite = TOSG(IIf(환기_offsite = 0, 0, 환기_offsite / Result1.사용면적.V))
|
|
End If
|
|
|
|
전기 = 난방면적 + 냉방면적 + 조명면적 + 급탕면적 + 환기면적
|
|
Dim 전기_offsite As Decimal = 난방면적_offsite + 냉방면적_offsite + 조명면적_offsite + 급탕면적_offsite + 환기면적_offsite
|
|
|
|
'//열병합신재생에너지추가 130831 arin
|
|
Dim _자립_신재생에너지 As Single = -1 * (Result1.생산E(0).면적당생산량태양열 + Result1.생산E(0).신재생면적당열생산량 + Result1.생산E(0).면적당생산량지열 + 전기 * 2.75)
|
|
Dim _자립_신재생에너지_offsite As Single = -1 * (전기_offsite * 2.75)
|
|
난방에너지 = Math.Round(Result1.일차E소요량(0).난방면적, 1)
|
|
냉방에너지 = Math.Round(Result1.일차E소요량(0).냉방면적, 1)
|
|
급탕에너지 = Math.Round(Result1.일차E소요량(0).급탕면적, 1)
|
|
조명에너지 = Math.Round(Result1.일차E소요량(0).조명면적, 1)
|
|
환기에너지 = Math.Round(Result1.일차E소요량(0).환기면적, 1)
|
|
단위면적당신재생1차에너지합 = Math.Round(-1 * _자립_신재생에너지, 1)
|
|
단위면적당신재생1차에너지합_offsite = Math.Round(-1 * _자립_신재생에너지_offsite, 1)
|
|
|
|
|
|
단위면적당1차에너소비량합 = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지 + 단위면적당신재생1차에너지합
|
|
If 단위면적당1차에너소비량합 <> 0 Then
|
|
'에너지자립률 = (단위면적당신재생1차에너지합 / 단위면적당1차에너소비량합) * 100
|
|
|
|
에너지자립률 = (Math.Round(단위면적당신재생1차에너지합, 1) / 단위면적당1차에너소비량합) * 100
|
|
|
|
Dim scale As Decimal = 0
|
|
If 에너지자립률 >= 20 Then
|
|
scale = 1.0
|
|
ElseIf 에너지자립률 >= 15 Then
|
|
scale = 0.9
|
|
ElseIf 에너지자립률 >= 10 Then
|
|
scale = 0.8
|
|
Else
|
|
scale = 0.7
|
|
End If
|
|
|
|
에너지자립률_offsite = (Math.Round(단위면적당신재생1차에너지합_offsite * scale, 1) / 단위면적당1차에너소비량합) * 100
|
|
에너지자립률 += 에너지자립률_offsite
|
|
|
|
Else
|
|
에너지자립률 = 0
|
|
에너지자립률_offsite = 0
|
|
End If
|
|
sheet.Cells(Row, BaseIndex + 39).Value = 에너지자립률
|
|
sheet.Cells(Row, BaseIndex + 40).Value = 단위면적당신재생1차에너지합
|
|
sheet.Cells(Row, BaseIndex + 41).Value = 단위면적당1차에너소비량합
|
|
|
|
|
|
|
|
|
|
'//방위별, 부위별 평균열관류율 계산 20230901
|
|
Dim 창및문면적비, 외벽열관류율_평균 As Decimal
|
|
Dim 외벽열관류율_남 As Decimal
|
|
Dim 외벽열관류율_동 As Decimal
|
|
Dim 외벽열관류율_북 As Decimal
|
|
Dim 외벽열관류율_서 As Decimal
|
|
|
|
Dim 창열관류율_평균 As Decimal
|
|
Dim 창열관류율_남 As Decimal
|
|
Dim 창열관류율_동 As Decimal
|
|
Dim 창열관류율_북 As Decimal
|
|
Dim 창열관류율_서 As Decimal
|
|
|
|
Dim 일사에너지투과율_평균 As Decimal
|
|
Dim 일사에너지투과율_남 As Decimal
|
|
Dim 일사에너지투과율_동 As Decimal
|
|
Dim 일사에너지투과율_북 As Decimal
|
|
Dim 일사에너지투과율_서 As Decimal
|
|
|
|
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_평균, 창열관류율_평균, 일사에너지투과율_평균)
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_남, 창열관류율_남, 일사에너지투과율_남, "남")
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_동, 창열관류율_동, 일사에너지투과율_동, "동")
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_북, 창열관류율_북, 일사에너지투과율_북, "북")
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_서, 창열관류율_서, 일사에너지투과율_서, "서")
|
|
|
|
'//평균열관류율 11개(?)
|
|
sheet.Cells(Row, BaseIndex + 42).Value = 외벽열관류율_평균
|
|
sheet.Cells(Row, BaseIndex + 43).Value = 외벽열관류율_남
|
|
sheet.Cells(Row, BaseIndex + 44).Value = 외벽열관류율_동
|
|
sheet.Cells(Row, BaseIndex + 45).Value = 외벽열관류율_북
|
|
sheet.Cells(Row, BaseIndex + 46).Value = 외벽열관류율_서
|
|
|
|
'//외벽지붕(평균열관류율)
|
|
sheet.Cells(Row, BaseIndex + 47).Value = calc_평균열관류율(New String() {"외벽(지붕)", "내벽(지붕)"})
|
|
'//외벽바닥(평균열관류율)
|
|
sheet.Cells(Row, BaseIndex + 48).Value = calc_평균열관류율(New String() {"외벽(바닥)", "내벽(바닥)"})
|
|
|
|
sheet.Cells(Row, BaseIndex + 49).Value = 창열관류율_평균
|
|
sheet.Cells(Row, BaseIndex + 50).Value = 창열관류율_남
|
|
sheet.Cells(Row, BaseIndex + 51).Value = 창열관류율_동
|
|
sheet.Cells(Row, BaseIndex + 52).Value = 창열관류율_북
|
|
sheet.Cells(Row, BaseIndex + 53).Value = 창열관류율_서
|
|
|
|
sheet.Cells(Row, BaseIndex + 54).Value = 일사에너지투과율_평균
|
|
sheet.Cells(Row, BaseIndex + 55).Value = 일사에너지투과율_남
|
|
sheet.Cells(Row, BaseIndex + 56).Value = 일사에너지투과율_동
|
|
sheet.Cells(Row, BaseIndex + 57).Value = 일사에너지투과율_북
|
|
sheet.Cells(Row, BaseIndex + 58).Value = 일사에너지투과율_서
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
End Class |