Foxtable(狐表)用户栏目专家坐堂 → WORD报表插入表格和生成的图表吗?


  共有5015人关注过本帖树形打印复制链接

主题:WORD报表插入表格和生成的图表吗?

帅哥哟,离线,有人找我吗?
一笑
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2015/10/29 14:01:00 [只看该作者]

整合了代码:

Dim app As New MSWord.Application
try
    Dim doc = app.Documents.Open(ProjectPath & "\Reports\公司月报.docx")
    If app.ActiveWindow.Selection.Find.Execute("test") = False Then
        '插入表格,方法1或2
        try
            'Dim doc = app.Documents.add
            Dim dt As DataTable = DataTables("药箱")
            doc.Tables.Add(Range:=app.Selection.Range,NumRows:=1, NumColumns:= dt.DataCols.Count)
            With app.Selection.Tables(1)
                .ApplyStyleHeadingRows = True
                .ApplyStyleLastRow = True
                .ApplyStyleFirstColumn = True
                .ApplyStyleLastColumn = True
            End With
            For Each dc As DataCol In dt.DataCols
                app.Selection.TypeText(Text:=dc.Name)
                app.Selection.MoveRight(Unit:=12)
            Next
            For Each dr As DataRow In dt.DataRows
                For Each dc As DataCol In dt.DataCols
                    app.Selection.TypeText(Text:=dr(dc.Name))
                    app.Selection.MoveRight(Unit:=12)
                Next
            Next
            app.Visible = True
        catch ex As exception
            msgbox(ex.message)
            app.Quit
        finally
            
        End try
        
    End If
    app.Visible = True
catch ex As exception
    msgbox(ex.message)
    app.Quit
finally
End try

1. 不起作用,无法导入“公司月报”,不知道哪儿不对,
2. 单独测试导出表格代码,发现在WORD中没有表格线,求解,谢谢


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/29 14:12:00 [只看该作者]

Dim app As New MSWord.Application
try
    Dim doc = app.Documents.Open("d:\test.doc")
    If app.ActiveWindow.Selection.Find.Execute("test") Then
        '插入表格,方法1或2
        Dim dt As DataTable = DataTables("表A")
        doc.Tables.Add(Range:=app.Selection.Range,NumRows:=1, NumColumns:= dt.DataCols.Count)
        With app.Selection.Tables(1)
            .ApplyStyleHeadingRows = True
            .ApplyStyleLastRow = True
            .ApplyStyleFirstColumn = True
            .ApplyStyleLastColumn = True
        End With
        For Each dc As DataCol In dt.DataCols
            app.Selection.TypeText(Text:=dc.Name)
            app.Selection.MoveRight(Unit:=12)
        Next
        For Each dr As DataRow In dt.DataRows
            For Each dc As DataCol In dt.DataCols
                app.Selection.TypeText(Text:=dr(dc.Name))
                app.Selection.MoveRight(Unit:=12)
            Next
        Next
       
    End If
    app.Visible = True
catch ex As exception
    msgbox(ex.message)
    app.Quit
finally
End try

 回到顶部
帅哥哟,离线,有人找我吗?
一笑
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2015/10/29 14:44:00 [只看该作者]

1. 问题解决;
2. 但插入表格没有表格线,求解,谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/29 15:02:00 [只看该作者]

Dim app As New MSWord.Application
try
    Dim doc = app.Documents.Open("d:\test.doc")
    If app.ActiveWindow.Selection.Find.Execute("test") Then
        '插入表格,方法1或2
        Dim dt As DataTable = DataTables("表A")
        doc.Tables.Add(Range:=app.Selection.Range,NumRows:=1, NumColumns:= dt.DataCols.Count)
        With app.Selection.Tables(1)
            .ApplyStyleHeadingRows = True
            .ApplyStyleLastRow = True
            .ApplyStyleFirstColumn = True
            .ApplyStyleLastColumn = True
            .Style = "网格型"
        End With
        For Each dc As DataCol In dt.DataCols
            app.Selection.TypeText(Text:=dc.Name)
            app.Selection.MoveRight(Unit:=12)
        Next
        For Each dr As DataRow In dt.DataRows
            For Each dc As DataCol In dt.DataCols
                app.Selection.TypeText(Text:=dr(dc.Name))
                app.Selection.MoveRight(Unit:=12)
            Next
        Next
       
    End If
    app.Visible = True
catch ex As exception
    msgbox(ex.message)
    app.Quit
finally
End try

 回到顶部
帅哥哟,离线,有人找我吗?
一笑
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2015/10/31 15:28:00 [只看该作者]

第二种方法,拷贝、粘贴指定EXCEL表格,报错说WORD文档被锁定,也没有表格线,求解

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图15年10月31日1523_1.jpg
图片点击可在新窗口打开查看


Dim app As New MSWord.Application
try
    Dim doc = app.Documents.Open(ProjectPath & "\Reports\公司月报.docx")
    If app.ActiveWindow.Selection.Find.Execute("test")  Then
        '插入表格,方法1或2
        Dim wapp As New MSWord.Application
        Dim eApp As New MSExcel.Application
        try
            Dim Wb As MSExcel.WorkBook = eApp.WorkBooks.Open(fl)
            Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) '指定要复制的工作表
            Ws.UsedRange.Copy
            
            Dim fileName = fl
            Dim doc1 = wapp.Documents.Open(fileName)
            wapp.ActiveWindow.Selection.WholeStory
            wapp.ActiveWindow.Selection.MoveRight(Unit:=1, Count:=1)
            wapp.ActiveWindow.Selection.TypeParagraph
            wapp.ActiveWindow.Selection.paste
            wapp.Visible = True
        catch ex As exception
            msgbox(ex.message)
            wapp.Quit
        finally
            eapp.quit
        End try
    End If
finally
End try

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/10/31 16:11:00 [只看该作者]

使用前关闭所有word进程

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=58232

 


 回到顶部
帅哥哟,离线,有人找我吗?
一笑
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2015/11/1 10:12:00 [只看该作者]

好像不管用。
单独测试“方法二:粘贴excel的表格进去”,也会出现上述问题,求解

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/2 10:11:00 [只看该作者]

以下是引用一笑在2015/11/1 10:12:00的发言:
好像不管用。
单独测试“方法二:粘贴excel的表格进去”,也会出现上述问题,求解

 

呃,当你的word是打开的状态,或者是不正常退出word,你可以吧winword进程全部结束,再尝试


 回到顶部
帅哥哟,离线,有人找我吗?
hbhb
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5054 积分:13025 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2015/11/2 10:53:00 [只看该作者]

借问:
  .Style = "网格型"  请问还有什么格式?哪里能看到?


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/2 12:21:00 [只看该作者]

以下是引用hbhb在2015/11/2 10:53:00的发言:
借问:
  .Style = "网格型"  请问还有什么格式?哪里能看到?

 

word、excel不是可以录制宏么?自动生成代码的。


 回到顶部
总数 41 上一页 1 2 3 4 5 下一页