| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 271 人关注过本帖
标题:如何选择某工作簿的多个工作表,按选定工作表打印成指定PDF
只看楼主 加入收藏
shschy
Rank: 2
等 级:论坛游民
帖 子:87
专家分:20
注 册:2022-3-13
结帖率:33.33%
收藏
已结贴  问题点数:1 回复次数:6 
如何选择某工作簿的多个工作表,按选定工作表打印成指定PDF
具体需求:(1)需要将某工作簿内若干工作表合并打印(另存为)一个PDF,不是整个工作簿。
          (2)打印成PDF,可以代码里预设定“待转出的PDF文件名吗?”
          (3)EXCEL或WPS表格中的另存为PDF只能整个工作簿转,不满足若干指定工作表另存为。
整个工作簿或某个工作表的代码知道,但若干个选定工作表合并打印不知道。

整个工作簿打印
   EXCEL.Workbooks.Open("&工作簿名")
   EXCEL.Visible=.T.
   Excel.activeworkbook.PrintOut &&整个工作簿打印

单个工作表打印
   EXCEL.Workbooks.Open("&工作簿名")          &&[方法一]
   EXCEL.Worksheets("工作表名").Activate      &&[方法一]
   EXCEL.ActiveSheet.PrintOut                 &&[方法一]

整个工作簿另存为PDF
   cPDFPath = "d:\output.pdf"
   EXCEL.Workbooks.Open("&工作簿名")   
   Excel.activeworkbook.ExportAsFixedFormat(0,"&cPDFPath")
搜索更多相关主题的帖子: PDF EXCEL 工作 工作表 打印 
2024-05-27 22:12
fyyylyl
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:313
专家分:820
注 册:2006-5-22
收藏
得分:1 
将工作簿中多个工作表合着合并到第一个工作表,并删除后面的工作表,生成一个仅有一个表的工作簿,之后再按工作簿另存为PDF执行:
cXlsFile=GETFILE("XLS")
IF !EMPTY(cXlsFile)
    eole=CREATEOBJECT("Excel.application")
    eole.Workbooks.Open(cXlsFile)   
    nSheet=eole.Sheets.Count
    nRow=eole.Sheets(1).UsedRange.Rows.Count        &&已有行数
    IF nSheet>1
        FOR I=2 TO nSheet
            eole.Worksheets(i).Activate
            eole.ActiveSheet.UsedRange.Copy    &&拷贝整个工作表
            eole.Worksheets("sheet1").Activate    &&激活第一个工作表
                nRowCounts=eole.SHEETS(1).UsedRange.Rows.Count        &&已有行数
            eole.ActiveSheet.Range("A"+ALLTRIM(STR(nRowCounts+1))).PasteSpecial        &&粘贴
        ENDFOR

        eole.DisplayAlerts = .F.        &&屏蔽警告信息
        DO WHILE .t.
            eole.Worksheets(2).Activate
            eole.ActiveWindow.SelectedSheets.Delete()    &&删除第一个之外所有工作表
            IF eole.Sheets.Count=1
                EXIT
            ENDIF
        ENDDO
    ENDIF

     ......

    eole.ActiveWorkbook.saved=.t.    &&放弃存盘
    eole.Workbooks.Close
    eole.Quit
ENDIF

2024-05-29 17:40
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:1 
EXCEL2016中有现成的生成PDF文件的命令

坚守VFP最后的阵地
2024-05-29 17:58
shschy
Rank: 2
等 级:论坛游民
帖 子:87
专家分:20
注 册:2022-3-13
收藏
得分:0 
回复 2楼 fyyylyl
谢谢指点。两个sheet里都是有标题行的设置,无法简单合并,现在采取每个sheet另存为pdf,再安排pdf合并。
2024-05-30 11:41
shschy
Rank: 2
等 级:论坛游民
帖 子:87
专家分:20
注 册:2022-3-13
收藏
得分:0 
回复 3楼 sdta
谢谢指点,对于VFP而言,是利用saveas(pdf文件名,17)调用吗?

2024-05-30 11:43
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
论坛上看到过炊版的回复,你找找看

坚守VFP最后的阵地
2024-05-30 12:36
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 

坚守VFP最后的阵地
2024-05-30 13:08
快速回复:如何选择某工作簿的多个工作表,按选定工作表打印成指定PDF
数据加载中...
 
   



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

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