![]() |
|
#1
|
|||
|
|||
![]()
Hi Gmayor,
Thank you for your help anyway. I moved your code to a regular module, went into the rule and ran it but nothing happened. Maybe if I put the code into excel and try to run it it will work. Back to the drawing board. If it works, I was thinking of putting the excel workbooks in my startup so it will open when I sign in. If the code is in thissession hopefully it will automatically run. The I could set it up to do the additional code (My code) which I know works because I have been running that code every day. I just have to open it up each day and run the macros. Thanks anyway for your help. It's not easy for me because I am just a beginner. I have a lot more to learn. I did set up another rule see attached to see if it will work from outlook. Not likely. see attached. |
#2
|
|||
|
|||
![]()
Hi Gmayor:
Can't get it to work in Outlook. Can you tell me how to amend the code below so I can get it to work in excel instead: HTML Code:
Option Explicit Const strMasterPath As String = "\\fngn.com\us\Projects\Print Production\Reports\Master.csv" 'The full name of the master csv Const strPath As String = "\\fngn.com\us\Projects\Print Production\Reports\DSG Drop reports\" Sub ProcessAttachment(oItem As MailItem) Dim strFileName As String Dim olAtt As Attachment Dim lngCount As Long lngCount = 0 On Error GoTo err_handler If oItem.Attachments.Count > 0 Then For Each olAtt In oItem.Attachments If Right(olAtt.FileName, 4) = ".csv" Then strFileName = strPath & olAtt.FileName olAtt.SaveAsFile strFileName Exit For End If Next olAtt End If If FileExists(strMasterPath) Then lngCount = lngCount + 1 If lngCount = 1 Then GetCSVData strFileName, True Else GetCSVData strFileName End If lbl_Exit: Exit Sub err_handler: Err.Clear GoTo lbl_Exit End Sub Sub ProcessCSVFiles() 'Graham Mayor - www.gmayor.com 'The lngCount variable is used to determine whether to add the header row to the master file Dim strFile As String Dim lngCount As Long lngCount = 0 If FileExists(strMasterPath) Then lngCount = lngCount + 1 strFile = Dir$(strPath & "*.csv") While strFile <> "" lngCount = lngCount + 1 If lngCount = 1 Then GetCSVData strPath & strFile, True Else GetCSVData strPath & strFile End If DoEvents strFile = Dir$() Wend MsgBox "Finished" lbl_Exit: Exit Sub End Sub Sub GetCSVData(sfName As String, Optional bHeader As Boolean = False) 'Graham Mayor - www.gmayor.com 'If vHeader = true then write the header row 'The header row is a row that contains the text "Job No" Dim sTextRow As String Dim iFileNo As Integer iFileNo = FreeFile Open sfName For Input As #iFileNo Do While Not EOF(iFileNo) Line Input #iFileNo, sTextRow If bHeader Then AddToMaster sTextRow Else If InStr(1, sTextRow, "Job No") = 0 Then AddToMaster sTextRow End If End If Loop Close #iFileNo lbl_Exit: Exit Sub End Sub Sub AddToMaster(strLine As String) 'Graham Mayor - www.gmayor.com 'strline is the line of text to be added Dim oFSO As Object Dim oFile As Object Set oFSO = CreateObject("Scripting.FileSystemObject") Set oFile = oFSO.OpenTextFile(strMasterPath, 8, True, 0) oFile.Write strLine & vbCrLf oFile.Close lbl_Exit: Set oFSO = Nothing Set oFile = Nothing Exit Sub End Sub Private Function FileExists(strFullName As String) As Boolean 'Graham Mayor - www.gmayor.com 'strFullName is the name with path of the file to check Dim oFSO As Object Set oFSO = CreateObject("Scripting.FileSystemObject") If oFSO.FileExists(strFullName) Then FileExists = True Else FileExists = False End If lbl_Exit: Set oFSO = Nothing Exit Function End Function |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
![]() |
aaronbauer1980 | Excel Programming | 1 | 04-15-2016 05:53 PM |
![]() |
gbaker | Excel Programming | 2 | 04-08-2016 08:44 AM |
![]() |
sidbisk | Excel | 2 | 09-01-2015 02:11 PM |
![]() |
spiderman1369 | Word VBA | 2 | 10-15-2014 08:30 AM |
Can't Copy and Paste until new message is open | tabletop | Outlook | 0 | 12-04-2009 11:38 AM |