none
咨询一下VBA当中扫描文本文件,如何从指定的行开始扫描(比如说从第10001行开始扫描) RRS feed

  • 问题

  • 咨询一下VBA当中扫描文本文件,如何从指定的行开始扫描
    如果我想按行扫描一个文本文件,写下了如下代码
     Dim fso 
      Dim txt
    Dim str_path As String
    str_path = Sheets("Sheet5").Cells(24, 7)
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set txt = fso.OpenTextFile(str_path, 1, True)
      Do

          If txt.AtEndOfStream Then Exit Do
            col_text = txt.ReadLine 
       Loop


    这种扫描方式是从第一行扫描到最后一行,如果我希望能够从特定的行开始扫描,请问如何编码才好,(比如说从第10001行开始扫描),请高手们指点一下迷津。

    2009年6月1日 1:57

答案

  • 咨询一下VBA当中扫描文本文件,如何从指定的行开始扫描
    如果我想按行扫描一个文本文件,写下了如下代码
     Dim fso 
      Dim txt
    Dim str_path As String
    str_path = Sheets("Sheet5").Cells(24, 7)
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set txt = fso.OpenTextFile(str_path, 1, True)
      Do

          If txt.AtEndOfStream Then Exit Do
            col_text = txt.ReadLine 
       Loop


    这种扫描方式是从第一行扫描到最后一行,如果我希望能够从特定的行开始扫描,请问如何编码才好,(比如说从第10001行开始扫描),请高手们指点一下迷津。


    Sub Example()
        Dim intPara As Integer
        Dim ParaCount As Integer
        Dim myRange As Range
        Dim strText As String
        intPara = Val(InputBox("ÇëÊäÈ뿪ʼµÄ¶ÎÂä±àºÅ", "Rousoft Office", 1000))
        With Word.ActiveDocument
            ParaCount = .Content.Paragraphs.Count
            If intPara > 0 And intPara <= ParaCount Then
                Set myRange = .Range(.Paragraphs(intPara).Range.Start, .Content.End)
                strText = myRange.Text
            End If
        End With
    End Sub
    Let's do it better !
    2009年6月13日 22:37
    版主

全部回复

  • 没人知道怎么做这个编码吗?!?!
    2009年6月11日 0:50
  • 咨询一下VBA当中扫描文本文件,如何从指定的行开始扫描
    如果我想按行扫描一个文本文件,写下了如下代码
     Dim fso 
      Dim txt
    Dim str_path As String
    str_path = Sheets("Sheet5").Cells(24, 7)
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set txt = fso.OpenTextFile(str_path, 1, True)
      Do

          If txt.AtEndOfStream Then Exit Do
            col_text = txt.ReadLine 
       Loop


    这种扫描方式是从第一行扫描到最后一行,如果我希望能够从特定的行开始扫描,请问如何编码才好,(比如说从第10001行开始扫描),请高手们指点一下迷津。


    Sub Example()
        Dim intPara As Integer
        Dim ParaCount As Integer
        Dim myRange As Range
        Dim strText As String
        intPara = Val(InputBox("ÇëÊäÈ뿪ʼµÄ¶ÎÂä±àºÅ", "Rousoft Office", 1000))
        With Word.ActiveDocument
            ParaCount = .Content.Paragraphs.Count
            If intPara > 0 And intPara <= ParaCount Then
                Set myRange = .Range(.Paragraphs(intPara).Range.Start, .Content.End)
                strText = myRange.Text
            End If
        End With
    End Sub
    Let's do it better !
    2009年6月13日 22:37
    版主