Ms word 在文档标题中添加不带.doc扩展名的文件名字段
在Office2007中工作时,我想在文档标题中添加一个文件名字段。该文档稍后将成为PDF格式,因此我不需要扩展名 我玩过Insert->QuickParts->Field,没有用。我直觉上认为这需要一个公式Ms word 在文档标题中添加不带.doc扩展名的文件名字段,ms-word,word-2007,Ms Word,Word 2007,在Office2007中工作时,我想在文档标题中添加一个文件名字段。该文档稍后将成为PDF格式,因此我不需要扩展名 我玩过Insert->QuickParts->Field,没有用。我直觉上认为这需要一个公式 如果您能提供帮助,请提前感谢。您的感觉很对 Insert>QuickParts>Field>FileName是一种方法,但是从下面的屏幕截图中可以看到,您没有打开或关闭文件扩展名的选项。 显示或不显示(莎士比亚风格)扩展名完全取决于Windows资源管理器设置,以显示或隐藏已知的文件扩展名
如果您能提供帮助,请提前感谢。您的感觉很对
Insert>QuickParts>Field>FileName
是一种方法,但是从下面的屏幕截图中可以看到,您没有打开或关闭文件扩展名的选项。
显示或不显示(莎士比亚风格)扩展名完全取决于Windows资源管理器设置,以显示或隐藏已知的文件扩展名。所以,要么更改该设置,要么需要一些代码
一个非常简单的宏如下所示:
Sub InsertCurrentFileName()
Selection.InsertBefore Text:=Left(ActiveDocument.Name, Len(ActiveDocument.Name) - 4)
End Sub
它所做的只是去掉“文件名字符串”的最后4个字符,例如“.doc”-如果您保护“.docx”,则“.”将被保留。此外,此宏将运行一次,当文件名更改时,您需要再次运行它
也许您可以解释一下,在文档头中使用文件名可以实现什么目的?您是否试图在转换过程中使用文档标题中的文件名来设置某些PDF属性?为什么不使用文档标题?您以后需要PDF中的原始文件名吗?为什么
另外两页帮助您解决问题(都依赖于宏…):
FileBaseName
:
创建FileBaseName自定义属性并为其指定值:
- 在MS Word中打开空白文档
- 另存为“MyTempReport.docx”
- 在MS Word菜单中,MyTempReport.docx打开>文件[选项卡]>信息>属性:单击>高级属性…>自定义[选项卡]
- 输入“名称”:“FileBaseName”;“值”:“MyTempReport”
FileBaseName
:
- MS Word菜单>插入[选项卡]>文本[组]>快速部件>字段
- 从“字段名称”中选择“DocProperty”
- 从“字段属性”>“属性”:选择“FileBaseName”>确定
- 如果重命名文件,这不会反映在
字段中。相反,您必须手动更改高级属性中的FileBaseName
属性。。。(如上所述)FileBaseName
- 您必须在每个特定文档中创建此自定义属性
我在页脚中这样做是为了使pdf版本不显示“.docx”。创建一个类似以下内容的宏:
Dim f As String
f = Dir(ActiveDocument.FullName)
intPos = InStr(1, f, ".")
If intPos > 0 Then
f = Left(f, intPos - 1)
End If
doc.Variables("BaseFileName").Value = f
插入如下字段:
完成。只需在Windows资源管理器中隐藏文件扩展名。然后重新打开文档。然后将其导出。该名称将不具有扩展名。:) 为了让文档名在字段中自动更新,您需要向宏中添加更多的代码。此宏将在每次打开文件时检查文件名,并将更新希望看到文件名的所有字段
Sub AutoOpen()
' AutoUpdate Macro which creates filename without extension and updates fields
Dim aStory As Range
Dim aField As Field
Dim fname As String
fname = ActiveDocument.Name
fname = Left(fname, Len(fname) - 5) 'removes the last five characters from the filename (.docm)
With ActiveDocument
.Variables("fname").Value = fname
End With
For Each aStory In ActiveDocument.StoryRanges 'updates all fields in the document when you open the file
For Each aField In aStory.Fields
aField.Update
Next aField
Next aStory
End Sub
创建此宏后,只需返回文档:
- 在“插入”选项卡中选择“快速零件”,然后单击“字段”
- 在字段选项中,选择DocVariable,在字段属性中键入fname,然后单击确定。
然后,它会将您的文件名(无扩展名)插入到您的文档中,每次打开文件时都会更新,并显示新的文件名。如果且仅当文件名的长度不会更改时,您可以将扩展名的字体更改为“隐藏”:
\*MERGEFORMAT
附加到字段代码;如果缺少此选项,则每次更新字段值时,以下隐藏字体效果将消失)
)
,其中ID\u REV\u一些描述性的名称.doc?
只是一个字母,如REV
,a
,B
,等等C