⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.txt

📁 Visual FoxPro程序设计及其应用系统开发之表的转化
💻 TXT
字号:
                 ****************************************
                 *欢迎光临VFP精英站 http://www.foxer.net*
                 ****************************************

  程序名: quickwd
    用途: 运行时动态地将一个网格内容生成 WORD 表
      注: 你的计算机中必须装有 WORD97 或以上版本
调用方法: 
			IF NOT "RPTTOWD.VCX" $ SET("CLASSLIB")
				SET CLASSLIB TO RPTTOWD.VCX
			ENDIF
			CREATEOBJECT('QuickWD',要打印的网格名,是否显示生成过程,报表标题)

			其中
			要打印的网格名:串变量
			是否显示生成进程:		数值型变量, 1 显示.  2 不显示
			报表标题:		串变量			
			
			例1:生成标题为 '材料入库清单'的表格,不显示生成过程
			CreateObject('QuickWD',THISFORM.grdPurchase,2,'材料入库清单')
			
			例2:生成标题为 '期初库存'的表格,显示生成过程
			CreateObject('QuickWD',THISFORM.PAGEFRAME1.PAGE1.grdList,1,'期初库存')

注:我以前写一个叫 Gds 的程序,其中有一个功能是把当前表格中的内容写入到 WORD 中,当时我还没有找到在 WORD 中生成表格的方法,
所以只好把文本直接写到 WORD 文档中,结果令我自己都不满意.今天我找到了把表内容写到 WORD 的表格中的方法,所以写了这个类.
在实际程序设计中,当遇到用户对报表格式要求十分苛刻时,我就常想将报表写入WORD 表格中,让他自行处理.因为不熟悉 WORD 的人相对说来
要比不熟悉 VFP 的人少多了.希望该程序能对你有所帮助...
=================================================================
在程序中用到的 WordBasic 函数及命令
ViewHeader()
ViewHeader 语句将活动文档切换到页面视图,将插入点置于页眉区,然后显示“页眉和页脚”工具栏。如果该工具栏已显示,则隐藏它,并将插入点移到文档区。
ViewHeader() 函数返回下列数值:

值		解释
0		插入点不在页眉区
-1		插入点在页眉区
=================================================================
TextToTable [.ConvertFrom = number] ;
            [, .NumColumns = number];
            [, .NumRows = number];
            [, .InitialColWidth = number or text];
            [, .Format = number];
            [, .Apply = number]

按指定分隔符将选定文字转换为表格。如果不带任何参数运行 TextToTable,Word 在没有逗号时将制表符用作分隔符,没有制表符时用逗号,制表符和逗号都没有或既有制表符又有逗号时用段落标记。TextToTable 语句的参数相当于“表格”菜单“将文字转换成表格”对话框中的选项。

参数		解释
.ConvertFrom	指定分隔文字元素的字符:;
0	段落标记;
1	制 表 符;
2	逗    号;
3	其    它(“将文字转换成表格”对话框的“其它”框中出现的字符)
.NumColumns	要创建的列数。
.NumRows	要创建的行数。
.InitialColWidth	按磅或文字尺寸计量的列宽。如果忽略,会计算列宽,以便使表格充满页面。
.Format	“表格”菜单的“表格自动套用格式”对话框中列出的某种预定义格式:0 相当于“格式”框中所列第一种格式(“无”),1 相当于第二种,依此类推。
.Apply	指定表格要用的 .Format 指定的格式属性。属性及其值的列表请参阅 TableInsertTable 。
=================================================================
NextCell()
NextCell 语句选定下一个表格单元格的内容(作用与在表格中按下 TAB 相同)。如果选定内容多于一个单元格,则 NextCell 选定的是选定内容中第一个单元格的内容。如果插入点或选定内容在表格的最后一个单元格中,NextCell 会添加新行。
NextCell() 与语句功能相同,但插入点或选定内容完全在最后一个单元格内时除外,此时返回 0 而不扩大选定内容,而语句增加一个新行。
注释
可用 EditGoTo .Destination = "\Cell" 来选定当前单元格的内容。预定义书签“\Cell”和许多其它书签将自动得到设置和更新。预定义书签的内容请参阅预定义书签。
=================================================================
TableSelectColumn
选定插入点所在表格列,或选定所有含选定内容的列。如果插入点或选定内容不在表格中,就会出错。.
=================================================================
TableColumnWidth [.ColumnWidth = number or text]
[, .SpaceBetweenCols = number or text] 
[, .PrevColumn] 
[, .NextColumn] 
[, .AutoFit] 
[, .RulerStyle = number]

设置所选单元格的列宽和列间距。TableColumnWidth 语句的参数相当于“表格”菜单的“单元格高度和宽度”对话框中的“列”选项卡上的选项。

参数						解释
.ColumnWidth			要应用到所选单元格或列所的宽度,按磅或文字尺寸计量。(.RulerStyle 指定对其它列的影响)。
.SpaceBetweenCols		各列中文字间的距离,按磅或文字尺寸计量。
.PrevColumn				完成前面参数指定的操作(如果有的话)后,选定前一列。
.NextColumn				完成前面参数指定的操作(如果有的话)后,选定下一列。
.AutoFit				尽可能多地减小所选单元格的宽度,而不改变单元格中文字的排列方式。
.RulerStyle				指定 Word 调整表格的方式:
0	如果有选定范围,只改变所选单元格,不保留行宽;如果没有选这范围,Word 设置所选列中全部单元格的尺寸。
1	Word 通过调整选定内容右边的全部单元格与其宽度成比例来保留行宽。
2	Word 通过只调整紧邻选定内容右边的列中的单元格来保留行宽。
3	Word 通过调整选定内容右边的全部单元格来保留行宽,给它们都指定相同宽度。
4	只改变插入点所在单元格 (或选定内容中的第一个单元格)。不保留行宽。
=================================================================
EditSelectAll
选定整个文档。
=================================================================
ShadingPattern()

ShadingPattern语句将一种底纹格式应用到选定段落、表单元格、或图文框中。
参数	说明
Type	所应用底纹的格式:
0		13
1		14	
2		15	
3		16	
4		17	
5		18	
6		19	
7		20	
8		21	
9		22	
10		23	
11		24	
12		25	
ShadingPattern() 函数返回下列值:
值	说明
0 (零)	不存在加了底纹的选定内容(底纹图案为“清除”)
-1	选定内容中包含混合的底纹图案
1到25或35到61	所有选定内容用同一种底纹图案格式化
=================================================================
TableInsertRow [.NumRows = number]
在所选定或插入点所在行的上方插入一行。如果插入点或选定内容不在表格中,就会出错。如果插入点紧接表格之后,
TableInsertRow 在该表格末尾插入一行。
参数		解释
.NumRows	要添加的行数。如果 .NumRows 是 0 或忽略,TableInsertRow 在选定内容上方插入与选定内容行数相同的行。
=================================================================
AppMaximize [WindowName$] [, State]
AppMaximize([WindowName$])

在 Windows 中,AppMaximize 语句指定应用程序窗口最大化或恢复原来大小。

参数	说明
WindowName$	应用程序窗口名开头部分的字符串。该窗口名一般出现在窗口的标题栏或“任务栏”中。忽略则假设为 Word, WIndowsName$ 的详细内容请参阅 AppActivate。
State	指定将应用程序窗口最大化还是恢复原来大小:
0 恢复应用程序窗口原来大小
1 将应用最大程序窗口化忽略  切换恢复和最大化两种状态。如果应用程序的状态发生变化,它就被激活,如果状态不发生变化(例如运行了指令 AppMaximize“Microsoft Excel”,1,而 Microsoft Excel 已最大化了),应用程序则不被激活。
AppMaximize()函数返回下列值。

值	说明
-1	应用程序窗口最大化
0 (zero)	应用程序窗口没有最大化
=================================================================
TableInsertTable [.ConvertFrom = number] 
[, .NumColumns = number] 
[, .NumRows = number] 
[, .InitialColWidth = number or text] 
[, .Wizard] [, .Format = number] 
[, .Apply = number]

将一系列选定的段落转换为表格,若没有选定内容,插入空表格。如果插入点已经在表格内,就会出错。

参数		解释
.ConvertFrom	指定用于将文字项分隔为单元格内容的字符。
0	段落标记(Word 将相隔的段落放入第二列)
1	制表符
2	逗号
.NumColumns	表格的列数。
.NumRows	表格的行数。
.InitialColWidth	按磅或文字尺寸度量的各列初始宽度。如果忽略,就会计算列宽以便表格充满页面。
.Wizard	运行“表格”向导。
.Format	“表格”菜单的“表格自动套用格式”对话框列出的某种预定义格式:0 相当于“格式”框中所列的第一种格式(“无”),1 相当于第二种格式,依此类推。
.Apply	指定表格将应用的 .Format 指定的格式属性。可用下列值的任意组合之和。
0	无
1	边框
2	底纹
4	字体
8	颜色
16    自动匹配
32    标题行
64    末行
128    首列
256    末列
=================================================================
FilePageSetup [.Tab = number] 
[, .TopMargin = number or text] 
[, .BottomMargin = number or text] 
[, .LeftMargin = number or text] 
[, .RightMargin = number or text] 
[, .Gutter = number or text] 
[, .PageWidth = number or text] 
[, .PageHeight = number or text] 
[, .Orientation = number] 
[, .FirstPage = number] 
[, .OtherPages = number] 
[, .VertAlign = number] 
[, .ApplyPropsTo = number] 
[, .Default] 
[, .FacingPages = number] 
[, .HeaderDistance = number or text] 
[, .FooterDistance = number or text] 
[, .SectionStart = number] 
[, .OddAndEvenPages = number] 
[, .DifferentFirstPage = number] 
[, .Endnotes = number] 
[, .LineNum = number] 
[, .StartingNum = number] 
[, .FromText = number or text] 
[, .CountBy = number] 
[, .NumMode = number]

在 Windows 中,用 FilePageSetup 设置页面属性,如设置整个文档或文档中各段的边距,页宽。FilePageSetup 语句中的参数对应于“文件”菜单中“页面设置”对话框中的选项。

参数	解释
.Tab	定义当用 Dialog 或 Dialog() 指令显示“页面设置”对话框时,选择哪张选项卡。
0   页边矩
1   纸张大小
2   纸张来源
3   版面详细说明请参阅本部分的第二个示例。
.TopMargin		纸张上边界到文本主体上边界间的距离,以磅数或文本量度为单位。
.BottomMargin	纸张的下边界到和文本主体下边界间的距离,以磅数或文字量度为单位。
.LeftMargin		纸张的左边界和文本主体左边界间的距离,以磅数或文本量度为单位。
.RightMargin	纸张的右边界和文本主体右边界间的距离,以磅数或文本量度为单位。
.Gutter			装订文档要留出的额外的边距,以磅数或文本量度为单位。
.PageWidth		页面宽度,以磅数或文本量度为单位。
.PageHeight		页面高度,以磅数或文本量度为单位。
.Orientation	纸张的方向:
0   纵向
1   横向
注:与 TogglePortrait 语句不同,用 FilePageSetup 定义一个新方向时,不会自动为新方向调节纸张大小和边矩。
.FirstPage, .OtherPages	为文档中的第一页和其它页选择纸张来源:
0   默认纸盒(由打印机驱动程序决定)
1   上层纸盒
2   下层纸盒
3   手动送纸(通常用于越过默认纸盒送第一张纸)
4   信封其他可能的值取决于所用的打印机驱动程序。要确定一个值,请为宏编辑窗口中的 .FirstPage 和 .OtherPages 记录一个宏,用来选择希望的“页面设置”对话框中“纸张来源”选项卡的选项,然后审阅这些值。
.VertAlign	一页中段落的对齐方式:0  上对齐1  居中对齐2  两端对齐	
.ApplyPropsTo	页面设置功能适用的文档部分:0  本节1  插入点之后2  选定节3  选定文本4  整个文本
.Default	使当前的页面设置方式成为基于活动模板建立的新文档的默认方式。
.FacingPages	若为1,则对应于选择“对称页边距”复选框。
.HeaderDistance	从纸张顶端到页眉的距离。
.FooterDistance	从纸张底端到页脚的距离。
.SectionStart	确定分节的类型:0  连续1  新建栏2  新建页3  偶数页4  奇数页	
.OddAndEvenPages	若为1,对应于选择“奇偶页不同”复选框。	
.DifferentFirstPage	若为1,对应于选择“首页不同”复选框。	
.Endnotes	若为1,对应于选择“取消尾注”复选框。	
.LineNum	若为1,对应于选择“添加行号”复选框。	
.StartingNum	行起始编号。
.FromText	文本之间间距,以磅或文本量度为单位。0设为自动间距。	
.CountBy	用于打印行号的数字增量。
.NumMode	行编号方式:0  每新的一页重新开始编号1  每新的一节重新开始编号2  连续编号
=================================================================
=================================================================
=================================================================
=================================================================
=================================================================
=================================================================
=================================================================
=================================================================
=================================================================
rmh

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -