Foxtable(狐表)用户栏目专家坐堂 → Word报表格式问题


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

主题:Word报表格式问题

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


加好友 发短信
等级:一尾狐 帖子:485 积分:4081 威望:0 精华:0 注册:2015/12/16 8:22:00
Word报表格式问题  发帖心情 Post By:2019/7/22 8:54:00 [只看该作者]

在生成word报表的时候,希望如下:

1. 插入行之后,将字体取消粗体,标示黄色的代码有问题,请帮忙指点;
另外想实现以下功能:
2. 表格中的行高能根据内容自动调整;
3. 若当前页不够是,能自动换页并插入表格; 

Dim dr As Row = Tables("T_Report").Current

Dim bh As String = dr("报告格式编号")
Dim bz As String
bz = DataTables("T_Item").GetComboListString("标准","报告编号 = '"& dr("报告编号") &"'")
Dim tm As String  = ProjectPath & "Attachments\DGN\" & bh & ".doc" '指定模板文件
Dim fl As String = ProjectPath & "Reports\" & dr("报告编号") & " " & dr("样品名称") & ".Doc" '指定目标文件
Dim wrt As New WordReport(Tables("T_Report"),tm,fl) '定义一个WordReport
wrt.BuildOne(dr)
wrt.Quit
Dim app As New MSWord.Application
try
    Dim fileName = ProjectPath & "Reports\" & dr("报告编号") & " " & dr("样品名称") & ".Doc" '指定目标文件
    Dim doc As Object = app.Documents.Open(fileName)
    
    app.ActiveWindow.ActivePane.View.SeekView = MSWord.WdSeekView.wdSeekCurrentPageHeader
    If app.Selection.Find.Execute("CTTREPORT") Then '查找到指定字符串
        app.Selection.Text =" " & dr("报告编号") & "" '替换字符串
    End If
    
    
    app.Activedocument.Bookmarks("项目清单").Range.Tables(1).Select
    Dim xh As Integer = 0
    Dim zrs As List(of DataRow) = DataTables("T_Item").Select("报告编号 = '"& dr("报告编号") &"'")
    For Each zr As DataRow In zrs
        xh = xh + 1
        app.Selection.InsertRowsBelow(1)
        app.Selection.Font.Bold = app.wdToggle
        app.Selection.MoveRight(Unit:=12)
        app.Selection.TypeText(Text:=xh)
        app.Selection.MoveRight(Unit:=12)
        app.Selection.TypeText(Text:=zr("检测项目"))
        app.Selection.MoveRight(Unit:=12)
        app.Selection.TypeText(Text:=zr("检测方法"))
        app.Selection.MoveRight(Unit:=12)
        app.Selection.TypeText(Text:=zr("结果"))
        app.Selection.MoveRight(Unit:=12)
        app.Selection.TypeText(Text:=zr("标准要求"))
        app.Selection.MoveRight(Unit:=12)
        app.Selection.TypeText(Text:=zr("单位"))
        app.Selection.MoveRight(Unit:=12)
        app.Selection.TypeText(Text:=zr("判定"))
        
    Next
    app.ActiveWindow.ActivePane.View.SeekView =  MSWord.WdSeekView.wdSeekMainDocument
    app.Visible = True
catch ex As exception
    msgbox(ex.message)
    app.Quit
finally
    'app.Quit
End try

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/22 9:55:00 [只看该作者]

1、app.Selection.Font.Bold = 0
2、没找到自动调整的方法。
3、试试

Doc.Tables(1).Rows.AllowBreakAcrossPages  = true
Doc.Tables(1).Rows.HeadingFormat = true


 回到顶部