以前一直在寻找答案,但每个人似乎都想相反!
使用VB.NET代码,我想将一个开放单词doc中的所有表转换为文本,但是当我运行以下代码时,出现错误
“'Microsoft.Office.Interop.Word.Table'。此操作失败是因为,由于以下原因,COM组件上对具有IID'{00020951-0000-0000-C000-000000000046}'的接口的QueryInterface调用失败错误:不支持这种接口(HRESULT的异常:0x80004002(E_NOINTERFACE))。'
我是否输入了错误的代码,或者这不可能吗?我猜我错了!
Dim objTable As Table = objDoc.Tables
If objTable.Rows.Count = 1 Or objTable.Columns.Count = 1 Then
objTable.ConvertToText(Separator:=vbCr)
End If
答案 0 :(得分:0)
如注释中所述,Tables
集合没有将表转换为文本的方法,只有Table
对象(单数)才具有。这意味着有必要迭代(循环)集合中的项目。例如:
Dim objTables as Tables = objDoc.Tables
Dim objTable As Table
For each objTable in objTables
If objTable.Rows.Count = 1 Or objTable.Columns.Count = 1 Then
objTable.ConvertToText(Separator:=vbCr)
End If
Next