Как удалить содержимое текстового файла с помощью VBA? - PullRequest
2 голосов
/ 19 июня 2019

Я хотел бы проводить транзакции с SAP, я использую файл cvs в качестве экспортируемого файла, но в конце я хотел бы удалить содержимое этого файла, не удаляя его, просто удалите содержимое.

      Sub OpenCSVFile()
       '
       ' Load the CSV extract
       '

       '
     With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;" & fpath & "\" & ffilename, Destination:=Range("$A$1"))
    .Name = "text"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = 850
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = False
    .TextFileSpaceDelimiter = False
    .TextFileOtherDelimiter = "|"
    .TextFileColumnDataTypes = Array(1)
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False

     End With


     With ActiveSheet
    .Columns(1).EntireColumn.Delete 'delete first column
    .Rows("1:7").EntireRow.Delete 'delete first 7 rows
     End With

     End Sub

Ответы [ 2 ]

2 голосов
/ 19 июня 2019
Sub ClearContents()

    Open "C:\Users\Username\Desktop\test1.csv" For Output As #1: Close #1
    MsgBox "Clear complete"

End Sub

Просто измените путь к файлу, где находится ваш CSV-файл.

1 голос
/ 19 июня 2019

Если вы хотите очистить содержимое файла csv, тогда попробуйте этот макрос

Sub clear()
   Workbooks.Open Filename:="C:\Users\p100789\Documents\SAP\SAP GUI\test.csv"
   Cells.ClearContents
   Activeworkbook.Close SaveChanges:=True
End Sub

ПРИМЕЧАНИЕ: Вы должны заменить путь к файлу своим

Если файл .CSV находится в той же папке, вы можете автоматически выбрать каталог с помощью следующей командной строки:

filepath = ActiveWorkbook.Path & "\"

Итак, ваш код будет:

 Sub clear()
   Dim filepath As String
   Dim FileName As String
   filepath = ActiveWorkbook.Path & "\"
   FileName = "Book2.csv"

   Workbooks.Open Filename:=filepath & Filename
   Cells.ClearContents
   Activeworkbook.Close SaveChanges:=True
End Sub

Надеюсь, эта помощь =)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...