用初始名称创建单词

时间:2018-12-06 12:46:29

标签: excel vba ms-word

我正在尝试使用初始文件名从Excel创建Word文档,以便在保存过程中更快。 Word文档不可能是宏文件,因为我无法将它们保存在我们的SharePoint中。

在打开Word文档之前,请执行以下操作:

  • 从日志文件(txt)中选择特定的文本段落,并将其放置在Excel文档中。
  • 在Excel文档中,它们被存储以进行控制工作。
  • 从那里,一些信息将被传输到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

是否可以在不实际保存文件的情况下提供所需的文件名?

2 个答案:

答案 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