..
This commit is contained in:
220
ArinWarev1/Forms_Report/Frm_Macro.Designer.vb
generated
Normal file
220
ArinWarev1/Forms_Report/Frm_Macro.Designer.vb
generated
Normal file
@@ -0,0 +1,220 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class Frm_Macro
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Windows Form 디자이너에 필요합니다.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
|
||||
'수정하려면 Windows Form 디자이너를 사용하십시오.
|
||||
'코드 편집기를 사용하여 수정하지 마십시오.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Dim DefaultFocusIndicatorRenderer1 As FarPoint.Win.Spread.DefaultFocusIndicatorRenderer = New FarPoint.Win.Spread.DefaultFocusIndicatorRenderer()
|
||||
Dim DefaultScrollBarRenderer1 As FarPoint.Win.Spread.DefaultScrollBarRenderer = New FarPoint.Win.Spread.DefaultScrollBarRenderer()
|
||||
Dim DefaultScrollBarRenderer2 As FarPoint.Win.Spread.DefaultScrollBarRenderer = New FarPoint.Win.Spread.DefaultScrollBarRenderer()
|
||||
Me.FpSpread1 = New FarPoint.Win.Spread.FpSpread()
|
||||
Me.FpSpread1_Sheet1 = New FarPoint.Win.Spread.SheetView()
|
||||
Me.Button2 = New System.Windows.Forms.Button()
|
||||
Me.Button1 = New System.Windows.Forms.Button()
|
||||
Me.tbStart = New System.Windows.Forms.TextBox()
|
||||
Me.Button3 = New System.Windows.Forms.Button()
|
||||
Me.ProgressBar1 = New System.Windows.Forms.ProgressBar()
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.tbEnd = New System.Windows.Forms.TextBox()
|
||||
Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel()
|
||||
Me.Label2 = New System.Windows.Forms.Label()
|
||||
CType(Me.FpSpread1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.FpSpread1_Sheet1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.TableLayoutPanel1.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'FpSpread1
|
||||
'
|
||||
Me.FpSpread1.AccessibleDescription = ""
|
||||
Me.FpSpread1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.FpSpread1.FocusRenderer = DefaultFocusIndicatorRenderer1
|
||||
Me.FpSpread1.HorizontalScrollBar.Buttons = New FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton")
|
||||
Me.FpSpread1.HorizontalScrollBar.Name = ""
|
||||
Me.FpSpread1.HorizontalScrollBar.Renderer = DefaultScrollBarRenderer1
|
||||
Me.FpSpread1.HorizontalScrollBar.TabIndex = 2
|
||||
Me.FpSpread1.Location = New System.Drawing.Point(0, 38)
|
||||
Me.FpSpread1.Name = "FpSpread1"
|
||||
Me.FpSpread1.Sheets.AddRange(New FarPoint.Win.Spread.SheetView() {Me.FpSpread1_Sheet1})
|
||||
Me.FpSpread1.Size = New System.Drawing.Size(1019, 453)
|
||||
Me.FpSpread1.Skin = FarPoint.Win.Spread.DefaultSpreadSkins.Classic
|
||||
Me.FpSpread1.TabIndex = 0
|
||||
Me.FpSpread1.VerticalScrollBar.Buttons = New FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton")
|
||||
Me.FpSpread1.VerticalScrollBar.Name = ""
|
||||
Me.FpSpread1.VerticalScrollBar.Renderer = DefaultScrollBarRenderer2
|
||||
Me.FpSpread1.VerticalScrollBar.TabIndex = 3
|
||||
Me.FpSpread1.VisualStyles = FarPoint.Win.VisualStyles.Off
|
||||
'
|
||||
'FpSpread1_Sheet1
|
||||
'
|
||||
Me.FpSpread1_Sheet1.Reset()
|
||||
Me.FpSpread1_Sheet1.SheetName = "Sheet1"
|
||||
'Formulas and custom names must be loaded with R1C1 reference style
|
||||
Me.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1
|
||||
FpSpread1_Sheet1.ColumnCount = 5
|
||||
FpSpread1_Sheet1.RowCount = 1
|
||||
Me.FpSpread1_Sheet1.ColumnFooter.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread1_Sheet1.ColumnFooter.DefaultStyle.Parent = "HeaderDefault"
|
||||
Me.FpSpread1_Sheet1.ColumnFooterSheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread1_Sheet1.ColumnFooterSheetCornerStyle.Parent = "CornerDefault"
|
||||
Me.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault"
|
||||
Me.FpSpread1_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread1_Sheet1.RowHeader.DefaultStyle.Parent = "RowHeaderDefault"
|
||||
Me.FpSpread1_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread1_Sheet1.SheetCornerStyle.Parent = "CornerDefault"
|
||||
Me.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1
|
||||
'
|
||||
'Button2
|
||||
'
|
||||
Me.Button2.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.Button2.Location = New System.Drawing.Point(673, 3)
|
||||
Me.Button2.Name = "Button2"
|
||||
Me.Button2.Size = New System.Drawing.Size(194, 32)
|
||||
Me.Button2.TabIndex = 1
|
||||
Me.Button2.Text = "결과저장하기"
|
||||
Me.Button2.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Button1
|
||||
'
|
||||
Me.Button1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.Button1.Location = New System.Drawing.Point(3, 3)
|
||||
Me.Button1.Name = "Button1"
|
||||
Me.Button1.Size = New System.Drawing.Size(194, 32)
|
||||
Me.Button1.TabIndex = 0
|
||||
Me.Button1.Text = "목록불러오기"
|
||||
Me.Button1.UseVisualStyleBackColor = True
|
||||
'
|
||||
'tbStart
|
||||
'
|
||||
Me.tbStart.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.tbStart.Font = New System.Drawing.Font("맑은 고딕", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
|
||||
Me.tbStart.Location = New System.Drawing.Point(283, 3)
|
||||
Me.tbStart.Name = "tbStart"
|
||||
Me.tbStart.Size = New System.Drawing.Size(74, 33)
|
||||
Me.tbStart.TabIndex = 2
|
||||
Me.tbStart.Text = "6"
|
||||
Me.tbStart.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
|
||||
'
|
||||
'Button3
|
||||
'
|
||||
Me.Button3.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.Button3.Location = New System.Drawing.Point(523, 3)
|
||||
Me.Button3.Name = "Button3"
|
||||
Me.Button3.Size = New System.Drawing.Size(144, 32)
|
||||
Me.Button3.TabIndex = 3
|
||||
Me.Button3.Text = "실행"
|
||||
Me.Button3.UseVisualStyleBackColor = True
|
||||
'
|
||||
'ProgressBar1
|
||||
'
|
||||
Me.ProgressBar1.Dock = System.Windows.Forms.DockStyle.Bottom
|
||||
Me.ProgressBar1.Location = New System.Drawing.Point(0, 491)
|
||||
Me.ProgressBar1.Name = "ProgressBar1"
|
||||
Me.ProgressBar1.Size = New System.Drawing.Size(1019, 23)
|
||||
Me.ProgressBar1.TabIndex = 2
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.Label1.Location = New System.Drawing.Point(363, 0)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(74, 38)
|
||||
Me.Label1.TabIndex = 3
|
||||
Me.Label1.Text = "~"
|
||||
Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
|
||||
'
|
||||
'tbEnd
|
||||
'
|
||||
Me.tbEnd.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.tbEnd.Font = New System.Drawing.Font("맑은 고딕", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
|
||||
Me.tbEnd.Location = New System.Drawing.Point(443, 3)
|
||||
Me.tbEnd.Name = "tbEnd"
|
||||
Me.tbEnd.Size = New System.Drawing.Size(74, 33)
|
||||
Me.tbEnd.TabIndex = 4
|
||||
Me.tbEnd.Text = "0"
|
||||
Me.tbEnd.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
|
||||
'
|
||||
'TableLayoutPanel1
|
||||
'
|
||||
Me.TableLayoutPanel1.ColumnCount = 8
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 200.0!))
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 80.0!))
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 80.0!))
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 80.0!))
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 80.0!))
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 150.0!))
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 200.0!))
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.Button1, 0, 0)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.Button3, 5, 0)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.Button2, 6, 0)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.tbEnd, 4, 0)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.Label2, 1, 0)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.tbStart, 2, 0)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.Label1, 3, 0)
|
||||
Me.TableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Top
|
||||
Me.TableLayoutPanel1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
|
||||
Me.TableLayoutPanel1.RowCount = 1
|
||||
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||
Me.TableLayoutPanel1.Size = New System.Drawing.Size(1019, 38)
|
||||
Me.TableLayoutPanel1.TabIndex = 5
|
||||
'
|
||||
'Label2
|
||||
'
|
||||
Me.Label2.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.Label2.Location = New System.Drawing.Point(203, 0)
|
||||
Me.Label2.Name = "Label2"
|
||||
Me.Label2.Size = New System.Drawing.Size(74, 38)
|
||||
Me.Label2.TabIndex = 3
|
||||
Me.Label2.Text = "실행범위"
|
||||
Me.Label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
|
||||
'
|
||||
'Frm_Macro
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(1019, 514)
|
||||
Me.Controls.Add(Me.FpSpread1)
|
||||
Me.Controls.Add(Me.TableLayoutPanel1)
|
||||
Me.Controls.Add(Me.ProgressBar1)
|
||||
Me.Name = "Frm_Macro"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
|
||||
Me.Text = "일괄처리"
|
||||
CType(Me.FpSpread1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.FpSpread1_Sheet1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.TableLayoutPanel1.ResumeLayout(False)
|
||||
Me.TableLayoutPanel1.PerformLayout()
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
Friend WithEvents FpSpread1 As FarPoint.Win.Spread.FpSpread
|
||||
Friend WithEvents FpSpread1_Sheet1 As FarPoint.Win.Spread.SheetView
|
||||
Friend WithEvents Button1 As System.Windows.Forms.Button
|
||||
Friend WithEvents Button2 As System.Windows.Forms.Button
|
||||
Friend WithEvents tbStart As System.Windows.Forms.TextBox
|
||||
Friend WithEvents Button3 As System.Windows.Forms.Button
|
||||
Friend WithEvents ProgressBar1 As System.Windows.Forms.ProgressBar
|
||||
Friend WithEvents tbEnd As System.Windows.Forms.TextBox
|
||||
Friend WithEvents Label1 As System.Windows.Forms.Label
|
||||
Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
|
||||
Friend WithEvents Label2 As System.Windows.Forms.Label
|
||||
End Class
|
||||
123
ArinWarev1/Forms_Report/Frm_Macro.resx
Normal file
123
ArinWarev1/Forms_Report/Frm_Macro.resx
Normal file
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="FpSpread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
909
ArinWarev1/Forms_Report/Frm_Macro.vb
Normal file
909
ArinWarev1/Forms_Report/Frm_Macro.vb
Normal file
@@ -0,0 +1,909 @@
|
||||
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).난방전력 + 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).난방전력 + 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
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
Dim fn As String = ""
|
||||
Dim silentmode As Boolean = False
|
||||
Dim column As Integer = 10
|
||||
Dim processfile As String
|
||||
Public Sub New()
|
||||
|
||||
' 이 호출은 디자이너에 필요합니다.
|
||||
@@ -10,12 +12,14 @@
|
||||
' InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
|
||||
|
||||
End Sub
|
||||
Public Sub New(_file As String, Optional silent As Boolean = False)
|
||||
Public Sub New(_file As String, writecolumn As Integer, processfilename As String, Optional silent As Boolean = False)
|
||||
|
||||
' 이 호출은 디자이너에 필요합니다.
|
||||
InitializeComponent()
|
||||
fn = _file
|
||||
silentmode = silent
|
||||
column = writecolumn
|
||||
processfile = processfilename
|
||||
' InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
|
||||
|
||||
End Sub
|
||||
@@ -23,14 +27,15 @@
|
||||
Private Sub Frm_Upload_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
|
||||
|
||||
' Me.Hide()
|
||||
Application.DoEvents()
|
||||
'Application.DoEvents()
|
||||
|
||||
LoadFile()
|
||||
'MakeGraphTable()
|
||||
MakeData()
|
||||
|
||||
If fn <> "" Then
|
||||
Try
|
||||
If FpSpread1.SaveExcel(fn) Then
|
||||
If FpSpread1.SaveExcel(fn, FarPoint.Excel.ExcelSaveFlags.NoFlagsSet) Then
|
||||
If silentmode = False Then
|
||||
MsgBox("다음파일이 생성되었습니다" + vbCrLf + fn, MsgBoxStyle.Information, "확인")
|
||||
End If
|
||||
@@ -56,6 +61,7 @@
|
||||
|
||||
Private Sub LoadFile()
|
||||
Dim fn As String = AppDomain.CurrentDomain.BaseDirectory + "\upload.xlsx"
|
||||
If column > 10 Then fn = Me.fn
|
||||
If Not System.IO.File.Exists(fn) Then
|
||||
MsgBox("업로드샘플파일(" + fn + ")가 존재하지 않습니다", MsgBoxStyle.Critical, "확인")
|
||||
Return
|
||||
@@ -72,7 +78,7 @@
|
||||
|
||||
Private Sub MakeData()
|
||||
'//결과데이터에서 자료를 추출하고 그 값을 넣는다
|
||||
Dim DataColumnIndex As Integer = 10
|
||||
Dim DataColumnIndex As Integer = Me.column
|
||||
Dim Row As Integer = 1
|
||||
Dim DsReport As New DSR
|
||||
|
||||
@@ -178,7 +184,7 @@
|
||||
|
||||
|
||||
'//연간 CO2발생량
|
||||
Dim StartCode As Integer = 79 '//76
|
||||
Dim StartCode As Integer = 81 '//76
|
||||
Dim CO2_1, CO2_2, CO2_3, CO2_4, CO2_5 As Decimal
|
||||
CO2_1 = Math.Round(RData("410", StartCode + 0), 1)
|
||||
CO2_2 = Math.Round(RData("410", StartCode + 7), 1)
|
||||
@@ -195,11 +201,12 @@
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 합계.ToString() : Row += 1 '//환기
|
||||
|
||||
'//단위면적당 CO2발생량
|
||||
CO2_1 = Math.Round(RData("410", StartCode + 6), 1)
|
||||
CO2_2 = Math.Round(RData("410", StartCode + 14), 1)
|
||||
CO2_3 = Math.Round(RData("410", StartCode + 21), 1)
|
||||
CO2_4 = Math.Round(RData("410", StartCode + 24), 1)
|
||||
CO2_5 = Math.Round(RData("410", StartCode + 27), 1)
|
||||
StartCode = 79 '//76
|
||||
CO2_1 = Math.Round(RData("410", StartCode + 8), 1)
|
||||
CO2_2 = Math.Round(RData("410", StartCode + 16), 1)
|
||||
CO2_3 = Math.Round(RData("410", StartCode + 23), 1)
|
||||
CO2_4 = Math.Round(RData("410", StartCode + 26), 1)
|
||||
CO2_5 = Math.Round(RData("410", StartCode + 29), 1)
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = CO2_1.ToString : Row += 1 '//난방
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = CO2_2.ToString : Row += 1 '//냉방
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = CO2_3.ToString : Row += 1 '//급탕
|
||||
@@ -301,16 +308,16 @@
|
||||
'//입력존수값이 없는것은 기본값 1로 처리를 한다
|
||||
If String.IsNullOrWhiteSpace(drZOne.입력존의수) Then drZOne.입력존의수 = "1"
|
||||
If Not IsNumeric(drZOne.입력존의수) Then drZOne.입력존의수 = "1"
|
||||
Dim 존수 As Integer = TOSG(drZOne.입력존의수)
|
||||
If 존수 < 1 Then Continue For
|
||||
Dim 존수2 As Integer = TOSG(drZOne.입력존의수)
|
||||
If 존수2 < 1 Then Continue For
|
||||
If Not IsNumeric(drZOne.면적) Then drZOne.면적 = "0"
|
||||
If CInt(drZOne.면적) = 0 Then
|
||||
MsgBox("입력존(" + drZOne.설명 + ") 의 면적이 입력되지 않았습니다", MsgBoxStyle.Critical, "확인")
|
||||
Continue For
|
||||
End If
|
||||
|
||||
기밀성능_면적합 += (존수 * drZOne.면적)
|
||||
기밀성능_침기율면적합 += (drZOne.침기율 * (존수 * drZOne.면적))
|
||||
기밀성능_면적합 += (존수2 * drZOne.면적)
|
||||
기밀성능_침기율면적합 += (drZOne.침기율 * (존수2 * drZOne.면적))
|
||||
Next
|
||||
Dim 기밀성능 As Decimal = 0
|
||||
If 기밀성능_면적합 <> 0 Then 기밀성능 = 기밀성능_침기율면적합 / 기밀성능_면적합
|
||||
@@ -363,14 +370,14 @@
|
||||
If Not IsNumeric(drzone.면적) Then drzone.면적 = "0"
|
||||
|
||||
|
||||
Dim 존수 As Integer = 0
|
||||
Dim 존수2 As Integer = 0
|
||||
If IsNumeric(drzone.입력존의수) Then
|
||||
존수 = CInt(drzone.입력존의수)
|
||||
존수2 = CInt(drzone.입력존의수)
|
||||
Else
|
||||
존수 = 1
|
||||
존수2 = 1
|
||||
End If
|
||||
If IsNumeric(drzone.면적) Then
|
||||
면적 = drzone.면적 * 존수
|
||||
면적 = drzone.면적 * 존수2
|
||||
Else
|
||||
면적 = 0
|
||||
End If
|
||||
@@ -470,10 +477,10 @@
|
||||
Dim 냉난방방식_난방 As String = ""
|
||||
For Each dr난방 As DS.tbl_nanbangkikiRow In DSET1.tbl_nanbangkiki.Select("code <> '0'")
|
||||
Dim filter As String = String.Format("code <> '0' and 열생산난방생산기기='{0}' or 공조난방생산기기='{0}'", dr난방.code)
|
||||
Dim 존수 As Integer = 0
|
||||
Dim 존수3 As Integer = 0
|
||||
For Each dr존 As DS.tbl_zoneRow In DSET1.tbl_zone.Select(filter)
|
||||
If Not IsNumeric(dr존.입력존의수) Then dr존.입력존의수 = "1"
|
||||
존수 += CInt(dr존.입력존의수)
|
||||
존수3 += CInt(dr존.입력존의수)
|
||||
Next
|
||||
|
||||
If Not IsNumeric(dr난방.보일러정격출력) Then dr난방.보일러정격출력 = "0"
|
||||
@@ -482,7 +489,7 @@
|
||||
|
||||
|
||||
Dim 개별식형태 As Boolean = dr난방.개별기기적용
|
||||
If Not 개별식형태 AndAlso 존수 = 1 Then 개별식형태 = True '//입력존이 1이면 개별식형태로 한다
|
||||
If Not 개별식형태 AndAlso 존수3 = 1 Then 개별식형태 = True '//입력존이 1이면 개별식형태로 한다
|
||||
|
||||
|
||||
If 냉난방방식_난방 = "" Then
|
||||
@@ -501,18 +508,18 @@
|
||||
|
||||
최대값 = Math.Max(TOSG(dr난방.보일러정격출력), TOSG(dr난방.열교환기정격출력))
|
||||
최대값 = Math.Max(최대값, TOSG(dr난방.히트난방용량))
|
||||
최대값 *= 존수
|
||||
최대값 *= 존수3
|
||||
|
||||
펌프동력합 += TOSG(dr난방.펌프동력) * 존수
|
||||
펌프동력합 += TOSG(dr난방.펌프동력) * 존수3
|
||||
|
||||
If dr난방.열생산기기방식 = "히트펌프" Then
|
||||
난방용량합 += TOSG(dr난방.히트난방용량) * 존수
|
||||
If dr난방.히트연료 = "전기" Then 난방용량합_전기 += TOSG(dr난방.히트난방용량) * 존수
|
||||
난방용량합 += TOSG(dr난방.히트난방용량) * 존수3
|
||||
If dr난방.히트연료 = "전기" Then 난방용량합_전기 += TOSG(dr난방.히트난방용량) * 존수3
|
||||
ElseIf dr난방.열생산기기방식 = "전기보일러" Then
|
||||
난방용량합 += TOSG(dr난방.보일러정격출력) * 존수
|
||||
난방용량합_전기 += TOSG(dr난방.보일러정격출력) * 존수
|
||||
난방용량합 += TOSG(dr난방.보일러정격출력) * 존수3
|
||||
난방용량합_전기 += TOSG(dr난방.보일러정격출력) * 존수3
|
||||
ElseIf dr난방.열생산기기방식 = "지역난방" Then
|
||||
난방용량합 += TOSG(dr난방.열교환기정격출력) * 존수
|
||||
난방용량합 += TOSG(dr난방.열교환기정격출력) * 존수3
|
||||
Else
|
||||
난방용량합 += 최대값 '//모를경우에는 해당값중 최대값을 사용함(임의처리함 arin)
|
||||
End If
|
||||
@@ -561,16 +568,16 @@
|
||||
Dim 냉난방방식_냉방 As String = ""
|
||||
For Each dr냉방 As DS.tbl_nangbangkikiRow In DSET1.tbl_nangbangkiki.Select("code <> '0'")
|
||||
Dim filter As String = String.Format("열생산냉방생산기기='{0}' or 공조냉방생산기기='{0}'", dr냉방.code)
|
||||
Dim 존수 As Integer = 0
|
||||
Dim 존수4 As Integer = 0
|
||||
For Each dr존 As DS.tbl_zoneRow In DSET1.tbl_zone.Select(filter)
|
||||
If Not IsNumeric(dr존.입력존의수) Then dr존.입력존의수 = "1"
|
||||
존수 += CInt(dr존.입력존의수)
|
||||
존수4 += CInt(dr존.입력존의수)
|
||||
Next
|
||||
|
||||
If Not IsNumeric(dr냉방.냉동기용량) Then dr냉방.냉동기용량 = "0"
|
||||
|
||||
Dim 개별식형태 As Boolean = dr냉방.개별기기적용
|
||||
If Not 개별식형태 AndAlso 존수 = 1 Then 개별식형태 = True '//입력존이 1이면 개별식형태로 한다
|
||||
If Not 개별식형태 AndAlso 존수4 = 1 Then 개별식형태 = True '//입력존이 1이면 개별식형태로 한다
|
||||
|
||||
If 냉난방방식_냉방 = "" Then
|
||||
냉난방방식_냉방 = IIf(개별식형태, "개별식", "중앙식")
|
||||
@@ -583,9 +590,9 @@
|
||||
|
||||
Dim 최대값 As Decimal = 0
|
||||
If dr냉방.개별기기적용 Then
|
||||
최대값 = TOSG(dr냉방.냉동기용량) * 존수
|
||||
냉방용량합 += TOSG(dr냉방.냉동기용량) * 존수
|
||||
If dr냉방.냉동기방식 = "압축식" Then 냉방용량합_전기 += TOSG(dr냉방.냉동기용량) * 존수
|
||||
최대값 = TOSG(dr냉방.냉동기용량) * 존수4
|
||||
냉방용량합 += TOSG(dr냉방.냉동기용량) * 존수4
|
||||
If dr냉방.냉동기방식 = "압축식" Then 냉방용량합_전기 += TOSG(dr냉방.냉동기용량) * 존수4
|
||||
Else
|
||||
최대값 = TOSG(dr냉방.냉동기용량)
|
||||
냉방용량합 += TOSG(dr냉방.냉동기용량)
|
||||
@@ -1106,6 +1113,315 @@
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 단위면적당신재생1차에너지합_offsite.ToString("N1") : Row += 1
|
||||
|
||||
|
||||
'//추가작업 230724
|
||||
If column < 11 Then Return
|
||||
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = processfile : Row += 1
|
||||
|
||||
'//벽체면적
|
||||
Dim WallArea As Decimal = 0
|
||||
Dim WindowArea As Decimal = 0
|
||||
Dim 열관류율합 As Double
|
||||
Dim 존수 As Integer = 0
|
||||
Dim 비연결 As Integer = 0
|
||||
Dim 비연결존 As String = ""
|
||||
Dim 방위목록() As String = New String() {"수평", "남", "남동", "동", "북동", "북", "북서", "서", "남서"}
|
||||
For Each 방위 As String In 방위목록
|
||||
Dim filter As String = "code <> '0' and (건축부위방식='외벽' or 건축부위방식 ='외부창' or 건축부위방식='내벽' or 건축부위방식 ='내부창')"
|
||||
If 방위 <> "" Then filter += " and 방위='" + 방위 + "'"
|
||||
Dim 면데이터() As DS.tbl_myounRow = DSET1.tbl_myoun.Select(filter)
|
||||
Dim 열관없는갯수 As Integer = 0
|
||||
Try
|
||||
For Each Dr입력면 As DS.tbl_myounRow In 면데이터
|
||||
Dim 열관 As Single = 0
|
||||
|
||||
If Dr입력면.열관류율2 = "0" OrElse Dr입력면.열관류율2 = "" Then
|
||||
열관없는갯수 += 1
|
||||
End If
|
||||
|
||||
Dim Dryk1 As DS.tbl_ykRow = Nothing
|
||||
If Dr입력면.열관류율2 <> "0" Then '
|
||||
Dryk1 = DSET1.tbl_yk.Select("code='" & Dr입력면.열관류율2 & "'")(0)
|
||||
열관 = TOSG(Dryk1("열관류율").ToString)
|
||||
Else '//선택안된경우
|
||||
열관 = TOSG(Dr입력면.열관류율)
|
||||
End If
|
||||
|
||||
Dim 존코드 As String = Dr입력면.존분류
|
||||
Dim dr존() As DS.tbl_zoneRow = DSET1.tbl_zone.Select("code='" + 존코드 + "'")
|
||||
If dr존.GetUpperBound(0) = -1 Then
|
||||
존수 = 1
|
||||
Else
|
||||
If IsNumeric(dr존(0).입력존의수) Then
|
||||
존수 = CInt(dr존(0).입력존의수)
|
||||
Else
|
||||
존수 = 1
|
||||
End If
|
||||
End If
|
||||
|
||||
Select Case Dr입력면.건축부위방식
|
||||
Case "외벽"
|
||||
열관류율합 += 열관 * 1 * TOSG(Dr입력면.건축부위면적) * 존수
|
||||
Case "내벽"
|
||||
열관류율합 += 열관 * 0.7 * TOSG(Dr입력면.건축부위면적) * 존수
|
||||
Case "외부창"
|
||||
열관류율합 += 열관 * 1 * TOSG(Dr입력면.건축부위면적) * 존수
|
||||
Case "내부창"
|
||||
열관류율합 += 열관 * 0.8 * TOSG(Dr입력면.건축부위면적) * 존수
|
||||
End Select
|
||||
|
||||
'// Debug.WriteLine(Dr입력면.열관류율2 + "/" + Dr입력면.code + "/" + 열관.ToString() + "/" + Dr입력면.설명 + "/" + Dr입력면.건축부위면적.ToCharArray() + "/" + 존수.ToString() + "/" + 열관류율합.ToString(), True)
|
||||
|
||||
If Dryk1 Is Nothing Then
|
||||
비연결 += 1
|
||||
|
||||
'//사용한 존
|
||||
If dr존 Is Nothing Then
|
||||
Else
|
||||
비연결존 = dr존(0).설명 + "의 " + Dr입력면.설명
|
||||
End If
|
||||
|
||||
|
||||
'//열관류 선택안된경우
|
||||
Select Case Dr입력면.건축부위방식
|
||||
Case "외벽"
|
||||
If Dr입력면.방위 <> "수평" AndAlso Dr입력면.방위 <> "일사없음" AndAlso Dr입력면.방위 <> "(없음)" Then
|
||||
WallArea = WallArea + TOSG(Dr입력면.건축부위면적) * 존수
|
||||
End If
|
||||
Case "내벽" '
|
||||
WallArea = WallArea + TOSG(Dr입력면.건축부위면적) * 존수
|
||||
Case "외부창"
|
||||
If Dr입력면.방위 <> "수평" AndAlso Dr입력면.방위 <> "일사없음" AndAlso Dr입력면.방위 <> "(없음)" Then
|
||||
WindowArea = WindowArea + TOSG(Dr입력면.건축부위면적) * 존수
|
||||
End If
|
||||
Case "내부창"
|
||||
WindowArea = WindowArea + TOSG(Dr입력면.건축부위면적) * 존수
|
||||
End Select
|
||||
|
||||
Else
|
||||
|
||||
Dim 면형태이름 As String = Get_CName("1088", Dryk1.면형태)
|
||||
Select Case 면형태이름
|
||||
Case "외벽(벽체)"
|
||||
WallArea = WallArea + TOSG(Dr입력면.건축부위면적) * 존수
|
||||
Case "내벽(벽체)"
|
||||
WallArea = WallArea + TOSG(Dr입력면.건축부위면적) * 존수
|
||||
Case "외부창"
|
||||
If Dr입력면.방위 <> "수평" AndAlso Dr입력면.방위 <> "일사없음" AndAlso Dr입력면.방위 <> "(없음)" Then
|
||||
WindowArea = WindowArea + TOSG(Dr입력면.건축부위면적) * 존수
|
||||
End If
|
||||
Case "내부창"
|
||||
WindowArea = WindowArea + TOSG(Dr입력면.건축부위면적) * 존수
|
||||
End Select
|
||||
End If
|
||||
|
||||
'Debug.WriteLine(Dr입력면.code + ":wall=" + WallArea.ToString() + ",win=" + WindowArea.ToString())
|
||||
Next
|
||||
'For Each Dr입력면 As DS.tbl_myounRow In DSET1.tbl_myoun.Select("건축부위방식='외부창'")
|
||||
' WindowArea = WindowArea + TOSG(Dr입력면.건축부위면적) * 존수
|
||||
'Next
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
Next
|
||||
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = WallArea.ToString("N1") : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = WindowArea.ToString("N1") : Row += 1
|
||||
|
||||
|
||||
Try
|
||||
창및문면적비 = WindowArea / (WallArea + WindowArea) * 100
|
||||
Catch ex As Exception
|
||||
창및문면적비 = 0 '//게삭과정에 오류가낫다면 0처리합니다.
|
||||
End Try
|
||||
If WallArea + WindowArea = 0 Then
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "0 %" : Row += 1
|
||||
Else
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창및문면적비.ToString("N1") : Row += 1
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창열관류율_평균.ToString("N3") : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창열관류율_남.ToString("N3") : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창열관류율_남동.ToString("N3") : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창열관류율_동.ToString("N3") : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창열관류율_북동.ToString("N3") : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창열관류율_북.ToString("N3") : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창열관류율_북서.ToString("N3") : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창열관류율_서.ToString("N3") : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창열관류율_남서.ToString("N3") : Row += 1
|
||||
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 일사에너지투과율_평균.ToString("N3") : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 일사에너지투과율_남.ToString("N3") : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 일사에너지투과율_남동.ToString("N3") : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 일사에너지투과율_동.ToString("N3") : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 일사에너지투과율_북동.ToString("N3") : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 일사에너지투과율_북.ToString("N3") : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 일사에너지투과율_북서.ToString("N3") : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 일사에너지투과율_서.ToString("N3") : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 일사에너지투과율_남서.ToString("N3") : Row += 1
|
||||
|
||||
|
||||
'//난방기기 - 보일러중에 용량이 가장 큰
|
||||
Dim 보일러목록() As DS.tbl_nanbangkikiRow = DSET1.tbl_nanbangkiki.Select("열생산기기방식='보일러'", "보일러정격출력 desc")
|
||||
If 보일러목록 Is Nothing OrElse 보일러목록.Length < 1 Then
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
Else
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 보일러목록(0).보일러방식 : Row += 1
|
||||
End If
|
||||
|
||||
보일러목록 = DSET1.tbl_nanbangkiki.Select("열생산기기방식='지역난방'", "열교환기정격출력 desc")
|
||||
If 보일러목록 Is Nothing OrElse 보일러목록.Length < 1 Then
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
Else
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 보일러목록(0).지역난방방식 : Row += 1
|
||||
End If
|
||||
|
||||
보일러목록 = DSET1.tbl_nanbangkiki.Select("열생산기기방식='히트펌프'", "히트난방용량 desc")
|
||||
If 보일러목록 Is Nothing OrElse 보일러목록.Length < 1 Then
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
Else
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 보일러목록(0).히트난방용량 : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 보일러목록(0).히트난방정격7 : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 보일러목록(0).히트난방정격10 : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 보일러목록(0).히트배관길이 : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 보일러목록(0).히트펌프시스템종류 : Row += 1
|
||||
End If
|
||||
|
||||
|
||||
Dim 냉방기목록 = DSET1.tbl_nangbangkiki.Select("냉동기방식='압축식'", "냉동기용량 desc")
|
||||
If 냉방기목록 Is Nothing OrElse 냉방기목록.Length < 1 Then
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
Else
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 냉방기목록(0).냉동기종류 : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 냉방기목록(0).냉동기압축방식 : Row += 1
|
||||
End If
|
||||
|
||||
냉방기목록 = DSET1.tbl_nangbangkiki.Select("냉동기방식='흡수식'", "냉동기용량 desc")
|
||||
If 냉방기목록 Is Nothing OrElse 냉방기목록.Length < 1 Then
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
Else
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 냉방기목록(0).압축기제어방식 : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 냉방기목록(0).열생산연결방식 : Row += 1
|
||||
End If
|
||||
|
||||
냉방기목록 = DSET1.tbl_nangbangkiki.Select("냉동기방식='압축식' and 냉동기종류='실내공조시스템'", "냉동기용량 desc")
|
||||
If 냉방기목록 Is Nothing OrElse 냉방기목록.Length < 1 Then
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
Else
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 냉방기목록(0).냉동기설비시스템 : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 냉방기목록(0).제어방식 : Row += 1
|
||||
End If
|
||||
|
||||
'//급탕기기로 연결된 자료
|
||||
Dim 급탕기기대상 As DS.tbl_nanbangkikiRow = Nothing
|
||||
Dim 급탕기기대상용량 As Decimal = 0
|
||||
For Each dr As DS.tbl_nanbangkikiRow In DSET1.tbl_nanbangkiki.Rows
|
||||
Dim cnt = 0
|
||||
Dim 존목록() As DS.tbl_zoneRow = DSET1.tbl_zone.Select("code <> '0' and 열생산급탕생산기기='" & dr.code & "'")
|
||||
For Each drow As DS.tbl_zoneRow In 존목록
|
||||
Dim 입력존수문자 As Integer = drow.입력존의수
|
||||
If IsNumeric(입력존수문자) = False Then 입력존수문자 = "1"
|
||||
cnt += CInt(입력존수문자)
|
||||
Next
|
||||
If cnt > 0 Then
|
||||
If dr.보일러정격출력 > 급탕기기대상용량 Then
|
||||
급탕기기대상 = dr
|
||||
급탕기기대상용량 = dr.보일러정격출력
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
If 급탕기기대상 Is Nothing Then
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
Else
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 급탕기기대상.축열탱크방식 : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 급탕기기대상.축열제척 : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 급탕기기대상.펌프정격전력 : Row += 1
|
||||
End If
|
||||
|
||||
|
||||
Dim 태양광목록() As DS.tbl_newRow = DSET1.tbl_new.Select("기기종류='태양광'", "태양광모듈면적 desc")
|
||||
If 태양광목록 Is Nothing OrElse 태양광목록.Length < 1 Then
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
||||
Else
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광목록(0).태양광용량 : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광목록(0).태양광모듈효율 : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광목록(0).태양광모듈면적 : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광목록(0).태양광모듈기울기 : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광목록(0).태양광모듈방위 : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광목록(0).태양광모듈종류 : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광목록(0).태양광모듈적용타입 : Row += 1
|
||||
End If
|
||||
|
||||
|
||||
'//230804 에너지생산량 ` 1차 추가
|
||||
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).신재생면적당열생산량_급탕
|
||||
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 에너지생산량_난방 : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 에너지생산량_냉방 : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 에너지생산량_급탕 : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 조명면적 + 조명면적_offsite : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 환기면적 + 환기면적_offsite : Row += 1
|
||||
|
||||
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).신재생면적당열생산량_급탕
|
||||
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 에너지생산량_난방_1차 : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 에너지생산량_냉방_1차 : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 에너지생산량_급탕_1차 : Row += 1
|
||||
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = (조명면적 + 조명면적_offsite) * multi : Row += 1
|
||||
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = (환기면적 + 환기면적_offsite) * multi : Row += 1
|
||||
|
||||
End Sub
|
||||
|
||||
@@ -1116,6 +1432,382 @@
|
||||
Return DR(0).M00
|
||||
End Function
|
||||
|
||||
Dim DSR As New DSR
|
||||
Private Sub MakeGraphTable()
|
||||
DSR.TReqUse.Clear()
|
||||
DSR.TReqUse.Merge(DSETR1.TReqUse)
|
||||
|
||||
If DSR.TReqUse.Rows.Count < 1 Then Return
|
||||
|
||||
|
||||
|
||||
Dim Dr As DSR.Graph_ReqRow
|
||||
For Gubun As Short = 0 To 1
|
||||
For mon As Short = 1 To 12
|
||||
If Gubun = 0 Then '//6번
|
||||
Dr = Me.DSR.Graph_Req.NewGraph_ReqRow
|
||||
Dr.Gubun = "난방에너지요구량"
|
||||
Dr.Mon = Format(mon, "0") & "월"
|
||||
Dr.Req = Math.Round(Result1.E요구량(mon).난방면적, 1)
|
||||
Me.DSR.Graph_Req.Rows.Add(Dr)
|
||||
Else '//11번
|
||||
Dr = Me.DSR.Graph_Req.NewGraph_ReqRow
|
||||
Dr.Gubun = "냉방에너지요구량"
|
||||
Dr.Mon = Format(mon, "0") & "월"
|
||||
Dr.Req = Math.Round(Result1.E요구량(mon).냉방면적, 1)
|
||||
Me.DSR.Graph_Req.Rows.Add(Dr)
|
||||
End If
|
||||
Next
|
||||
Next
|
||||
|
||||
'//연간에너지요구량및소요량
|
||||
'//Graph_requse gubun,type,
|
||||
'1차에너지소요량 에너지소요량 에너지요구량
|
||||
'신재생에너지(-57)
|
||||
'난방에너지 106 91.87445415 56.14013248
|
||||
'냉방에너지 155.3678094 119.8832527 40.83005443
|
||||
'급탕에너지 42.6421498 14.21404993 14.6
|
||||
'조명에너지 144.2220948 48.07403159 73.08380082
|
||||
'환기에너지 61.68818331 20.56272777
|
||||
|
||||
Dim 신재생에너지 As Decimal
|
||||
Dim 난방에너지 As Decimal
|
||||
Dim 냉방에너지 As Decimal
|
||||
Dim 급탕에너지 As Decimal
|
||||
Dim 조명에너지 As Decimal
|
||||
Dim 환기에너지 As Decimal
|
||||
'Dim 합계 As Decimal
|
||||
|
||||
|
||||
|
||||
Dim 소요량1차_신재생 As Decimal = 0
|
||||
Dim 소요량_신재생 As Decimal = 0
|
||||
|
||||
Dim 단위면적당신재생1차에너지합 As Decimal = 0
|
||||
Dim 단위면적당신재생1차에너지합offsite As Decimal = 0
|
||||
Dim 단위면적당1차에너소비량합 As Decimal = 0
|
||||
Dim 에너지자립률offsite As Decimal = 0
|
||||
Dim 에너지자립률 As Decimal = 0
|
||||
|
||||
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).조명전력 + Result1.일차E소요량(0).환기전력)
|
||||
|
||||
Dim Sum_offsite As Decimal = (Result1.생산E(0).태양광전력생산량_offsite + Result1.생산E(0).풍력전력생산량_offsite) / (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 난방_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).환기전력
|
||||
|
||||
|
||||
Dim 난방면적 As Decimal = 0
|
||||
Dim 냉방면적 As Decimal = 0
|
||||
Dim 조명면적 As Decimal = 0
|
||||
Dim 급탕면적 As Decimal = 0
|
||||
Dim 환기면적 As Decimal = 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 = 난방면적 + 냉방면적 + 조명면적 + 급탕면적 + 환기면적
|
||||
Dim 전기_offsite As Decimal = 난방면적_offsite + 냉방면적_offsite + 조명면적_offsite + 급탕면적_offsite + 환기면적_offsite
|
||||
|
||||
|
||||
'//열병합신재생에너지추가 130831 arin
|
||||
신재생에너지 = Math.Round(-1 * (Result1.생산E(0).면적당생산량태양열 + Result1.생산E(0).신재생면적당열생산량 + Result1.생산E(0).면적당생산량지열 + Result1.생산E(0).면적당생산량수열 + 전기 * 2.75), 1)
|
||||
Dim 신재생에너지_offsite As Decimal = Math.Round(-1 * (전기_offsite * 2.75), 1)
|
||||
|
||||
단위면적당신재생1차에너지합 = -1 * 신재생에너지
|
||||
단위면적당신재생1차에너지합offsite = -1 * 신재생에너지_offsite
|
||||
|
||||
|
||||
' 신재생에너지 = -1 * (합_열 + 합_전기 * 2.75) ' ' Result1.생산E(0).태양광전력생산량 * 2.75)
|
||||
|
||||
' Dim Sum As Decimal = (Result1.생산E(0).태양광전력생산량 * 2.75 + Result1.생산E(0).신재생열병합전력생산량 * 2.75) / (Result1.일차E소요량(0).난방전력 + Result1.일차E소요량(0).냉방전력 + Result1.일차E소요량(0).급탕전력 + Result1.일차E소요량(0).조명전력 + Result1.일차E소요량(0).환기전력)
|
||||
|
||||
|
||||
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
||||
Dr2.Gubun = "1차소요량"
|
||||
Dr2.type = "신재생에너지"
|
||||
Dr2.Req = 신재생에너지
|
||||
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
||||
|
||||
난방에너지 = Math.Round(Result1.일차E소요량(0).난방면적, 1)
|
||||
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
||||
Dr2.Gubun = "1차소요량"
|
||||
Dr2.type = "난방에너지"
|
||||
Dr2.Req = 난방에너지
|
||||
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
||||
|
||||
냉방에너지 = Math.Round(Result1.일차E소요량(0).냉방면적, 1)
|
||||
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
||||
Dr2.Gubun = "1차소요량"
|
||||
Dr2.type = "냉방에너지"
|
||||
Dr2.Req = 냉방에너지
|
||||
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
||||
|
||||
급탕에너지 = Math.Round(Result1.일차E소요량(0).급탕면적, 1)
|
||||
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
||||
Dr2.Gubun = "1차소요량"
|
||||
Dr2.type = "급탕에너지"
|
||||
Dr2.Req = 급탕에너지
|
||||
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
||||
|
||||
조명에너지 = Math.Round(Result1.일차E소요량(0).조명면적, 1)
|
||||
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
||||
Dr2.Gubun = "1차소요량"
|
||||
Dr2.type = "조명에너지"
|
||||
Dr2.Req = 조명에너지
|
||||
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
||||
|
||||
'계산결과!H92*3/계산결과!H27
|
||||
환기에너지 = Math.Round(Result1.일차E소요량(0).환기면적, 1)
|
||||
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
||||
Dr2.Gubun = "1차소요량"
|
||||
Dr2.type = "환기에너지"
|
||||
Dr2.Req = 환기에너지
|
||||
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
||||
|
||||
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
||||
Dr2.Gubun = "1차소요량"
|
||||
Dr2.type = "합계"
|
||||
Dr2.Req = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
||||
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
||||
|
||||
단위면적당1차에너소비량합 = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지 + Math.Round(단위면적당신재생1차에너지합, 1)
|
||||
|
||||
If 단위면적당1차에너소비량합 <> 0 Then
|
||||
|
||||
에너지자립률 = (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
|
||||
|
||||
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).조명전력 + 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 = 난방면적 + 냉방면적 + 조명면적 + 급탕면적 + 환기면적
|
||||
|
||||
'=-SUM(계산결과!G108:G109)-계산결과!F42-계산결과!F48-계산결과!F51-계산결과!F56-계산결과!F59
|
||||
|
||||
'F42=IF($G$15=0,0,F38/$G$15)
|
||||
'f38=(G104)/(SUM(H76:S76)+SUM(H85:S85)+SUM(H93:S93)+SUM(H97:S97)+SUM(H101:S101))*SUM(H76:S76)
|
||||
'g15=난방면적
|
||||
|
||||
'f48=IF($G$20=0,0,F44/$G$20)
|
||||
'f44=(G104)/(SUM(H76:S76)+SUM(H85:S85)+SUM(H93:S93)+SUM(H97:S97)+SUM(H101:S101))*SUM(H85:S85)
|
||||
'g20=냉방면적
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
'//열병합신재생에너지추가 130831 arin
|
||||
신재생에너지 = Math.Round(-1 * (Result1.생산E(0).면적당생산량태양열 + Result1.생산E(0).신재생면적당열생산량 + Result1.생산E(0).면적당생산량지열 + Result1.생산E(0).면적당생산량수열) - 면적, 1)
|
||||
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
||||
Dr2.Gubun = "소요량"
|
||||
Dr2.type = "신재생에너지"
|
||||
Dr2.Req = 신재생에너지
|
||||
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
||||
|
||||
난방에너지 = Math.Round(Result1.E소요량(0).난방면적, 1)
|
||||
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
||||
Dr2.Gubun = "소요량"
|
||||
Dr2.type = "난방에너지"
|
||||
Dr2.Req = 난방에너지
|
||||
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
||||
|
||||
|
||||
냉방에너지 = Math.Round(Result1.E소요량(0).냉방면적, 1)
|
||||
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
||||
Dr2.Gubun = "소요량"
|
||||
Dr2.type = "냉방에너지"
|
||||
Dr2.Req = 냉방에너지
|
||||
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
||||
|
||||
|
||||
급탕에너지 = Math.Round(Result1.E소요량(0).급탕면적, 1)
|
||||
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
||||
Dr2.Gubun = "소요량"
|
||||
Dr2.type = "급탕에너지"
|
||||
Dr2.Req = 급탕에너지
|
||||
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
||||
|
||||
조명에너지 = Math.Round(Result1.E소요량(0).조명면적, 1)
|
||||
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
||||
Dr2.Gubun = "소요량"
|
||||
Dr2.type = "조명에너지"
|
||||
Dr2.Req = 조명에너지
|
||||
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
||||
|
||||
환기에너지 = Math.Round(Result1.E소요량(0).환기면적, 1)
|
||||
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
||||
Dr2.Gubun = "소요량"
|
||||
Dr2.type = "환기에너지"
|
||||
Dr2.Req = 환기에너지
|
||||
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
||||
|
||||
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
||||
Dr2.Gubun = "소요량"
|
||||
Dr2.type = "합계"
|
||||
Dr2.Req = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
||||
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
||||
|
||||
|
||||
Case 2 '//에너지요구량
|
||||
Case 3 '//co2발생량
|
||||
|
||||
신재생에너지 = 0
|
||||
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
||||
Dr2.Gubun = "CO2발생량"
|
||||
Dr2.type = "신재생에너지"
|
||||
Dr2.Req = 신재생에너지
|
||||
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
||||
|
||||
난방에너지 = Math.Round(Result1.Co2발생량(0).난방면적, 1)
|
||||
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
||||
Dr2.Gubun = "CO2발생량"
|
||||
Dr2.type = "난방에너지"
|
||||
Dr2.Req = 난방에너지
|
||||
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
||||
|
||||
냉방에너지 = Math.Round(Result1.Co2발생량(0).냉방면적, 1)
|
||||
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
||||
Dr2.Gubun = "CO2발생량"
|
||||
Dr2.type = "냉방에너지"
|
||||
Dr2.Req = 냉방에너지
|
||||
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
||||
|
||||
급탕에너지 = Math.Round(Result1.Co2발생량(0).급탕면적, 1)
|
||||
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
||||
Dr2.Gubun = "CO2발생량"
|
||||
Dr2.type = "급탕에너지"
|
||||
Dr2.Req = 급탕에너지
|
||||
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
||||
|
||||
조명에너지 = Math.Round(Result1.Co2발생량(0).조명면적, 1)
|
||||
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
||||
Dr2.Gubun = "CO2발생량"
|
||||
Dr2.type = "조명에너지"
|
||||
Dr2.Req = 조명에너지
|
||||
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
||||
|
||||
'계산결과!H92*3/계산결과!H27
|
||||
환기에너지 = Math.Round(Result1.Co2발생량(0).환기면적, 1)
|
||||
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
||||
Dr2.Gubun = "CO2발생량"
|
||||
Dr2.type = "환기에너지"
|
||||
Dr2.Req = 환기에너지
|
||||
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
||||
|
||||
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
||||
Dr2.Gubun = "CO2발생량"
|
||||
Dr2.type = "합계"
|
||||
Dr2.Req = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
||||
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
||||
Case 4 '//1차에너지소요량(+계수) + 131020
|
||||
|
||||
End Select
|
||||
Next
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user