我正在尝试使用初始文件名从Excel创建Word文档,以便在保存过程中更快。 Word文档不可能是宏文件,因为我无法将它们保存在我们的SharePoint中。
在打开Word文档之前,请执行以下操作:
我找到了一些方法来更改active.document中的名称,但是Word文档不应是active.document。
我想在创建Word doc之前初始化所需的名称:我想在文档窗口的标题中显示该名称,并在用户首次尝试保存时建议使用它。
我尝试了以下操作,但是它说不可能,因为它是只读属性:
Sub CreateNewWordDoc()
Dim wrdApp As Word.Application
With wrdApp
.Name = "desiredFileName"
End With
Set wrdApp = CreateObject("Word.Application")
wrdApp.Visible = True
Dim wrdDoc As Word.Document
Set wrdDoc = wrdApp.Documents.Add
End Sub
是否可以在不实际保存文件的情况下提供所需的文件名?
答案 0 :(得分:1)
您正在尝试将Name
分配给Application
对象,这是不正确的。
查看以下代码是否对您有帮助:
Sub CreateNewWordDoc()
Dim wrdApp As Object 'Word.Application
Dim wrdDoc As Object 'Word.Document
Set wrdApp = CreateObject("Word.Application")
wrdApp.Visible = True
Set wrdDoc = wrdApp.Documents.Add
With wrdDoc
.SaveAs "desiredFileName"
End With
End Sub
答案 1 :(得分:0)
不保存文件就不能给它起一个名字-这就是Word的设计方式。可能的情况:
更改文档窗口的标题:
wrdDoc.ActiveWindow.Caption = "desired file name"
请注意,如果用户出于某种原因为同一文档创建其他窗口,该标题将不带给他们。
在显示“另存为”对话框时预先设置建议的文件名:
With wrdApp.Dialogs(Word.WdWordDialog.wdDialogFileSummaryInfo) 'enum value 86
.Title = "desired file name"
.Execute
End With
这会将字符串写入内置文档属性Title
,Word在显示未保存文档的另存为时会引用该字符串。由于某些原因,使用Document.BuiltinDocumentProperties(wdPropertyTitle)
不起作用,因此必须遍历内置对话框的路由。有关更多信息,请参见https://wordmvp.com/FAQs/MacrosVBA/SetDefFilename.htm。