以文本方式查看主题

-  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
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建 microsoft word 文档.rar

 

麻烦老师看看


--  作者:有点甜
--  发布时间: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