以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  导出文本  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78233)

--  作者:一笑
--  发布时间:2015/12/4 17:57:00
--  导出文本

打算把表中内容加上章、节编号导出文本。类似如下:

4. 运行手册文件管理【121.42(d)

4.1.  手册文件管理系统【CCAR-121.131(a)

4.1.1.   概述

    公司建立符合法律、法规和规章要求的手册标准体系。

4.1.2.   手册管理组织机构图

4.1.3.   手册管理职责

4.1.3.1.    总裁

1)  对公司手册体系的有效性负责;

2)  负责批准公司级手册。


使用代码如下:

Dim str As String

Dim drs As List(Of DataRow)

drs = DataTables("手册").Select("选择 = false")

If drs IsNot Nothing Then

    For i As Integer = 0 To drs.count-1

        Dim dr As DataRow = drs(i)

      

        If dr("") IsNot Nothing Then

            str = str & dr("") & dr("内容") & vbcrlf

        End If

       

        If dr("") Is Nothing And dr("") IsNot Nothing Then

            str & = str & "   " & dr("") & dr("内容") & vbcrlf

        End If

       

        If dr("") Is Nothing And dr("") Is Nothing And dr("小节") IsNot Nothing Then

            str & = str & "      " & dr("小节") & dr("内容") & vbcrlf

        End If

        If dr("章") Is Nothing And dr("节") Is Nothing And dr("小节") Is Nothing And dr("一") IsNot Nothing Then

            str & = str & "           " & dr("一") & dr("内容") & vbcrlf

        End If               

        \'output.Show(str)

    Next

End If



但是导出的文本没有前面编号,求解,谢谢


 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:导出文本.zip






--  作者:大红袍
--  发布时间:2015/12/4 18:06:00
--  

Dim str As String = ""

Dim drs As List(Of DataRow)

drs = DataTables("手册").Select("选择 = false")

For i As Integer = 0 To drs.count-1
   
    Dim dr As DataRow = drs(i)
    If dr.Isnull("章") = False Then
       
        str = str & dr("章") & dr("内容") & vbcrlf
       
    End If
   
   
   
    If dr.isnull("节") = False Then
       
        str = str & "   " & dr("节") & dr("内容") & vbcrlf
       
    End If
   
   
   
    If dr.Isnull("小节") = False Then
       
        str = str & "      " & dr("小节") & dr("内容") & vbcrlf
       
    End If
   
    If dr.isnull("一") = False Then
       
        str = str & "           " & dr("一") & dr("内容") & vbcrlf
       
    End If
   
   
Next

output.Show(str)


--  作者:一笑
--  发布时间:2015/12/4 23:48:00
--  
代码成功。我增加了代码,定义了WORD模板,把导出的文本导入WORD报表中,字体和缩进都行,就是无法对某些行加粗,比如满足此条件的行( If dr.Isnull("章") = False Then)有办法吗?谢谢

Dim tm As String  = ProjectPath & "Attachments\\手册模板.doc" \'指定模板文件

Dim fl As String = ProjectPath & "Reports\\手册模板.doc" \'指定目标文件

Dim wrt As New WordReport(Tables("运行总手册"),tm,fl) \'定义一个WordReport

 

wrt.Replace("[4]",str)

wrt.Build()

wrt.Show()


--  作者:大红袍
--  发布时间:2015/12/6 16:01:00
--  

word是不行的,你用专业报表吧。

 

http://www.foxtable.com/help/topics/1183.htm

 


--  作者:大红袍
--  发布时间:2015/12/6 16:10:00
--  

你也可以用vba插入文本,如

 

 

 

Dim app As New MSWord.Application
try
    Dim doc = app.Documents.Open("d:\\test.doc")
   
    If app.ActiveWindow.Selection.Find.Execute("Test") Then
        app.Selection.font.bold = True
        app.Selection.font.size = 18
        app.Selection.TypeText(Text:="12345678")
        app.Selection.font.bold = False
        app.Selection.font.size = 8
        app.Selection.TypeText(Text:="12345678")

    End If
   
    app.Visible = True
catch ex As exception
    msgbox(ex.message)
    app.Quit
finally
   
End try