注册 登录
编程论坛 VFP论坛

为什么 程序代码中的AutoFitBehavior(1)仅对生成的星期一课表有作用

王咸美 发布于 2025-03-27 12:37, 103 次点击
下列程序代码中的AutoFitBehavior(1)仅对生成的星期一课表起作用,对生成的星期二至星期五的课表均不起作用,不知为何?现附上截图和代码,请高手赐教,万分感谢!!!
只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录


程序代码:
*!* 生成每天课表

CLOSE DATABASES
CLEAR ALL
cPath=ADDBS(JUSTPATH(SYS(16)))
SET DEFAULT TO (cPath)
USE kb20190101 ALIAS kb IN 0
USE jsrkb20190101 ALIAS jsrkb IN 0
PUBLIC cxkmc,i,j,m,cjsxm
* wjm=cpath+"mtkbmb.doc"
wjm="F:\temp15\mtkbmb.doc"
FOR m=1 TO 5
 wordApp=CREATEOBJECT("word.Application")
 wordApp.visible=.t.
 cStr=SUBSTR("一二三四五",1+(m-1)*2,2)
 wordTable=wordApp.Documents.Open(wjm)
 * cFileName=cPath+"学校日课总表[星期"+cStr+"]"+".doc"
 cFileName="F:\temp15\学校每天课表\"+"学校日课总表[星期"+cStr+"]"+".doc"
 wordApp.ActiveDocument.Content.Find.Execute('AB',.F.,.F.,.F.,.F.,.F.,.F.,.F.,.F.,'&cStr',2)
 SELECT kb
 FOR i=m*6-3 TO m*6+2
  FOR j=4 TO RECCOUNT()+3
    GO j - 3             && 对课表进行指针定位(班级定位)
    cxkmc=ALLTRIM(EVALUATE(FIELD(i)))
    SELECT jsrkb        
    FOR n=3 TO FCOUNT("jsrkb")
     GO j - 3
     IF FIELD(n)=cxkmc
      cjsxm=ALLTRIM(EVALUATE(FIELD(n)))
      cZdm=cxkmc+"["+cjsxm+"]"
      IF LEN(cZdm)>12
       wordTable.Tables.item(1).Cell(j,i-6*(m-1)).Range.font.size=9
      endif
      wordTable.Tables.item(1).Cell(j,i-6*(m-1)).Range.Text=cZdm
     ENDIF
    ENDFOR
    SELECT kb              
  ENDFOR
ENDFOR

*1* 将单元格中学科设置为宋体、粗体、9号字,任课教师姓名设置为楷体、9号字
wordApp.ActiveDocument.Tables(1).Cell(4, 3).Select
wordApp.Selection.MoveRight(3,71,1)
wordApp.Selection.Font.Name = "宋体"
wordApp.Selection.Font.Size = 10.5  && 五号字
wordApp.Selection.Font.Bold = .t.


do While wordApp.Selection.Find.Execute('[')
   wordApp.Selection.MoveRight(3, 1, 1)
   wordApp.Selection.Font.Name = "楷体"
   wordApp.Selection.Font.SIZE =9  && 小五
   wordApp.Selection.Font.Bold = .f.
   wordApp.Selection.MoveRight(3, 1, 0)
ENDDO

wordApp.Documents(1).Tables(1).AutoFitBehavior(1)  &&根据内容自动调整

*!* 保存退出
wordApp.Documents(1).SaveAs(cFileName)
wordapp.documents.Close  &&& 关闭工作区  
wordapp.QUIT             &&& 关闭
RELEASE wordApp
ENDFOR
RETURN


0 回复
1