怎样将word转换为excel,word中有文字和表格,请给出完整的代码,谢谢!!!

解决方案 »

  1.   

    只能利用它们自身的功能:调用 word 打开 doc 文件,然后全部选择,复制;打开 excel,新建 .xls 文件,然后粘贴。此方法的风险在于剪贴板不受控,如果在复制后剪贴板的内容被其它程序改变了,那就失败了。代码示例:
        Dim oword As New Word.Application
        Dim odoc As Word.Document
        Dim osel As Word.Selection
            
        
        Set odoc = oword.Documents.Open("c:\test.doc")    '打开 doc 文件
        Set osel = oword.Selection
        
        osel.WholeStory      '全选并且复制到系统剪贴板
        osel.Copy
        
        
        Set osel = Nothing
        
        odoc.Close
        Set odoc = Nothing
        
        oword.Quit
        Set oword = Nothing        '退出 word
        
        
        Dim oexcel As New Excel.Application
        Dim obook As Excel.Workbook
        Dim osheet As Excel.Worksheet
        
        Set obook = oexcel.Workbooks.Add
        Set osheet = obook.Worksheets.Add      '新建工作表
        
        osheet.Paste         '粘贴 word 中复制的内容    obook.SaveAs "c:\test.xls"  '保存 xls 文件
        
        obook.Close
        
        Set osheet = Nothing
        Set obook = Nothing
        
        oexcel.Quit
        Set oexcel = Nothing    '退出 excel
      

  2.   

    使用以上代码前请在 vb工程属性中 引用 word 与 excel 的类库,并且保存证 c:\test.doc 存在。经测试,正确的将 表格与 图片复制到了 excel 文件中。
      

  3.   

    接着上面的问题,word里有几个表格和其他的文字,我是这样想的:先求出这几个表格中列数最大的表格的列数num,然后
    1.要是遇到word中的一行文字,在excel中把num个一行的单元格合并,把文字放进去,
    2.要是遇到word中的表格,整个表格及其内容就复制到excel
    不知如何用具体代码实现,不知这种想法是否合理?请多指教,谢谢!!!