Private Sub CreateJournalFile()
Dim lngRow As Long
Dim lngLastRow As Long
On Error GoTo Err_Handler
mintFileNum = FreeFile
Open strJournalFile For Output As #mintFileNum
lngLastRow = Sheets(strName).Range("A65536").End(xlUp).Row
For lngRow = 2 To lngLastRow
Call AddJournalLine(Sheets(strName).Cells(lngRow, PC_POSTING_COL_TYPE), Sheets(strName).Cells(lngRow, PC_POSTING_COL_CCY), Sheets(strName).Cells(lngRow, PC_POSTING_COL_TDATE), Sheets(strName).Cells(lngRow, PC_POSTING_COL_SDATE), _
Sheets(strName).Cells(lngRow, PC_POSTING_COL_PRICE), Sheets(strName).Cells(lngRow, PC_POSTING_COL_QTY), Sheets(strName).Cells(lngRow, PC_POSTING_COL_ACCRUED), , Sheets(strName).Cells(lngRow, PC_POSTING_COL_NET), _
, Sheets(strName).Cells(lngRow, PC_POSTING_COL_GROSS), Sheets(strName).Cells(lngRow, PC_POSTING_COL_BROKER), Sheets(strName).Cells(lngRow, PC_POSTING_COL_TRADEREF), Sheets(strName).Cells(lngRow, PC_POSTING_COL_FUND), _
, Sheets(strName).Cells(lngRow, PC_POSTING_COL_SEDOL))
Next
Close #mintFileNum
Exit_Sub:
Exit Sub
Err_Handler:
RaiseError "CreateJournalFile", Err.Number, Err.Description
Resume Exit_Sub
End Sub
Private Sub AddJournalLine(strType As String, strCcy As String, strTDate As String, strSDate As String, dblPrice As Double, dblQty As Double, dblAccrued As Double, dblNet As Double, _
dblGross As Double, strBroker As String, strTRef As String, strFund As String, strSedol As String)
Dim strLine As String
On Error GoTo Err_Handler
'add line to file
strLine = strType
strLine = strLine & Space(PC_FILE_FILLER1)
strLine = strLine & strCcy & strCcy & strCcy
strLine = strLine & Space(PC_FILE_FILLER2)
strLine = strLine & Format(strTDate, PC_DATE_FORMAT_JRNL)
strLine = strLine & Format(strSDate, PC_DATE_FORMAT_JRNL)
strLine = strLine & Space(PC_FILE_FILLER3)
strLine = strLine & Abs(Round(dblPrice * 1000000, 2)) & Space(14 - Len(Abs(Round(dblPrice * 1000000, 2))))
strLine = strLine & Space(PC_FILE_FILLER4)
strLine = strLine & Abs(Round(dblQty * 1000000, 2)) & Space(19 - Len(Abs(Round(dblQty * 1000000, 2))))
strLine = strLine & Space(PC_FILE_FILLER5)
strLine = strLine & Abs(Round(dblAccrued * 100, 0)) & Space(19 - Len(Abs(Round(dblAccrued * 100, 2))))
strLine = strLine & Abs(Round(dblNet * 100, 2)) & Space(19 - Len(Abs(Round(dblNet * 100, 2))))
strLine = strLine & Abs(Round(dblGross * 100, 2)) & Space(19 - Len(Abs(Round(dblGross * 100, 2))))
strLine = strLine & Abs(Round(dblNet * 100, 2)) & Space(19 - Len(Abs(Round(dblNet * 100, 2))))
strLine = strLine & Space(PC_FILE_FILLER6)
strLine = strLine & strBroker & Space(20 - Len(strBroker))
strLine = strLine & Space(PC_FILE_FILLER7)
strLine = strLine & strTRef & Space(20 - Len(strTRef))
strLine = strLine & Space(PC_FILE_FILLER8)
strLine = strLine & strFund & Space(20 - Len(strFund))
strLine = strLine & Space(PC_FILE_FILLER9)
strLine = strLine & "03"
strLine = strLine & Space(PC_FILE_FILLER10)
strLine = strLine & strSedol & Space(20 - Len(strSedol))
strLine = strLine & Space(PC_FILE_FILLER11)
Print #mintFileNum, strLine
Exit_Sub:
Exit Sub
Err_Handler:
RaiseError "AddJournalLine", Err.Number, Err.Description
Resume Exit_Sub
End Sub
Bookmarks