Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11
Default Writing to a text file

I'm attempting to understand this code, it was written by several
people and now I have to try and amend it: the code is:


Dim meWorkbook As Workbook
Dim inputInvoiceWorkbook As Workbook
Dim totalrateval, totalactualNI, actNIcol As Integer


'################################################# #############################
Private Static Sub cbInvoiceBrowse_Click()
Dim processingDir As Range

If processingDir Is Nothing Then
Set processingDir = meWorkbook.Sheets("Data").Range("B5")
End If

'On Error GoTo cancelFileSelect
dlgFile.dbFileOpen.DialogTitle = "Select input invoice..."
dlgFile.dbFileOpen.filename = processingDir.value & "*.xls"

dlgFile.dbFileOpen.ShowOpen

Me.tbFilename.Text = dlgFile.dbFileOpen.filename
processingDir.value = VBA.Left(Me.tbFilename.Text,
VBA.InStrRev(Me.tbFilename.Text, "\"))
cancelFileSelect:
End Sub

'################################################# #############################
Private Sub cbOpen_Click()
Dim sheet As Worksheet
Dim isCPC As Boolean

closeInputInvoiceWorkbook
Set inputInvoiceWorkbook = Workbooks.Open(tbFilename.Text)

Me.lbSheetSelect.Clear
For Each sheet In inputInvoiceWorkbook.Sheets
Me.lbSheetSelect.AddItem (sheet.Name)
If meWorkbook.Sheets("Data").Range("B6").value Then
' If invoiceEngine.checkCPC(sheet) Then
frmInvoiceProcessor.xbCPCExport.Enabled = True
'frmInvoiceProcessor.xbCPCExport.value = 1
' End If
End If
Next sheet
' temp test with being able to cpc regardless of if we think we have
cpc data.
'frmInvoiceProcessor.xbCPCExport.Enabled = True

Me.cbProcess.Enabled = True
Me.cbSelectAll.Enabled = True
Me.cbUnselectAll.Enabled = True
End Sub

Private Sub cbxSupplier_Change()

End Sub

Private Sub cmdCleanse_Click()
Dim index As Integer
Dim sheetName As String

If Me.tbInvoiceNumber = "" Then
MsgBox "Please enter 'Batch Number' before pressing " &
Me.cbProcess.Caption
GoTo fail
End If

invoiceEngine.setCPCRate (VBA.val(Me.tbCPCRate.value))

index = 0
While index < Me.lbSheetSelect.ListCount
If Me.lbSheetSelect.Selected(index) Then
sheetName = Me.lbSheetSelect.List(index)
Me.lbSheetSelect.RemoveItem index
Me.tbSheetName.Text = sheetName
Me.Repaint
cleanse_sheet inputInvoiceWorkbook, sheetName,
Me.xbCPCExport.value
Else
index = index + 1
End If
Wend

Dim Msg, Style, Title, response
Msg = "Do you want to save cleansed sheet and Continue ?"
Style = vbYesNo + vbSystemModal + vbQuestion + vbDefaultButton2
Title = "Sheet(s) Cleansed."
response = MsgBox(Msg, Style, Title)
If response = vbYes Then
'save cleansed file
Dim sheet As Worksheet
inputInvoiceWorkbook.SaveAs inputInvoiceWorkbook.Path &
"\CLEANSED_" & " " & inputInvoiceWorkbook.Name '& Me.tbInvoiceNumber
'refresh sheet list box
Me.lbSheetSelect.Clear
For Each sheet In inputInvoiceWorkbook.Sheets
Me.lbSheetSelect.AddItem (sheet.Name)
If meWorkbook.Sheets("Data").Range("B6").value Then
frmInvoiceProcessor.xbCPCExport.Enabled = True
End If
Next sheet
Me.cbProcess.Enabled = True
Me.cbSelectAll.Enabled = True
Me.cbUnselectAll.Enabled = True
Else
'close file
'exit form
Dim alertstatus As Boolean
alertstatus = Application.DisplayAlerts
Application.DisplayAlerts = False
'closeInputInvoiceWorkbook
Me.Hide
Application.DisplayAlerts = alertstatus
End If

fail:
End Sub

'################################################# #############################
Private Sub cbProcess_Click()
Dim index As Integer
Dim sheetName As String

' Disable some of the buttons
Me.cbOpen.Enabled = False
' Me.cbRateBrowse.Enabled = False
Me.cbInvoiceBrowse.Enabled = False
' Set busy cursor
Me.MousePointer = fmMousePointerHourGlass

' check if we have an invoice number - fail if not
If Me.tbInvoiceNumber = "" Then
MsgBox "Please enter 'Batch Number' before pressing " &
Me.cbProcess.Caption
GoTo fail
End If

'set odbc lookup connect data
If Not ODBCLookupModule.initializeDb(Me.txtDSN, Me.txtUserId,
Me.txtPassword) Then
MsgBox "Failed to initialise lookup database."
GoTo fail
End If

' set VAT rate (just in case)
invoiceEngine.setVatRate (VBA.val(Me.tbVAT.value))
invoiceEngine.setCPCRate (VBA.val(Me.tbCPCRate.value))

invoiceEngine.setSupplier (Me.cbxSupplier.value)
invoiceEngine.setInvType (Me.cbxType.value)
invoiceEngine.setBatchNo (Me.tbInvoiceNumber)

' Create output wb & files
createOutputWorkbook meWorkbook, Me.xbMargin.value, Me.xbCPCExport
'If Me.xbCPCExport.value Then
cpcExport.initCPCExport
Replace(meWorkbook.Sheets("Data").Range("B7").valu e, "#", _
Me.tbInvoiceNumber.value)
'End If

' tell process to get on with it for all the selected sheets
index = 0
While index < Me.lbSheetSelect.ListCount
If Me.lbSheetSelect.Selected(index) Then
sheetName = Me.lbSheetSelect.List(index)
Me.lbSheetSelect.RemoveItem index
Me.tbSheetName.Text = sheetName
Me.Repaint
invoiceEngine.process_sheet inputInvoiceWorkbook,
sheetName, _
Me.xbCPCExport.value, Me.tbInvoiceNumber.value
Else
index = index + 1
End If
Wend

' Tidy GUI
Me.tbSheetName.Text = "<<COMPLETED - SAVE"
ODBCLookupModule.finalizeDb
Me.cbSaveAs.Enabled = True
fail:
Me.MousePointer = fmMousePointerDefault


End Sub

'################################################# #############################
Sub ProgressBar(percent As Integer)
ProgressBar1.value = percent
ProgressBar1.Refresh
End Sub

'################################################# #############################
Private Sub cbRateBrowse_Click()
dlgFile.dbFileOpen.DialogTitle = "Select lookup workbook..."

dlgFile.dbFileOpen.ShowOpen

Me.tbRateFilename.Text = dlgFile.dbFileOpen.filename

cbOpen.Default = True
End Sub

Private Sub cbProcess_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

End Sub

'################################################# #############################
Private Sub cbSelectAll_Click()
Dim index As Integer

For index = 0 To lbSheetSelect.ListCount - 1
lbSheetSelect.Selected(index) = True
Next index
End Sub

'################################################# #############################
Private Sub cbUnselectAll_Click()
Dim index As Integer

For index = 0 To lbSheetSelect.ListCount - 1
lbSheetSelect.Selected(index) = False
Next index
End Sub


'################################################# #############################
Private Sub tbFilename_Change()
Me.cbOpen.Enabled = True
End Sub

'################################################# #############################
Private Static Sub cbSaveAs_Click()
Dim alertstatus As Boolean
Dim msgResponse As Integer
Dim saveDir As Range
Dim wbFilename As String
Dim marginWBFilename As String
Dim emailAddress As String

emailAddress = meWorkbook.Sheets("Data").Range("B11")

If saveDir Is Nothing Then
Set saveDir = meWorkbook.Sheets("Data").Range("B8")
End If

If errorLog.numberErrors 0 Then
msgResponse = MsgBox("ProCur Invoice workbook has errors saved
in error tab, save error tab?", vbYesNoCancel)
If (msgResponse = vbNo) Then
errorLog.clearErrorLog
ElseIf msgResponse = vbCancel Then
Exit Sub
End If
End If

dlgFile.dbFileOpen.DialogTitle = "Choose filename to save ProCur
invoice..."
dlgFile.dbFileOpen.filename = saveDir.value & "OUTPUT_" & _
VBA.Mid(Me.tbFilename.value,
VBA.InStrRev(Me.tbFilename.value, "\") + 1) 'Me.tbInvoiceNumber.value
& " "
dlgFile.dbFileOpen.ShowSave
wbFilename = dlgFile.dbFileOpen.filename

' must do this before errorlog.exitErrorLog !!!!
'If Me.xbCPCExport.value Then
cpcExport.exitCPCExport (errorLog.numberErrors = 0),
emailAddress
'End If

' Inc invoice number (must unlock while doing that)
Me.tbInvoiceNumber.Locked = False
' Save and close new workbook
cleanOutputWorkbook
' close error log sheet before saving
errorLog.exitErrorLog

saveDir.value = VBA.Left(wbFilename, VBA.InStrRev(wbFilename,
"\"))
marginWBFilename = saveDir.value & "MARGIN_" & VBA.Mid(wbFilename,
VBA.InStrRev(wbFilename, "\") + 1)
saveOutputWorkbook wbFilename, marginWBFilename,
Me.tbFilename.Text, Me.tbInvoiceNumber.Text
closeOutputWorkbook

If Me.xbCPCExport Then
Me.tbInvoiceNumber.value = Me.tbInvoiceNumber.value + 1
Me.tbInvoiceNumber.Locked = True
End If

' We're done so hide me
UserForm_Hide
End Sub



'################################################# #############################
Private Static Sub UserForm_Activate()
Dim firstActiveWorkbook As Workbook
If firstActiveWorkbook Is Nothing Then
Set firstActiveWorkbook = ActiveWorkbook
End If
Set meWorkbook = firstActiveWorkbook
Dim Version

'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ VERSION @@@@@
Const InternalVersion As String = "1.7.10 (Beta)"
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ VERSION @@@@@

Version = meWorkbook.Sheets("Data").Range("B9").value
If Version < InternalVersion Then
MsgBox "I think I'm version " & InternalVersion & " but
Version in Data sheet is " & Version & ". Cannot Continue"
UserForm_Hide
Exit Sub
End If

Me.Caption = "ProCur Invoice Processor v" & InternalVersion

Me.tbFilename.value = ""
Me.lbSheetSelect.Clear
Me.cbSaveAs.Enabled = False
Me.cbProcess.Enabled = False
Me.cbSelectAll.Enabled = False
Me.cbUnselectAll.Enabled = False
Me.cbOpen.Enabled = False
Me.cbInvoiceBrowse.Enabled = True
Me.txtDSN = "Prod"
Me.txtUserId = "**hidden***"
Me.txtPassword = "**hidden****"
Me.ProgressBar1.value = 0

frmInvoiceProcessor.xbCPCExport.value = 1
'frmInvoiceProcessor.xbCPCExport.Enabled = True
frmInvoiceProcessor.xbCPCExport.value = 0
frmInvoiceProcessor.xbCPCExport.Enabled = False

If cbxType.ListCount < 1 Then
cbxType.AddItem "OB"
cbxType.AddItem "CPC"
cbxType.AddItem "ST"
cbxType.Style = fmStyleDropDownList
cbxType.BoundColumn = 1
cbxType.ListIndex = 0
cbxType.Enabled = True

Dim supRow As Integer
supRow = 13
Do While meWorkbook.Worksheets("Data").Cells(supRow, 11).value
< ""
cbxSupplier.AddItem
meWorkbook.Worksheets("Data").Cells(supRow, 11).value
supRow = supRow + 1
Loop
cbxSupplier.Style = fmStyleDropDownList
cbxSupplier.BoundColumn = 1
cbxSupplier.ListIndex = 0
cbxSupplier.Enabled = True
End If

End Sub

'################################################# #############################
Private Sub cbCancel_Click()
Dim msgResponse As Integer

msgResponse = MsgBox("Close Invoice Processing Macro (All
processed sheets will be lost)?", vbYesNo)
If (msgResponse = vbYes) Then
If Me.xbCPCExport.value Then
cpcExport.exitCPCExport False, ""
End If
errorLog.exitErrorLog
closeOutputWorkbook
UserForm_Hide
End If

End Sub

'################################################# #############################
Private Sub UserForm_Hide()
Me.tbSheetName.Text = ""
' done with input workbook
closeInputInvoiceWorkbook
ODBCLookupModule.finalizeDb
Me.Hide
End Sub

'################################################# #############################
Sub closeInputInvoiceWorkbook()
On Error GoTo fail
If Not (inputInvoiceWorkbook Is Nothing) Then
Dim alertstatus As Boolean
alertstatus = Application.DisplayAlerts
Application.DisplayAlerts = False
inputInvoiceWorkbook.Close
Set inputInvoiceWorkbook = Nothing
Application.DisplayAlerts = alertstatus
End If
fail:
End Sub

'################################################# #############################
Private Sub xbCPCExport_Change()
If Not (meWorkbook Is Nothing) Then
If xbCPCExport.value Then
' Me.tbInvoiceNumber.ControlSource = "'[" & meWorkbook.Name
& "]Data'!B10"
Me.tbInvoiceNumber.Locked = False
'Me.tbInvoiceNumber.MousePointer = fmMousePointerNoDrop
Else
' Me.tbInvoiceNumber.value = ""
' Me.tbInvoiceNumber.ControlSource = ""
Me.tbInvoiceNumber.Locked = False
Me.tbInvoiceNumber.MousePointer = fmMousePointerDefault
End If
End If
End Sub

Somehow this code (or maybe you need all the relevant code) cleanses a
particular spreadsheet, then outputs 3 more spreadsheets and a csv
file. The csv file data is compiled of the input spreadsheet and also
lookup into a Oracle database for certain values and then writes them
to a csv file. I need to know how it wrires to the csv file so I can
add other fields to the csv file.

Please help

Regards

Rachelle
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Writing strings to a text file ? Dan Thompson Excel Programming 3 September 23rd 04 07:17 PM
Writing to a text file some data Tom Ogilvy Excel Programming 0 September 9th 04 04:25 PM
WRITING TO A TEXT FILE WITH SPECIFIC FORMAT [email protected] Excel Programming 2 December 27th 03 05:04 AM
Writing a text file from Excel using VBA ... a small issue ajames54 Excel Programming 3 December 3rd 03 03:35 PM
Writing multilines to a text file without closing ccdubs Excel Programming 1 July 10th 03 07:43 AM


All times are GMT +1. The time now is 02:33 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"