以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何将.docx文件导入或合并到foxtable?? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=107970) |
||||
-- 作者:狐说八道 -- 发布时间:2017/10/13 14:57:00 -- [求助]如何将.docx文件导入或合并到foxtable?? 如题 |
||||
-- 作者:有点甜 -- 发布时间:2017/10/13 14:59:00 -- 参考
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=71352&skin=0
|
||||
-- 作者:狐说八道 -- 发布时间:2017/10/13 15:54:00 -- 此主题相关图片如下:tim截图20171013155246.png 甜老师,提示这个错误是什么意思? |
||||
-- 作者:有点甜 -- 发布时间:2017/10/13 16:17:00 -- 1、你安装ms office这个软件了没有?
2、你的代码和word文件是怎样的?做个例子看看。 |
||||
-- 作者:狐说八道 -- 发布时间:2017/10/13 16:26:00 -- 1、安装了,是2016版 2、图片是文件格式
代码如下: Dim dlg As new OpenFileDialog
If dlg.ShowDialog = DialogResult.OK Then
Dim app As New MSWord.Application
try
For Each filename As String In dlg.FileNames
Dim doc = app.Documents.Open(fileName)
For i As Integer = 1 To Doc.Tables.count
Dim t = doc.Tables(i)
For j As Integer = 6 To 36
Dim text = t.Cell(j, 2).Range.Text.ToString()
Dim nr As Row = Tables("表B").AddNew
nr("第二列") = text
Next
Next
Next
catch ex As exception
msgbox(ex.message)
finally
app.Quit
End try
End If
[此贴子已经被作者于2017/10/13 17:17:32编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2017/10/13 16:39:00 -- 测试了一下,代码没问题。
我安装的是ms office 2010
你试试安装 2013或者以下的版本,不要用2016 |
||||
-- 作者:狐说八道 -- 发布时间:2017/10/13 16:43:00 -- 我第一次执行代码的时候是可以的,然后改了读取的单元格后就不行了 |
||||
-- 作者:有点甜 -- 发布时间:2017/10/13 16:50:00 -- word文件发上来测试。
|
||||
-- 作者:狐说八道 -- 发布时间:2017/10/13 17:00:00 --
麻烦老师看看 |
||||
-- 作者:有点甜 -- 发布时间:2017/10/13 17:14:00 -- Dim dlg As new OpenFileDialog If dlg.ShowDialog = DialogResult.OK Then Dim app As New MSWord.Application try For Each filename As String In dlg.FileNames Dim doc = app.Documents.Open(fileName) For i As Integer = 1 To Doc.Tables.count Dim t = doc.Tables(i) If t.rows.count >= 31 Then For j As Integer = 2 To 31 Dim text = t.Cell(j, 2).Range.Text.ToString() Dim nr As Row = Tables("表B").AddNew nr("第二列") = text Next End If Next Next catch ex As exception msgbox(ex.message) finally app.Quit End try End If |