Удалить двойные кавычки с помощью VBA
У меня есть текстовый файл, который как показано ниже
"asdf","dfgv","asd","sdgs"
"sfgf","xcbvcvb","gsfgf","sdvxc"
"asfdfg","fbgdfg","sdfsd","fdg"
"bdg","sdf","fgfdg","fcg"
"sdf","fbcx","ckvknm","fklf"
"xv","asds","r","cxv"
Но я хочу вывод, который выглядит так
asdf,dfgv,asd,sdgs
sfgf,xcbvcvb,gsfgf,sdvxc
asfdfg,fbgdfg,sdfsd,fdg
bdg,sdf,fgfdg,fcg
sdf,fbcx,ckvknm,fklf
xv,asds,r,cxv
Я прошел по ссылке ниже и изменил код с "Запись № 1" на "Печать № 1". Но проблема в том, что я хочу, чтобы этот файл массово вставлялся на сервер SQL. Следовательно, использование печати не помогает мне. Удалить двойные кавычки из оператора записи в VBA
4 ответа
Вы можете использовать Replace
функция для удаления всех символов кавычки:
result = Replace(original_string, string_you_want_to_remove, replace_with )
example = Replace(original_string , CHR(34), "")
Спасибо всем, но я нашел другой способ удаления двойных кавычек с помощью пакетного сценария, как показано ниже.
set objRe = new RegExp
objRE.Pattern = "\"""
objRE.Global = True
strFileName = "Source.txt"
set objFS = CreateObject("Scripting.FileSystemObject")
set objTS = objFS.OpenTextFile(strFileName)
strFileContents = objTS.ReadAll
objTS.Close
strNewContents = objRE.replace(strFileContents,"")
set objWS = objFS.CreateTextFile("Results.txt")
objWS.Write StrNewContents
objWS.close
Попробуйте этот код:
Sub CleanFile()
Dim fileName, FSO, rfile, wfile As Variant
Dim line As String, dotAt As Integer, newFileName As String
fileName = Application.GetOpenFilename(, , "Load Excel File", , False)
If fileName = "False" Then
MsgBox "No file chosen"
Exit Sub
End If
dotAt = InStrRev(fileName, ".")
newFileName = Left(fileName, dotAt - 1) + " - CLEAN.txt"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set rfile = FSO.OpenTextFile(fileName, 1) 'connection for reading
Set wfile = FSO.OpenTextFile(newFileName, 8, True, -1) 'connection for writing
Do Until rfile.AtEndOfStream
line = rfile.ReadLine
wfile.WriteLine Replace(line, """", "")
Loop
End Sub