Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用VBA将文本文件导入Excel到表中,而无需刷新所有内容_Vba_Excel - Fatal编程技术网

使用VBA将文本文件导入Excel到表中,而无需刷新所有内容

使用VBA将文本文件导入Excel到表中,而无需刷新所有内容,vba,excel,Vba,Excel,这是我使用的代码。我遇到的问题是,每次我导入一些文本文件到表中,它就会清除表中的所有内容,包括表行和格式 我想问一下,是否有必要将文本文件导入到我们想要的区域,而不损害其他单元格我将使用文件脚本对象来读取文本文件。本例使用后期绑定,但也可以提前绑定。读取一个变量,然后将该变量设置为outputrange会更有效 Sub ImportTextFile() Dim rPaht As String Dim rFileName As String rPaht = Sheet1.Range("C9") r

这是我使用的代码。我遇到的问题是,每次我导入一些文本文件到表中,它就会清除表中的所有内容,包括表行和格式


我想问一下,是否有必要将文本文件导入到我们想要的区域,而不损害其他单元格

我将使用文件脚本对象来读取文本文件。本例使用后期绑定,但也可以提前绑定。读取一个变量,然后将该变量设置为outputrange会更有效

Sub ImportTextFile()
Dim rPaht As String
Dim rFileName As String
rPaht = Sheet1.Range("C9")
rFileName = Sheet1.Range("C10")
Range("G8").CurrentRegion.Offset(1, 0).Clear

With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;" & rPaht & "\" & rFileName & ".txt", Destination:= _
    Range("$g$9"))
    .Name = Sheet1.Range("C10").Value
    .TextFilePlatform = 874
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileOtherDelimiter = ":"
    .Refresh BackgroundQuery:=False
End With
Sheet1.Range("C9") = rPaht
Sheet1.Range("C10") = rFileName
End Sub
Sub-ImportTextFile()
Dim rPath作为字符串,rFileName作为字符串,fs作为对象,fsFile作为对象,iLine作为整数
rPath=Sheet1.范围(“C9”)
rFileName=Sheet1.范围(“C10”)
范围(“G8”)。当前区域。偏移量(1,0)。清除
'使用FileScript对象在Windows上打开文件
设置fs=CreateObject(“Scripting.FileSystemObject”)
设置fsFile=fs.OpenTextFile(rPath&“\”&rFileName,1,False)
'循环浏览文件
当fsFile.AtEndOfStream为True时执行此操作
iLine=iLine+1
Sheet1.Cells(iLine+8,1)=VBA.Split(fsFile.ReadLine,vbTab)
环
设置fs=Nothing
设置fsFile=Nothing
端接头
Sub ImportTextFile()
   Dim rPath As String, rFileName As String, fs As Object, fsFile As Object, iLine As Integer

   rPath = Sheet1.Range("C9")
   rFileName = Sheet1.Range("C10")
   Range("G8").CurrentRegion.Offset(1, 0).Clear

   'Use filescripting object to open the file on Windows
   Set fs = CreateObject("Scripting.FileSystemObject")
   Set fsFile = fs.OpenTextFile(rPath & "\" & rFileName, 1, False)

    'Loop through the file
   Do While fsFile.AtEndOfStream <> True
       iLine = iLine + 1

       Sheet1.Cells(iLine + 8, 1) = VBA.Split(fsFile.ReadLine, vbTab)
   Loop

   Set fs = Nothing
   Set fsFile = Nothing
End Sub