通过从互联网上拼凑代码,我(几乎)解决了我的问题。我正在创建一个单词模板,在保存时会自动创建文件名。在文档中第一个表的第二个单元格中有一个引用字段,它将类似于:
P2457.0227178P1
其中,前5个字符是案例参考,然后是句号或'句号',然后是6位数日期(MMddyy),然后是2位数后缀。
句点,日期和后缀由word自动创建,前缀由用户生成。
为了使其成为保存时的默认文件名,下面的代码使该单元格的内容成为文档标题。但问题是,在保存时,Word会在完全停止之前切断文档标题,因此它只提供前缀作为文件名而不是整个字符串。
有没有更好的方法,以便我可以将整个引用作为默认的保存文件名?
这段代码似乎做了我想要它做的事情,即它正确地设置了文档标题。问题是,当我想要保存文档时,Word不会将整个标题建议为文件名,只能到第一个标点符号...
Sub SaveAsFilename()
Dim MyDocTitle As String
Dim oDoc As Document
Dim oRng As Range
Set oDoc = ActiveDocument
oDoc.Tables(1).Rows(1).Cells(2).Select
Set oRng = Selection.Cells(1).Range.Paragraphs(1).Range
oRng.End = oRng.Cells(1).Range.End - 1
oRng.Select
MyDocTitle = Selection.Text
With Dialogs(wdDialogFileSummaryInfo)
.Title = MyDocTitle
.Execute
End With
Dialogs(wdDialogFileSaveAs).Show
End Sub
答案 0 :(得分:1)
这样做:
With Dialogs(wdDialogFileSaveAs)
.Name = MyDocTitle
.Show
End With
希望有所帮助。