Home » excel » vba – Selecting export column for CSV in Excel

vba – Selecting export column for CSV in Excel

Posted by: admin May 14, 2020 Leave a comment

Questions:

I have found the following code that parses the text of a PPT file and dumps it into a CSV file.

 Sub ExportTextToCSV()

  Dim oPres As Presentation
  Dim oSlides As Slides
  Dim oSld As Slide         'Slide Object
  Dim oShp As Shape         'Shape Object
  Dim iFile As Integer      'File handle for output
  Dim sTempString As String

  Dim PathSep As String
  Dim Quote As String
  Dim Comma As String
  iFile = FreeFile          'Get a free file number

  #If Mac Then
    PathSep = ":"
  #Else
    PathSep = "\"
  #End If

  Quote = Chr$(34)
  Comma = ","

  Set oPres = ActivePresentation
  Set oSlides = oPres.Slides

  'Open output file
  ' NOTE:  errors here if original PPT file hasn't been saved
  Open oPres.Path & PathSep & "ParsedText1.csv" For Output As iFile

  For Each oSld In oSlides    'Loop thru each slide
    For Each oShp In oSld.Shapes                'Loop thru each shape on slide

      'Check to see if shape has a text frame and text
      If oShp.HasTextFrame And oShp.TextFrame.HasText Then
          sTempString = sTempString & Quote & oShp.TextFrame.TextRange.Text & Quote & Comma
      End If

    Next oShp

    ' print the result to file:
    Print #iFile, sTempString
    sTempString = ""

  Next oSld

  'Close output file
  Close #iFile

End Sub

When I run this, it dumps the text into column A of the CSV file. Is there any modification that will allow me to choose which column to dump it into? For example, if i want it to dump into column D, what modification do I do?
Any help is appreciated!

How to&Answers:

For column D, write 3 commas before the string.

Thus from:

sTempString = sTempString & Quote & oShp.TextFrame.TextRange.Text & Quote & Comma

Write:

sTempString = sTempString & ",,," & Quote & oShp.TextFrame.TextRange.Text & Quote & Comma