Foxtable(狐表)用户栏目专家坐堂 → word在生成pdf前先删除页脚内容


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

主题:word在生成pdf前先删除页脚内容

帅哥哟,离线,有人找我吗?
fntfgz
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:424 积分:5115 威望:0 精华:0 注册:2012/11/16 8:21:00
word在生成pdf前先删除页脚内容  发帖心情 Post By:2019/8/16 22:59:00 [只看该作者]

word在生成pdf前先删除页脚内容,我分别找到了两段代码,但是删除页脚的是vba的,老师怎么把这两个融合到一起呢


老师,我在论坛上找到了word生成pdf的代码

Dim app As New MSWord.Application
try
    Dim fileName = "D:\pdfcs\w.docx"
    app.Documents.Open(fileName)
    app.Documents(fileName).ExportAsFixedFormat("D:\pdfcs\w.pdf",  MSWord.WdExportFormat.wdExportFormatPDF)
catch ex As exception
    msgbox(ex.message)
finally
    app.Quit
End try

我也找到了删除页脚的vba代码

Sub 删除页脚内容()
    Dim j As Section
    Dim y As HeaderFooter
    For Each j In ActiveDocument.Sections
        For Each y In j.Footers
            y.Range.Delete
        Next
    Next
End Sub


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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/16 23:30:00 [只看该作者]

Dim app As New MSWord.Application
try
    Dim fileName = "d:\问题\w.docx"
    Dim doc = app.Documents.Open(fileName)
    For Each oSec As object In doc.Sections
        Dim myRange = oSec.Footers(MSWord.WdHeaderFooterIndex.wdHeaderFooterPrimary).Range
        myRange.Delete
    Next
    doc.saved = True
    doc.ExportAsFixedFormat("d:\问题\w.pdf",  MSWord.WdExportFormat.wdExportFormatPDF)
catch ex As exception
    msgbox(ex.message)
finally
    app.Quit
End try

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


加好友 发短信
等级:一尾狐 帖子:424 积分:5115 威望:0 精华:0 注册:2012/11/16 8:21:00
  发帖心情 Post By:2019/8/17 10:07:00 [只看该作者]

谢谢有点甜老师,这么晚还给回复问题,老师,在帮一下吧,我也想用excel实现相同的效果,先删除页脚然后在生成pdf,
本想有word的样子,自己先试试,但还是搞不定,下面是生成pdf 代码,请老师在费点时间,看看删除页脚在之前怎么实现,再次感谢
Dim App As New MSExcel.Application
try
    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("d:\会议签到表.xls")
    '创建Excel文件对应的PDF文件
    wb.Saved = True
    wb.ExportAsFixedFormat(MSExcel.XlFixedFormatType.xlTypePDF, "d:\会议签到表.pdf", MsExcel.XlFixedFormatQuality.xlQualityStandard, True, False,  System.Reflection.Missing.Value,  System.Reflection.Missing.Value, True,  System.Reflection.Missing.Value)
    app.quit
    msgbox("OK")
catch ex As exception
    msgbox(ex.message)
    app.quit
End try


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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/17 11:03:00 [只看该作者]

参考:http://www.foxtable.com/webhelp/topics/2121.htm

Dim App As New MSExcel.Application
try
    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\问题\123.xls")
    Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
    With Ws.PageSetup
        .LeftFooter = "" '左页脚,&F表示文件名,&A表示工作表名
        .CenterFooter = ""   '中页脚为空
        .RightFooter = ""  '右页脚
    End With
    '创建Excel文件对应的PDF文件
    wb.Saved = True
    wb.ExportAsFixedFormat(MSExcel.XlFixedFormatType.xlTypePDF, "D:\问题\123.pdf", MsExcel.XlFixedFormatQuality.xlQualityStandard, True, False,  System.Reflection.Missing.Value,  System.Reflection.Missing.Value, True,  System.Reflection.Missing.Value)
    app.quit
    msgbox("OK")
catch ex As exception
    msgbox(ex.message)
    app.quit
End try

 回到顶部