小弟开发一程序,欲使word自动生成一文档,在文档的最后一行,生成该文档的总行数,代码如下:
Private Sub Command1_Click()
Dim wa, mydoc As Object
Set wa = CreateObject("word.application")
wa.Visible = True
 Set mydoc = wa.Documents.Add           '启动word,生成文档With mydoc.Sections(1)                   '插入并设置页眉和页脚
    .headers(1).range.Text = "岩土工程勘察报告"
    .Footers(1).range.Text = "四川盛泰建筑勘察设计有限公司"
    .Footers(1).range.paragraphs(1).Alignment = 2
End With
wa.selection.Font.Name = "楷体_GB2312"
wa.selection.Font.Size = 14
wa.selection.typetext Text:="勘察报告"
wa.selection.typeparagraph
wa.selection.typetext Text:="勘察任务。"
wa.selection.typeparagraph
wa.selection.typetext Text:="勘察报告"
wa.selection.typeparagraph
wa.selection.typetext Text:="勘察任务。"
wa.selection.typeparagraph
wa.selection.typetext Text:=wa.selection.Information(wdMaximumNumberOfRows)
End Sub
运行时提示wdMaximumNumberOfRows变量未定义,于是采用wdMaximumNumberOfRows常数的值15
Private Sub Command1_Click()
Dim wa, mydoc As Object
Set wa = CreateObject("word.application")
wa.Visible = True
 Set mydoc = wa.Documents.Add           '启动word,生成文档With mydoc.Sections(1)                   '插入并设置页眉和页脚
    .headers(1).range.Text = "岩土工程勘察报告"
    .Footers(1).range.Text = "四川盛泰建筑勘察设计有限公司"
    .Footers(1).range.paragraphs(1).Alignment = 2
End With
wa.selection.Font.Name = "楷体_GB2312"
wa.selection.Font.Size = 14
wa.selection.typetext Text:="勘察报告"
wa.selection.typeparagraph
wa.selection.typetext Text:="勘察任务。"
wa.selection.typeparagraph
wa.selection.typetext Text:="勘察报告"
wa.selection.typeparagraph
wa.selection.typetext Text:="勘察任务。"
wa.selection.typeparagraph
wa.selection.typetext Text:=wa.selection.Information(15)
End Sub
提示,类型不匹配,请问,要怎样才能正确使用information这个属性呢?

解决方案 »

  1.   

    你的代码有两处问题,一是你这种通过参数调用,需要显式类型转换CStr,二是wdMaximumNumberOfRows是和表格有关的,似不符合你要求,类似的你可用wdNumberOfPagesInDocument获得总页数
    wa.selection.typetext Text:=CStr(wa.selection.Information(15))
    改为
    wa.selection.typetext Text:=CStr(wa.selection.Information(4)) 'wdNumberOfPagesInDocument
      

  2.   

    wdmaximumnumberofrows 返回指定的所选内容或区域中表格的最大行数。 
    对你的wa.selection.Information(15应该返回-1
    -----------------------------------------------------------------
    光标定位最后一行然后用wdFirstCharacterLineNumber即10
    Debug.Print Selection.Information(10)-------------------------------------------
    光标定位最后一行
    wa.selection.typetext Text:=wa.selection.Information(10)
      

  3.   

    selection.Range.Information(wdFirstCharacterLineNumber)
    注意,这个只是获得当前页内的行位置