【问题标题】:Adding footer with a file name, before printing and without deleting existing footer/s在打印之前添加带有文件名的页脚,而不删除现有的页脚
【发布时间】:2020-07-03 07:13:22
【问题描述】:

我需要在 Word 2010 中创建一个宏,它将添加一个带有文件名的页脚,不带扩展名。

当您使用 docvariable 字段时,我发现了一个显示不带扩展名的文件名的代码:

Sub autofilenamefooter()

Dim fname As String
fname = ActiveDocument.Name
fname = Left(fname, InStr(fname, ".") - 1)

With ActiveDocument

   .Variables("fname").Value = fname

   .PrintPreview
   .ClosePrintPreview

End With

End Sub

我如何使用它来创建一个宏:

  1. 在打印前用文件名给文档添加脚印(这样每次打印文档时该字段都会更新)。

  2. 此外,新页脚(带有文件名)不会删除现有页脚(如果有)。这个要求是因为宏应该应用于我们文档管理系统中的所有文档,并且一些文档已经有我想要保留的页脚(例如带有徽标的公司文件)。

提前致谢!

【问题讨论】:

    标签: vba ms-word


    【解决方案1】:

    您拥有的代码不需要进一步的代码来实现。只需在您希望文件名出现的任何位置的页脚中放置一个参考字段。从插入选项卡中选择快速部件 > 字段并插入一个 DocVariable 字段。将字段命名为“Fname”(或与代码中的名称匹配的任何其他名称)。然后在您想要文件名的文档处于活动状态时运行下面的代码。

    Sub SetDocVariable()
        ' 28 Dec 2017
    
        Dim Sp() As String
        Dim Test As String
        Dim VarName As String
        Dim VarValue As String
    
        VarName = "Fname"
        With ActiveDocument
            Sp = Split(.Name, ".")
            ReDim Preserve Sp(UBound(Sp) - 1)
            VarValue = Join(Sp, ".")
    '        VarValue = ""                  ' Use this line to show nothing
            On Error Resume Next
            Test = .Variables(VarName).Value
            If Err Then
                .Variables.Add VarName
                Err.Clear
            End If
            If .Variables(VarName).Value <> VarValue Then .Variables(VarName).Value = VarValue
        End With
    End Sub
    

    此代码会将文件名写入文档变量,如果该变量不存在,则将其添加到文档中。当变量为空白时,您插入的字段将不显示任何内容。如果变量不存在,它将显示错误。将文档变量设置为 "" 以没有错误和没有文件名。

    也许更好的方法是使用内置文档属性之一(或自定义文档属性,如果没有任何内置属性可以用于此目的)代替文档变量,以及相应的参考字段(快速部件 > 文档属性)。您必须在属性对话框中输入文件名,但根本不需要任何代码。

    顺便说一句,“文件名”参考字段(快速部件 > 字段 > 文件名)以您想要的格式显示文件名,但不能设为空白。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-04
      • 2011-02-17
      • 2023-04-09
      • 1970-01-01
      • 2022-09-23
      • 1970-01-01
      • 2013-10-10
      • 1970-01-01
      相关资源
      最近更新 更多