You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Word排班检查表实现按日期与内容自动命名导出PDF功能求助

实现步骤

1. 插入「提交表单」ActiveX按钮

操作步骤如下:

  • 打开目标Word排班检查表,点击顶部「开发工具」选项卡(如果没显示,可在文件→选项→自定义功能区里勾选开发工具)
  • 点击「插入」→「ActiveX控件」组里的「命令按钮(ActiveX控件)」,在文档合适位置拖拽画出按钮
  • 右键按钮选择「属性」,在弹出的属性面板里找到Caption项,修改为「提交表单」,可同时调整字体、按钮大小适配文档样式
  • 点击「开发工具」选项卡下的「设计模式」按钮退出设计状态,按钮即可正常点击

2. 完整VBA实现代码

右键刚才插入的「提交表单」按钮,选择「查看代码」,将自动生成的默认代码全部替换为以下内容:

Sub 提交表单_Click()
    ' 配置项:请修改为你实际的共享盘存储路径,末尾保留反斜杠
    Const SHARED_DRIVE_PATH As String = "Z:\共享文件夹\排班检查表存档\"
    
    Dim scheduleDate As String, scheduleName As String
    Dim fileName As String, fullPath As String
    Dim cc As ContentControl
    
    ' 读取内容控件取值
    On Error Resume Next
    For Each cc In ThisDocument.ContentControls
        ' 请根据你自己的内容控件标题修改引号内的内容
        If cc.Title = "排班日期" Then
            ' 格式化日期为YYYY-MM-DD避免文件名非法字符
            scheduleDate = Format(cc.Range.Text, "YYYY-MM-DD")
        End If
        If cc.Title = "排班名称" Then
            ' 替换排班名称里的非法文件名字符
            scheduleName = Replace(Replace(cc.Range.Text, "/", "-"), "\", "-")
            scheduleName = Replace(Replace(scheduleName, ":", ":"), "*", "")
            scheduleName = Replace(Replace(scheduleName, "?", ""), """", "")
            scheduleName = Replace(Replace(scheduleName, "<", "("), ">", ")")
            scheduleName = Replace(scheduleName, "|", "-")
        End If
    Next
    On Error GoTo 0
    
    ' 处理空值避免命名错误
    If scheduleDate = "" Then scheduleDate = "未填写日期"
    If scheduleName = "" Then scheduleName = "未填写排班名称"
    
    ' 拼接最终文件名和完整路径
    fileName = "Checklist " & scheduleDate & " " & scheduleName & ".pdf"
    fullPath = SHARED_DRIVE_PATH & fileName
    
    ' 导出PDF并自动打开
    ActiveDocument.ExportAsFixedFormat _
        OutputFileName:=fullPath, _
        ExportFormat:=wdExportFormatPDF, _
        OpenAfterExport:=True, _
        OptimizeFor:=wdExportOptimizeForPrint, _
        Range:=wdExportAllDocument, _
        Item:=wdExportDocumentContent, _
        IncludeDocProps:=True, _
        KeepIRM:=True, _
        CreateBookmarks:=wdExportCreateNoBookmarks, _
        DocStructureTags:=True, _
        BitmapMissingFonts:=True, _
        UseISO19005_1:=False
    
    ' 可选:导出成功提示,不需要可以删掉下面一行
    MsgBox "表单提交成功,PDF已自动打开确认", vbInformation, "操作完成"
End Sub

3. 配置&使用说明

  • 路径修改:把代码开头SHARED_DRIVE_PATH后面引号内的路径替换为你的实际共享盘路径即可,无需修改其他代码
  • 控件匹配:如果你的日期选择器、下拉列表的标题不是「排班日期」「排班名称」,右键对应内容控件选「属性」即可查看控件标题,把代码里对应判断条件里的标题内容改成你自己的即可
  • 文档保存:完成配置后,需要把文档另存为「Word 启用宏的文档(*.docm)」格式,后续员工打开时点击顶部的「启用内容」按钮即可正常使用提交功能,全程只需要填完内容点提交按钮即可,无需其他操作

内容的提问来源于stack exchange,提问作者DJ EBITDAM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 21:27:02