Foxtable(狐表)用户栏目专家坐堂 → EXCEL报表的问题


  共有3070人关注过本帖树形打印复制链接

主题:EXCEL报表的问题

帅哥哟,离线,有人找我吗?
大红袍
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/7 15:05:00 [只看该作者]

打印输出

利用PageSetup属性,可进各种打印设置。如:


Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\Report.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
With Ws.PageSetup
    '设置打印区域
    .PrintArea = "A1:H10"   '打印工作表的指定区域
    .PrintArea = Ws.UsedRange.Address   '打印工作表的使用区域
    .PrintTitleColumns = Ws.Columns("A:H").Address   '打印列(在每一页的左边重复出现)
    .PrintTitleRows = Ws.Rows(1).Address '打印(在每一页的顶部重复出现)
    '设置页面
    .PaperSize = MSExcel.XlPaperSize.xlPaperA4   '纸张大小
    .LeftMargin = 30 '页面左边距
    .RightMargin = 30'页面右边距
    .TopMargin = 50  '页面顶部边距
    .BottomMargin = 50   '页面底部边距
    .HeaderMargin = 40   '页面顶端到页眉的距离
    .FooterMargin = 40   '页脚到页面底端的距离
    .CenterHorizontally = True   '页面水平居中
    .CenterVertically = True '页面垂直居中
    '设置页眉
    .LeftHeader = "打印日期: &D" '左页眉,&D表示日期
    .CenterHeader = "&""隶书,常规""&20 数据分析表"   '中页眉,并将字体设置为隶书和20号字大小
    .RightHeader = "打印者: " & App.UserName '右页眉
    '设置页脚
    .LeftFooter = "文件: &F  &A" '左页脚,&F表示文件名,&A表示工作表名
    .CenterFooter = ""   '中页脚为空
    .RightFooter = "第 &P 页  共 &N 页"  '右页脚
    '打印模式
    .Orientation = MSExcel.xlPageOrientation.xlPortrait  '纵向打印
    .Orientation = MSExcel.xlPageOrientation.xlLandscape '横向打印
    .PrintHeadings = True'打印号和列
    .PrintGridlines = True   '打印网格线
    '缩放打印
    .Zoom = False'以下设置将缩印在一页内
    .FitToPagesWide = 1  '按照1页的宽度打印
    .FitToPagesTall = 1  '按照1页的高度打印
End With
App.Visible = True
Ws.PrintPreview
App.Quit


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/7 15:06:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
supwork
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/7/7 18:35:00 [只看该作者]


 Book.Build() '生成细节区
Book.Save(fl) '保存

Dim Proc As New Process '打开PDF文件
Proc.File = fl
Proc.Start()

 

用该方法生成EXCEL报表后,仅EXCEL图标在任务栏中闪闪的,需要单击一下才最大化显示出来

如何 让EXCEL报表一打开就最大化并且在最前面呢


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/7 19:06:00 [只看该作者]

 打开以后,设置成最大化

 

http://www.foxtable.com/help/topics/2713.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
supwork
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/7/7 19:43:00 [只看该作者]

成功

 

LockBaseMainForm() '锁定主界面
Dim ydsll As WinForm.NumericComboBox = e.Form.Controls("NumericComboBox1")
If CDbl(ydsll.value)< 1Then
    ydsll.value = 1
End If
Dim ydsll2 As WinForm.NumericComboBox = e.Form.Controls("NumericComboBox2")
If CDbl(ydsll2.value)< 1Then
    ydsll2.value = 1
End If
Dim Book As New XLS.Book(ProjectPath & "Attachments\采购订单打印模板A.xls")
Dim fl As String = ProjectPath & "Reports\采购订单打印模板A.xls"
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Sheet(5,0).Value = "<采购明细," & -ydsll.value &">"
Sheet.Rows(5).Height = CDbl(ydsll2.value)
Book.Build() '生成细节区
Book.Save(fl) '保存工作簿
Dim myExcel1 As New MsExcel.Application
myExcel1.Visible=True
myExcel1.Workbooks.Open(fl)
ShowAppWindow("采购订单打印模板A.xls",2)
UnLockBaseMainForm() '解锁主界面
With myExcel1.ActiveSheet   
    .PrintPreview
End With
myExcel1.ActiveWorkbook.Saved=True
myExcel1.quit

 

这段 代码生成打印预览窗口

在生成显示过程中,屏幕明显的有闪烁感

 

如何让屏幕不闪,预览窗口生成好后,再一次性显示。


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/7 19:52:00 [只看该作者]

 最后再

 

myExcel1.Visible=True

ShowAppWindow("采购订单打印模板A.xls",2)


 回到顶部
帅哥哟,离线,有人找我吗?
supwork
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/7/8 10:20:00 [只看该作者]

ShowAppWindow("采购订单打印模板A.xls",2) 能保证 该窗口最大化显示,但也有时并不保证窗口显示在最前面


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/8 10:26:00 [只看该作者]

 没办法,这个。至少我不知道怎么处理

 回到顶部
帅哥哟,离线,有人找我吗?
supwork
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/7/8 10:43:00 [只看该作者]

是的,原设计 时规划时就少了个功能,将窗口置前,貌似调用WINDOWS API函数可以做到将某窗口强制置前。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/8 10:45:00 [只看该作者]

 无法做到,excel不在foxtable的控制范围里面

 回到顶部
总数 21 上一页 1 2 3 下一页