I need help, and excel VBA isnt helping me figure out anything. : my code ran fine without the things post the content part, i need to output a text file with the object name and the text inside of it. if one of you geniuses could figure out how to have it be .CSV i would absolutely adore it, but a .txt works for my purposes. the error i am getting says that it is out of the range, and i have no idea how to move forward. so any help works.

    Sub test()
    Dim objFSO As Object, objFile
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile("C:\Users\[user]\Documents\text.txt", 2)
    objFile.Write "" 'This clears the text file
    
    Dim obj As Shape
    
    For Each obj In ActiveSheet.Shapes
        sWrite = obj.Name & "; Content: " & obj.TextFrame2.TextRange.Characters(0, 300)
        Debug.Print sWrite
        objFile.WriteLine sWrite
    Next obj
    objFile.Close
    End Sub

