标题:如何用vfp自动生成20*20的作文格子
只看楼主
王咸美
Rank: 1
等 级:新手上路
帖 子:569
专家分:0
注 册:2018-1-4
结帖率:96.99%
已结贴  问题点数:20 回复次数:8 
如何用vfp自动生成20*20的作文格子
用vfp程序在A4纸上自动生成20*20的作文格子,请高手赐教!万分感谢!!!
搜索更多相关主题的帖子: 格子 vfp 自动生成 
2020-07-18 20:40
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
画线,画头画尾画中间
2020-07-18 20:54
瓜瓜1990
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:18
帖 子:125
专家分:699
注 册:2020-2-25
得分:0 
用来打印么,可以设计报表,添加控件线条和方框

piu~piu~
2020-07-18 21:29
王咸美
Rank: 1
等 级:新手上路
帖 子:569
专家分:0
注 册:2018-1-4
得分:0 
作文格子样式如下:
2020-07-18 22:09
瓜瓜1990
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:18
帖 子:125
专家分:699
注 册:2020-2-25
得分:10 
作文报表.rar (1.73 KB)

piu~piu~
2020-07-18 23:01
王咸美
Rank: 1
等 级:新手上路
帖 子:569
专家分:0
注 册:2018-1-4
得分:0 
回复 5楼 瓜瓜1990
非常感谢!
2020-07-18 23:16
zhken
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:11
帖 子:273
专家分:594
注 册:2012-9-21
得分:0 
也可以用命令行的方式控制只接输出EXCEL表格来做,将双数行合并单元格并设置行高,这样更为灵活。以下是主要的几行代码

OLEAPP.ActiveSheet.PageSetup.Papersize=9 &&设置纸张为A4

hanhao_0=1 &&当前行,从1行开始,做一些判断,双数行就合并单元格并设置行高。

c='A'+alltrim(str(hanhao_0))
d='T'+alltrim(str(hanhao_0))
OLEAPP.activesheet.range('&c:&d').mergecells=.t.  &&合并单元格  

OLEAPP.cells.Rows(hanhao_0).RowHeight=20  &&设置当前活动格的高度 设定行高为1磅,1磅=0.035厘米


OLEAPP.ActiveSheet.PageSetup.PrintGridlines=.T.  &&打印单元格网线
2020-07-18 23:53
zhken
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:11
帖 子:273
专家分:594
注 册:2012-9-21
得分:10 


hanhao_0=1
OLEAPP=CREATEOBJECT('Excel.Application')
OLEAPP.Workbooks.Add
OLEAPP.ActiveSheet.PageSetup.Papersize=9
OLEAPP.ActiveSheet.PageSetup.PrintGridlines=.T.
ff='1'
DO WHILE VAL(ff)<>21
OLEAPP.ActiveSheet.Columns(&ff).ColumnWidth=3.8
ff=ALLTRIM(STR(VAL(ff)+1,10,0))
ENDDO
DO WHILE hanhao_0<>41
oleApp.Cells(hanhao_0,20).Value=' '
IF MOD(hanhao_0,2)=0
c='A'+alltrim(str(hanhao_0))
d='T'+alltrim(str(hanhao_0))
OLEAPP.activesheet.range('&c:&d').mergecells=.t.
ENDIF
IF MOD(hanhao_0,2)=1
OLEAPP.cells.Rows(hanhao_0).RowHeight=28
ELSE
OLEAPP.cells.Rows(hanhao_0).RowHeight=6
ENDIF
hanhao_0=hanhao_0+1
ENDDO
OLEAPP.ActiveWorkbook.saved=.T.
OLEAPP.Visible=.T.
2020-07-20 19:26
yuantao100
Rank: 2
等 级:论坛游民
帖 子:61
专家分:16
注 册:2012-7-5
得分:0 
这个真的不错啊!!!

以下是引用zhken在2020-7-20 19:26:17的发言:

hanhao_0=1
OLEAPP=CREATEOBJECT('Excel.Application')
OLEAPP.Workbooks.Add
OLEAPP.ActiveSheet.PageSetup.Papersize=9
OLEAPP.ActiveSheet.PageSetup.PrintGridlines=.T.
ff='1'
DO WHILE VAL(ff)<>21
OLEAPP.ActiveSheet.Columns(&ff).ColumnWidth=3.8
ff=ALLTRIM(STR(VAL(ff)+1,10,0))
ENDDO
DO WHILE hanhao_0<>41
oleApp.Cells(hanhao_0,20).Value=' '
IF MOD(hanhao_0,2)=0
c='A'+alltrim(str(hanhao_0))
d='T'+alltrim(str(hanhao_0))
OLEAPP.activesheet.range('&c:&d').mergecells=.t.
ENDIF
IF MOD(hanhao_0,2)=1
OLEAPP.cells.Rows(hanhao_0).RowHeight=28
ELSE
OLEAPP.cells.Rows(hanhao_0).RowHeight=6
ENDIF
hanhao_0=hanhao_0+1
ENDDO
OLEAPP.ActiveWorkbook.saved=.T.
OLEAPP.Visible=.T.

2020-07-21 12:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-502562-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015469 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved