当前位置:首页
开发技术指南» 文章正文
    引言:

 ·怎么动态开一个多维数组    »显示摘要«
    摘要: 开可以后怎么释放啊? ......
    摘要: 最好能给个例子 先谢谢各位帮助 ......


自动生成公文打印的问题。一直困惑中。。。。。

想要实现的效果:  
  从数据库里读出记录,然后按照公文的样式打印出来如下:  
  **单位:  
    贵单位共有*同志在我单位实习,特此证明。  
  然后落款、日期。  
   
  这样的程序该怎么实现呢。如果用报表的方式,那么数据集该怎么设置,因为每个文档读取的记录数是不一样的。最好能有个选择的界面,然后一点打印,就打印出预先设置好格式的文档。  
   
  求解决方案。我是新手,请给予帮助。非常感谢。

NO.1   作者: justok

你用一些报表控件来做吧  
  自带的打印控件实现起来满麻烦的

NO.2   作者: jonescheng

下载专业的报表控件,可以轻松实现  
  VS的有水晶报表。你可以网上找一下。

NO.3   作者: AntingZ

1.  
  vs自带的水晶报表  
   
  2.  
  建立word模板,然后填空  
   
  3.  
  Smart   Document   (用户灵活性很大)

NO.4   作者: lzmtw

你参看一下WORD的信封批打是怎么回事就明白的了.  
  留意一下"域"的概念.  
 

NO.5   作者: snow66

如果不是一定要用编程来解决的话,那你就用word里的“邮件合并”就能解决的。

NO.6   作者: AntingZ

下面的连接有个完整的代码,应该是可以实现你的功能的方案之一:  
   
  HOWTO:在   Visual   Basic   .NET   中使   Microsoft   Word   自动运行以执行邮件合并  
  http://support.microsoft.com/default.aspx?scid=kb;zh-cn;301656

NO.7   作者: llww7779

如果只是用单机版,你想要实现的功能容易实现,其实只要在word中在变量*的位置添加“文本框”,然后在word中在vba宏中编程,利用ado读取记录集,利用记录的循环进行循环打印即可。

NO.8   作者: llww7779

Sub   Macro2()  
   
   
   
  *******************************************记录变成数组  
   
     
   
        Dim   ii()  
        k   =   ""  
  Application.ScreenUpdating   =   False  
        i   =   CStr(InputBox("请输入要打印的记录序号例如:1,3,5或者1-24或者1,2,5-24,28",   "打印"))  
        If   i   =   ""   Then  
          Exit   Sub  
        End   If  
        j   =   Split(i,   ",")  
        n   =   0  
  For   l   =   0   To   UBound(j)  
        m   =   Split(j(l),   "-")  
        If   UBound(m)   =   1   Then  
         
         
              For   o   =   m(0)   To   m(1)  
              ReDim   Preserve   ii(n   +   1)  
   
              ii(n)   =   o  
              n   =   n   +   1  
              Next  
         
         
         
        Else  
              ReDim   Preserve   ii(n   +   1)  
   
              ii(n)   =   j(l)  
              n   =   n   +   1  
        End   If  
  Next  
   
   
   
  sql   =   ""  
  For   i   =   0   To   UBound(ii)   -   1  
   
  If   i   <>   UBound(ii)   -   1   Then  
  sql   =   sql   &   "序号="   &   ii(i)   &   "     OR     "  
  Else  
  sql   =   sql   &   "序号="   &   ii(i)  
   
  End   If  
   
  Next  
  **********打开excel数据库  
   
  Dim   cnnConn   As   ADODB.Connection  
  Dim   rstRecordset   As   ADODB.Recordset  
  Dim   cmdCommand   As   ADODB.Command  
   
    Open   the   connection.  
  Set   cnnConn   =   New   ADODB.Connection  
  With   cnnConn  
         
            .Provider   =   "Microsoft.Jet.OLEDB.4.0"  
            .ConnectionString   =   "Data   Source="   &   ActiveDocument.Path   &   "\打印.xls;"   &   _  
            "Extended   Properties   =   Excel   8.0;"  
          .Open  
  End   With  
   
    Set   the   command   text.  
        sql   =   "Select   *   From   [档案打印$]   where     "   &   sql  
         
   
    Open   the   recordset.  
  Set   rstRecordset   =   New   ADODB.Recordset  
   
  rstRecordset.Open   sql,   cnnConn,   adOpenDynamic,   adLockPessimistic  
  rstRecordset.MoveFirst  
   
  While   Not   rstRecordset.EOF  
   
  *****************用一条记录对公文的文本框字段进行添加值,并且打印,  
   
   
  For   i   =   2   To   9  
   
  If   rstRecordset(i   -   1)   <>   ""   Then  
  ActiveDocument.Shapes(i).TextFrame.TextRange   =   rstRecordset(i   -   1)  
  End   If  
  Next  
  ActiveDocument.PrintOut  
   
  rstRecordset.MoveNext  
  Wend  
   
    Close   the   connections   and   clean   up.  
  cnnConn.Close  
  Set   cmdCommand   =   Nothing  
  Set   rstRecordset   =   Nothing  
  Set   cnnConn   =   Nothing  
   
  End   Sub  
 

NO.9   作者: qmei

打印插件,在线演示  
  www.fcsoft.com.cn/eprint/index.htm  
   
  eprint自定义打印   工具   可以很轻松实现   你上面的打印要求  
  加msn:eprint01@hotmail.com   获得演示版本

NO.10   作者: zjh135

net的报表功能太弱,用其它第三方控件,可是NET也不成熟,有时第三方控件应用时也存在问题!!最好放弃NET,用c++,PB,DELPHI....


 ·用asp.net开发中的iis配置问题    »显示摘要«
    摘要: xp sp2 vs 2003 本来用的很好,后来发现系统中多了两个用户“sql debug”和“asp.net”,就删掉了。 然后vs就建不了asp.net项目了,显示错误如下: 尝试创建web项目或打开位于url“http://localhost/webapplication1/”的web项目时,web服务器报告了一下错误:“http/1.1 500 internal server er......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE