CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

用vb在word里面怎么绘制表格和在往表格里面放数据

楼主zhouxinlongdragon(真永远)2002-03-26 11:30:33 在 VB / 基础类 提问

用vb编程,需要一个报表,我想把这个报表直接放到word里面,因为打印的时候可以随意调节大小。但是,怎么绘制表格呢?  
  我的qq33966406  
  zxlandy@sina.com  
  谢谢!! 问题点数:60、回复次数:4Top

1 楼Bardo(巴顿(永远只有一个))回复于 2002-03-26 13:04:29 得分 10

 
          ActiveDocument.Tables.Add   Range:=Selection.Range,   NumRows:=2,   NumColumns:=   _  
                  5,   DefaultTableBehavior:=wdWord9TableBehavior,   AutoFitBehavior:=   _  
                  wdAutoFitFixed  
          Selection.TypeText   Text:="asdfdf"  
          Selection.MoveRight   Unit:=wdCell  
          Selection.TypeText   Text:="dfgasdf"  
          Selection.MoveRight   Unit:=wdCell  
          Selection.TypeText   Text:="asdfasdf"  
  Top

2 楼daidhua(馒头)回复于 2002-03-26 13:05:56 得分 0

long   zai   qu   siTop

3 楼daidhua(馒头)回复于 2002-03-26 13:10:30 得分 0

ActiveDocument.Tables.Add   Range:=myRange,   NumRows:=3,   NumColumns:=3Set   myRange   =   ActiveDocument.Range(Start:=0,   End:=10)  
  Set   myDoc   =   ActiveDocument  
  Set   myRange   =   myDoc.Range(Start:=myDoc.Sentences(3).Start,   _  
          End:=myDoc.Sentences(4).End)  
   
   
  Top

4 楼daidhua(馒头)回复于 2002-03-26 13:21:41 得分 11

Set   myTable   =   Documents("Sales.doc").Tables(1)  
   
  Set   myRange   =   myDoc.Range(Start:=myDoc.Sentences(3).Start,   _  
          End:=myDoc.Sentences(4).End)  
   
  ActiveDocument.Tables.Add   Range:=myRange,   NumRows:=3,   NumColumns:=3  
   
  ActiveDocument.Range(Start:=0,   End:=0).InsertBefore   Text:="Hello   "  
   
  This   expression   Returns   this   object    
  Words(index)     Range      
  Characters(index)     Range      
  Sentences(index)     Range      
  Paragraphs(index)     Paragraph      
  Sections(index)     Section      
   
  Top

5 楼lihonggen0(李洪根,MS MVP,标准答案来了)回复于 2002-03-26 13:40:51 得分 39

巧用VBA自动处理Word表格  
   
  Microsoft   Word   是大家熟悉的文字处理软件,强大的功能为我们的工作提供了很大的帮助。而Visual   Basic   for   Applications(VBA)的应用更为Word   97增添了不少特色,合理而恰当地使用VBA可为用户提供极大的方便。下面介绍几则使用VBA编程自动处理Word表格的例子。  
    1.   创建表格,插入文字  
    本例的功能是在文档开头插入一张   3   行   4   列的表格。可用For   Each...Next   结构来循环遍历表格中的每个单元格。在   For   Each...Next   结构中,InsertAfter   方法用来向表格单元格添加文字("第   1   单元格"、"   第   2   单元格"等等),oTable.AutoFormat属性用于指定表格套用格式。运行结果如图1:  
  @@0869600.JPG;图1@@  
    Set   oDoc   =   ActiveDocument  
    Set   oTable=   oDoc.Tables.Add(Range:=oDoc.Range(Start:=0,   End:=0),   NumRows  
  :=3,NumColumns:=4)  
    iCount   =   1  
    For   Each   oCell   In   oTable.Range.Cells  
    oCell.Range.InsertAfter   "第   "&   iCount   &   "单元格"  
    iCount   =   iCount   +   1  
    Next   oCell  
    oTable.AutoFormat   Format:=wdTableFormatColorful2,ApplyBorders:=True,   App  
  lyFont:=True,   ApplyColor:=True  
    2.   在表格的列、行插入序号  
    1.   如果需要在表格的第一列插入序号,只需将   For   Each...Next   结构中的内容改为下述程序行即可,其中InsertAfter   方法用来向表格单元格添加序号("第   1   行"、"   第2   行"等等)。  
    If   iCount   Mod   4   =   1   Then  
     oCell.Range.InsertAfter"第   "   &   (iCount   -   1)   /   4   +   1   &   "   行"  
    End   If  
    iCount   =   iCount   +   1  
    2.   如果需要从表格的第二行开始插入序号,应将上述代码改为:  
    If   iCount   Mod   4   =   1   And   iCount   >   4   Then  
       oCell.Range.InsertAfter   "第   "&   (iCount   -   1)   /   4   &   "行"  
    End   If  
    iCount   =   iCount   +   1  
    3.   在表格的列插入日期  
    (1)   如需在表格的第一列插入日期,   可用For   Each...Next结构来循环遍历表格中的每个单元格,当判断某一单元格为第一列时,插入日期。Formart(Date,...)用于指定日期的格式,下面例子中的日期从Date+1(即当前日期第二天)开始,用户可以根据需要自定义。  
    Set   oDoc   =   ActiveDocument  
    Set   oTable   =oDoc.Tables.Add(Range:=oDoc.Range(Start:=0,End:=0),NumRows:=  
  4,NumColumns:=4)  
    iCount   =   1  
    For   Each   oCell   In   oTable.Range.Cells  
    If   iCount   Mod   4   =   1   And   iCount   >   4   Then  
        oCell.Range.InsertAfter   Format(Date   +   (iCount   -   1)   /   4,   "YYYY.MM.DD")  
    End   If  
    If   iCount   Mod   4   =   2   And   iCount   >   4   Then  
        oCell.Range.InsertAftercWeekName(WeekDay(Date+(iCount   -   1)   /   4))  
    End   If  
    iCount   =   iCount   +   1  
       Next   oCell  
       oTable.AutoFormat   Format:=wdTableFormatColorful1,ApplyBorders:=True,   Ap  
  plyFont:=True,   ApplyColor:=True  
  @@0869601.JPG;图2@@  
    (2)   如果需要在表格的第二列插入星期值,可在上例的For   Each...Next结构中插入以下几行:  
    If   iCount   Mod   4   =   2   And   iCount   >   4   Then  
    oCell.Range.InsertAfter   cWeekName(WeekDay(Date   +   (iCount   -   1)   /   4))  
    End   If  
    其中,WeekDay(Date)返回一数值(1~7),分别表示"星期日"~"星期六",CWeekName数组需要事先定义为:  
    Dim   cWeekName(7)  
    cWeekName(1)   =   "星期日"  
    cWeekName(2)   =   "星期一"  
    ......  
    cWeekName(7)   ="星期六"  
    4.   根据单元格的内容设置不同的格式  
    以上例中表格为例,如果需要将所有"星期六"和"星期日"所在行格式改为蓝色背景,只要在上例程序之后追加以下几行即可(表格格式改为wdTableFormatColorful2,行数改为12行)。程序中再次使用For   Each...Next结构遍历表格中的每一行(Rows),如果检测到某一行满足条件("星期六"或"星期日"),则选择一行(Selection.SelectRow),将其属性改为需要的格式(本例中为蓝色背景)。  
    iCount   =   1  
    For   Each   Rows   In   oTable.Range.Rows  
    If   (WeekDay(Date   +   (iCount   -   1))   =   7   Or   WeekDay(Date   +   (iCount   -   1))=   1)  
  And   iCount   >   1  
       Then  
        Selection.SelectRow  
        With   Selection.Cells  
    With   .Shading  
    .Texture   =   wdTextureNone  
    .ForegroundPatternColorIndex   =   wdAuto  
    .BackgroundPatternColorIndex   =   wdBlue  
    End   With  
     End   With  
    End   If  
     iCount   =   iCount   +   1  
     Selection.MoveDown   Unit:=wdLine,   Count:=1  
     Next   Rows  
  @@0869602.JPG;图3@@  
    以上几例简要介绍了使用VBA自动处理Word表格的例子(有关Visual   Basic事件、方法、对象、属性的详细使用方法请参阅Microsoft   Word   Visual   Basic帮助)。客户可将编制的Visual   Basic代码作为Word宏指定到工具栏或快捷方式,方便以后的使用。    
  Top

相关问题

  • 表格绘制问题
  • select传值后绘制表格
  • 在vb中如何返回WORD表格的最大行?
  • 如何用vb读word表格中的数据?
  • vb導入數據到word的表格中(急)
  • word表格
  • 用vb生成word文档,有生成表格,在word看是有表格,但打印后发现没有表格线了
  • 急:求如何用VB设置WORD中的表格标题行重复!
  • vb 有表格控件吗?
  • vb中的表格问题

关键词

  • 表格
  • vba
  • 结构
  • 属性
  • icount
  • ocell
  • 单元格
  • otable
  • cweekname
  • 插入

得分解答快速导航

  • 帖主:zhouxinlongdragon
  • Bardo
  • daidhua
  • lihonggen0

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo