q411139597 2015-01-10 10:24 采纳率: 50%
浏览 2099

vb.net操作word最后一步求解

If e.KeyCode = Keys.Enter Then
Dim q As Integer = InputBox("请输入搜索页码的次数")
If q > 0 Then
Static Dim p(q) As String
Dim j As Integer
For j = 0 To q - 1
p(j) = InputBox("请输入关键字")

            Next
            Dim temp
            If p(j) = p(q) Then
                For j = 0 To q - 1
                    If p(j) > p(j + 1) Then
                        temp = p(j)
                        p(j) = p(j + 1)
                        p(j + 1) = temp

                    End If
                Next

            End If

            For j = 0 To q - 1
                Dim WDAPP As Object
                WDAPP = New Word.Application
                WDAPP.visible = True

                WDAPP.Documents.open(FileName:=TextBox1.Text)



                WDAPP.Selection.Find.ClearFormatting()
                With WDAPP.Selection.Find.text = p(j)
                    WDAPP.Selection.Find.Execute(p(j))
                    Dim i As String
                    i = WDAPP.Selection.Information(3)


                    Dim WDAPP1 As Object
                    WDAPP1 = New Word.Application
                    WDAPP1.visible = True

                    WDAPP1.documents.open(FileName:=TextBox2.Text)
                    Dim missing = System.Reflection.Missing.Value
                    Dim unit = Word.WdUnits.wdStory
                    WDAPP1.Selection.EndKey(unit, missing)
                    WDAPP1.Selection.TypeText(text:=p(j))
                    WDAPP1.Selection.MoveDown(Unit:=4, Count:=1)
                    WDAPP.Documents.Close(Word.WdSaveOptions.wdDoNotSaveChanges)
                    WDAPP1.Selection.EndKey()

                    WDAPP1.Selection.ParagraphFormat.TabStops.Add(Position:=WDAPP1.CentimetersToPoints(20), Alignment:=2, Leader:=2)

                    WDAPP1.Selection.TypeText(Text:=vbTab)

                    WDAPP1.Selection.TypeText(Text:=i)

                    WDAPP1.Selection.TypeText(Text:=vbCrLf)
                    If WDAPP1.ActiveDocument.Saved = False Then


                        WDAPP1.ActiveDocument.Save()
                    End If
                    WDAPP.Quit()
                    WDAPP1.Quit()
                    WDAPP = Nothing
                    WDAPP1 = Nothing

                End With
            Next

        End If


    End If
        报错这句 WDAPP1.Selection.TypeText(text:=p(j))
        “System.Runtime.InteropServices.COMException”类型的未经处理的异常在 Microsoft.VisualBasic.dll 中发生 

其他信息: 类型不匹配。 (异常来自 HRESULT:0x80020005 (DISP_E_TYPEMISMATCH))
说是调用的目标发生了异常
我查资料说是这个错误是因为要调用com里的东西。但始终不知道应该加什么
这段代码的功能是循环查询在textbox1的关键字所在页码,然后输出在textbox2中输出关键字所在页码
弄了一夜了来个高手吧
是数组的问题么????

  • 写回答

2条回答 默认 最新

  • q411139597 2015-01-10 14:00
    关注

    我初学没办法,很多东西没学过查资料查不到。来个大神帮帮我把

    评论

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作