VFP控制EXCEL

xilaianzxsc 2009-11-13 09:09:51
VFP控制EXCEL

帮看一下,如下二条命令,是否正确,我试了N次了,都没有达到预期效果

_ole_excel.ActiveSheet.PageSetup.CenterHorizontally=.T. &&设置页面水平居中
_ole_excel.ActiveSheet.PageSetup.CenterVertically=.T. &&设置页面垂直居中
...全文
96 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xilaianzxsc 2009-11-13
  • 打赏
  • 举报
回复
8楼的答案是正确的,测试过了
xilaianzxsc 2009-11-13
  • 打赏
  • 举报
回复
8楼的答案是正确的,测试过了
wwwwb 2009-11-13
  • 打赏
  • 举报
回复
每个单元格里的内容要:"水平居中"和"垂直居中"
_ole_excel.cells.select
_ole_excel.selection.HorizontalAlignment=-4108
_ole_excel.selection.VerticalAlignment=-4108
wwwwb 2009-11-13
  • 打赏
  • 举报
回复
_ole_excel.cells(1,1).HorizontalAlignment=-4108
_ole_excel.cells(1,1).VerticalAlignment =-4108
wwwwb 2009-11-13
  • 打赏
  • 举报
回复
public mypath
mypath=""
mypath=getfile("xls")
if empty(mypath)
wait clear
return
endif
_ole_excel = CreateObject("Excel.Application")
_ole_excel.visible=.t.
_ole_excel.WorkBooks.Open(mypath) && 要打开的工作表名(xls)必须是全路径
_ole_excel.WorkSheets(1).Activate
_ole_excel.ActiveSheet.PageSetup.PaperSize=1
_ole_excel.ActiveSheet.PageSetup.CenterHorizontally=.T. &&设置页面水平居中
_ole_excel.ActiveSheet.PageSetup.CenterVertically=.T. &&设置页面垂直居中

测试没有问题,注意打印机支持纸张格式
xilaianzxsc 2009-11-13
  • 打赏
  • 举报
回复
我是不是理解错了?

我要的效果是:每个单元格里的内容要:"水平居中"和"垂直居中"
xilaianzxsc 2009-11-13
  • 打赏
  • 举报
回复
在线等回复
xilaianzxsc 2009-11-13
  • 打赏
  • 举报
回复
可是,我生成的EXCEL中,"水平居中"和"垂直居中"都没有达到效果

帮看一下,代码哪里有错?


use
clos data

_ole_excel = CreateObject("Excel.Application")
_ole_excel.WorkBooks.Open("D:\工资\报表\工资表(三江).xls") && 要打开的工作表名
_ole_excel.WorkSheets(1).Activate &&激活工作簿1

**************************************************************************
_ole_excel.ActiveSheet.Columns(1).ColumnWidth=3.50
_ole_excel.ActiveSheet.Columns(2).ColumnWidth=7.75
_ole_excel.ActiveSheet.Columns(3).ColumnWidth=5.75
_ole_excel.ActiveSheet.Columns(4).ColumnWidth=3.13
_ole_excel.ActiveSheet.Columns(5).ColumnWidth=7.88
_ole_excel.ActiveSheet.Columns(6).ColumnWidth=3.13
_ole_excel.ActiveSheet.Columns(7).ColumnWidth=3.25
_ole_excel.ActiveSheet.Columns(8).ColumnWidth=2.63
_ole_excel.ActiveSheet.Columns(9).ColumnWidth=5.00
_ole_excel.ActiveSheet.Columns(10).ColumnWidth=3.13
_ole_excel.ActiveSheet.Columns(11).ColumnWidth=6.25
_ole_excel.ActiveSheet.Columns(12).ColumnWidth=7.75
_ole_excel.ActiveSheet.Columns(13).ColumnWidth=6.50
_ole_excel.ActiveSheet.Columns(14).ColumnWidth=6.88
_ole_excel.ActiveSheet.Columns(15).ColumnWidth=7.00
_ole_excel.ActiveSheet.Columns(16).ColumnWidth=5.63
_ole_excel.ActiveSheet.Columns(17).ColumnWidth=6.00
_ole_excel.ActiveSheet.Columns(18).ColumnWidth=7.88

FOR i=1 TO _ole_excel.SheetS(1).UsedRange.Rows.Count
_ole_excel.ActiveSheet.Rows(i).RowHeight=21
NEXT i

*_ole_excel.ActiveSheet.PageSetup.PaperSize=1 &&设置纸张大小 此命令有错



_ole_excel.cells(_ole_excel.SheetS(1).UsedRange.Rows.Count,_ole_excel.SheetS(1).UsedRange.Columns.Count).select &&选定有内容的区域
_ole_excel.ActiveSheet.PageSetup.CenterFooter="会计主管: 审核: 制表:" &&页脚


FOR x=1 TO _ole_excel.SheetS(1).UsedRange.Columns.Count
FOR i=1 TO _ole_excel.SheetS(1).UsedRange.Rows.Count
_ole_excel.ActiveSheet.Cells(i,x).Font.Name="宋体" &&设置字体
_ole_excel.ActiveSheet.Cells(i,x).Font.Size=10 &&设置字号
NEXT i
NEXT x

_ole_excel.ActiveSheet.PageSetup.CenterHorizontally=.T. &&设置页面水平居中
_ole_excel.ActiveSheet.PageSetup.CenterVertically=.T. &&设置页面垂直居中




_ole_excel.ActiveWorkbook.Save
_ole_excel.DisplayAlerts=.f.
_ole_excel.AlertBeforeOverwriting =.t.
_ole_excel.quit
RELEASE _ole_excel
MESSAGEBOX("O")

wwwwb 2009-11-13
  • 打赏
  • 举报
回复
代码没有问题,根据纸张不同,位置不同 
十豆三 2009-11-13
  • 打赏
  • 举报
回复
代码没有问题,设置后,打印预览一下看看就知道了。

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧