Range.Text属性在从Microsoft word中的表中检索值以在VB.NET中使用时会产生奇怪的结果



我正试图从一个用Microsoft word创建的表(只有一个表(中检索数据,这样我就可以重用word文档并将每个实例保存为PDF文件。好吧,所以我已经从VB.net打开了word文件,但当我试图从表中索引一个值时,我被卡住了。

当我运行此代码时,消息框为单元格(3,1(中引用的单元格显示一个类似ASCII的字符,但实际上是MS单词中表中的一个数值。

事实上,它不适用于任何可能的单元格索引。

有人能帮助我正确引用表值吗?

非常感谢。

''

Private Sub CateringApp_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim oWord As Word.Application
Dim oDoc As Word.Document
Try
oWord = CreateObject("Word.Application")
oWord.Visible = True
oDoc = oWord.Documents.Add(Application.StartupPath & "SampleInvoice.docx")
'line of code that shows weird results when invoked
MessageBox.Show(oDoc.Tables.Item(1).Cell(3, 1).Range.Text)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub

''

事实证明,给出奇怪结果的行:

MessageBox.Show(oDoc.Tables.Item(1).Cell(3, 1).Range.Text)

给出了奇怪的结果,因为项目(1(索引实际上应该是项目(2(。项目通常从1开始索引,而不是从0开始索引,但由于某种原因,MS word doc将另一个控件解释为项目(1(,因此该表变为项目(2(。

最新更新