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中输出关键字所在页码
弄了一夜了来个高手吧
是数组的问题么????