注册 登录
编程论坛 VFP论坛

如何用vfp自动生成20*20的作文格子

王咸美 发布于 2020-07-18 20:40, 2752 次点击
用vfp程序在A4纸上自动生成20*20的作文格子,请高手赐教!万分感谢!!!
8 回复
#2
吹水佬2020-07-18 20:54
画线,画头画尾画中间
#3
瓜瓜19902020-07-18 21:29
用来打印么,可以设计报表,添加控件线条和方框
#4
王咸美2020-07-18 22:09
作文格子样式如下:
只有本站会员才能查看附件,请 登录
#5
瓜瓜19902020-07-18 23:01
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
#6
王咸美2020-07-18 23:16
回复 5楼 瓜瓜1990
非常感谢!
#7
zhken2020-07-18 23:53
也可以用命令行的方式控制只接输出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.  &&打印单元格网线
#8
zhken2020-07-20 19:26
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录


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.
#9
yuantao1002020-07-21 12:40
这个真的不错啊!!!

以下是引用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.

1