如何获得正确的总字符数?

时间:2017-12-22 08:20:15

标签: vba ms-word

我目前正在尝试在Excel中编写一个在Word中生成报告的函数。该函数在尝试解决特定问题时将涉及其中的多次迭代。但是,我需要为每次迭代创建表。我试图通过使用范围的开头和结尾作为总字符数来放置表。但是,在隔离问题之后,似乎Compute统计函数返回的是单词数而不是字符数。

如何获得正确的总字符数?

以下是我的代码的一部分示例。

Function Asci()

     Dim objWord
     Dim objDoc
     Dim objSelection
     Dim a(1 To 2, 1 To 2) As Double

     Set objWord = CreateObject("Word.Application")
     Set objDoc = objWord.Documents.Add
     objWord.Visible = True
     Set objSelection = objWord.Selection         

    for x = 1 to 3            
      objSelection.TypeText (qq & " Some text ------- " & q & Chr(11))                           
      a(1, 1) = 1
      a(1, 2) = 2
      a(2, 1) = 3
      a(2, 2) = 4

      charCount = objWord.ActiveDocument.Range.ComputeStatistics(Statistic:=wdStatisticCharactersWithSpaces)                       
      Set myRange = objWord.ActiveDocument.Range(Start:=charCount, End:=charCount)
      objWord.ActiveDocument.Tables.Add Range:=myRange, NumRows:=2, NumColumns:=2
      objWord.ActiveDocument.Tables(x).Cell(1, 1).Range.Text = "Element"
      objWord.ActiveDocument.Tables(x).Cell(1, 2).Range.Text = "Effective Length"
      objWord.ActiveDocument.Tables(x).Cell(2, 1).Range.Text = "Distance"
      objWord.ActiveDocument.Tables(x).Cell(2, 2).Range.Text = "Moment of Inertia"
      Next       
    End Function

隔离问题时

    Function Asci()

      Dim objWord
      Dim objDoc
      Dim objSelection

      Set objWord = CreateObject("Word.Application")
      Set objDoc = objWord.Documents.Add

      objWord.Visible = True

      Set objSelection = objWord.Selection

      objSelection.TypeText (" Some text ------" & Chr(11))

      charCount = objWord.ActiveDocument.Range.ComputeStatistics(wdStatisticCharactersWithSpaces)
      objSelection.TypeText ("count " & charCount)
      objDoc.SaveAs ("C:\Save")
    End Function 

我得到的是单词数而不是字符数。

0 个答案:

没有答案