Results 1 to 5 of 5

Save file as CSV from XLS after VBA applied

Threaded View

djfscouse Save file as CSV from XLS... 07-05-2013, 12:14 PM
patel45 Re: Save file as CSV from XLS... 07-05-2013, 01:53 PM
djfscouse Re: Save file as CSV from XLS... 07-05-2013, 02:41 PM
HaHoBe Re: Save file as CSV from XLS... 07-05-2013, 04:01 PM
djfscouse Re: Save file as CSV from XLS... 07-05-2013, 05:10 PM
  1. #1
    Forum Contributor
    Join Date
    07-31-2012
    Location
    Los Angeles, USA
    MS-Off Ver
    2003, 2010, 365
    Posts
    320

    Save file as CSV from XLS after VBA applied

    Hi,

    I have a set of VBA code that opens my template.xls file and moves specific data over from the file I open which is also an XLS file.

    When I run the below script it saves each file as a CSV which is what I want but it is not a true CSV file as when I open it in notepad the format is that of an excel file.

    The test.xls contains the below VBA and I have also attached the Template.xls

    Here is my current VBA below:
    Sub SaveCSVFiles()
    '
    '
    '
    
        Cells.Select
        Cells.EntireColumn.AutoFit
       
       Dim wb As Workbook
       Dim rng As Range
       Dim sTemplate As String
       Dim sFilename As String
       Dim NextRow As Long
       
       sTemplate = "C:\Documents and Settings\user\My Documents\MPEDIOrders\CFXEDIExport\Temp\Template.xls"
       If Dir(sTemplate) = "" Then
          MsgBox "Template does not exist!"
          Exit Sub
       End If
       
       Set rng = ActiveSheet.Range("B2")
       
       Do Until rng = ""
          On Error Resume Next
          Set wb = Workbooks.Open(sTemplate)
          
          With wb.Worksheets(1)
             .Range("A1").Offset(NextRow).Value = rng.Offset(, -1).Value    ' SHIP_TO_CODE
             .Range("B1").Offset(NextRow).Value = rng.Offset(, 0).Value     ' CUSTOMERPO
             .Range("C1").Offset(NextRow).Value = rng.Offset(, 1).Value     ' NUMBOXES
             .Range("D1").Offset(NextRow).Value = rng.Offset(, 2).Value     ' WEIGHT
             .Range("E1").Offset(NextRow).Value = rng.Offset(, 3).Value     ' USER_DEFINED1 - SCAC CODE
             .Range("F1").Offset(NextRow).Value = rng.Offset(, 4).Value     ' SHIPPING_METHOD
             .Range("G1").Offset(NextRow).Value = rng.Offset(, 5).Value     ' DATE_SHIPPED
             .Range("H1").Offset(NextRow).Value = rng.Offset(, 6).Value     ' SHIP_TO_NAME
             .Range("I1").Offset(NextRow).Value = rng.Offset(, 7).Value     ' SHIP_TO_ADDR1
             .Range("J1").Offset(NextRow).Value = rng.Offset(, 8).Value     ' SHIP_TO_ADDR2
             .Range("K1").Offset(NextRow).Value = rng.Offset(, 9).Value     ' SHIP_TO_CITY
             .Range("L1").Offset(NextRow).Value = rng.Offset(, 10).Value    ' SHIP_TO_STATE
             .Range("M1").Offset(NextRow).Value = rng.Offset(, 11).Value    ' SHIP_TO_ZIP
             .Range("N1").Offset(NextRow).Value = rng.Offset(, 11).Value    ' SHIP_TO_COUNTRY
             .Range("O1").Offset(NextRow).Value = rng.Offset(, 13).Value    ' ORDER_DATE
             .Range("P1").Offset(NextRow).Value = rng.Offset(, 14).Value    ' TRACKINGNO
             .Range("Q1").Offset(NextRow).Value = rng.Offset(, 15).Value    ' PRODUCTID
             .Range("R1").Offset(NextRow).Value = rng.Offset(, 16).Value    ' ENDCUSTOMERPRODUCTID
          End With
          
            Set rng = rng.Offset(1, 0)
          
            'Multi-Item loop
          With wb.Worksheets(1)
            NextRow = 1
            Do Until rng.Offset(-1, 0) <> rng.Value
             .Range("A1").Offset(NextRow).Value = rng.Offset(, -1).Value    ' SHIP_TO_CODE
             .Range("B1").Offset(NextRow).Value = rng.Offset(, 0).Value     ' CUSTOMERPO
             .Range("C1").Offset(NextRow).Value = rng.Offset(, 1).Value     ' NUMBOXES
             .Range("D1").Offset(NextRow).Value = rng.Offset(, 2).Value     ' WEIGHT
             .Range("E1").Offset(NextRow).Value = rng.Offset(, 3).Value     ' USER_DEFINED1 - SCAC CODE
             .Range("F1").Offset(NextRow).Value = rng.Offset(, 4).Value     ' SHIPPING_METHOD
             .Range("G1").Offset(NextRow).Value = rng.Offset(, 5).Value     ' DATE_SHIPPED
             .Range("H1").Offset(NextRow).Value = rng.Offset(, 6).Value     ' SHIP_TO_NAME
             .Range("I1").Offset(NextRow).Value = rng.Offset(, 7).Value     ' SHIP_TO_ADDR1
             .Range("J1").Offset(NextRow).Value = rng.Offset(, 8).Value     ' SHIP_TO_ADDR2
             .Range("K1").Offset(NextRow).Value = rng.Offset(, 9).Value     ' SHIP_TO_CITY
             .Range("L1").Offset(NextRow).Value = rng.Offset(, 10).Value    ' SHIP_TO_STATE
             .Range("M1").Offset(NextRow).Value = rng.Offset(, 11).Value    ' SHIP_TO_ZIP
             .Range("N1").Offset(NextRow).Value = rng.Offset(, 11).Value    ' SHIP_TO_COUNTRY
             .Range("O1").Offset(NextRow).Value = rng.Offset(, 13).Value    ' ORDER_DATE
             .Range("P1").Offset(NextRow).Value = rng.Offset(, 14).Value    ' TRACKINGNO
             .Range("Q1").Offset(NextRow).Value = rng.Offset(, 15).Value    ' PRODUCTID
             .Range("R1").Offset(NextRow).Value = rng.Offset(, 16).Value    ' ENDCUSTOMERPRODUCTID
                  Set rng = rng.Offset(1, 0)
                NextRow = NextRow + 1
            Loop
          End With
                NextRow = 0
          'Save the filename as order number
          cName = Range("A1")
          sFilename = "C:\Documents and Settings\user\My Documents\MPEDIOrders\CFXEDIExport\Ready\" & cName & "-" & rng.Offset(-1).Value & ".csv"
          wb.Close Savechanges:=True, Filename:=sFilename
       
       Loop
          
       'Reset variables
       Set rng = Nothing
       Set wb = Nothing
          
    End Sub
    Thanks for any help,

    David
    Attached Files Attached Files
    Last edited by djfscouse; 07-05-2013 at 12:26 PM.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1