Excel宏 - 打开特定的word文件

时间:2011-03-15 10:28:15

标签: excel vba excel-vba ms-office

我找不到任何可以帮助我的东西。

我正在尝试打开某个word文件,在其中写入一些数据并以不同的名称保存。这就是我到目前为止所做的:

Dim appWD As Word.Application
Set appWD = CreateObject("Word.Application.8")
Set appWD = New Word.Application
Dim docWD As Word.Document
Set docWD = appWD.Documents.Open("C:\Documents and Settings\Excel macro\Standaard.docx")
appWD.Visible = True
'
' Data is selected and copied into "Design"
'
 Copy all data from Design
Sheets("Design").Select
Range("A1:G50").Copy
' Tell Word to create a new document
appWD.Documents.Add
' Tell Word to paste the contents of the clipboard into the new document
appWD.Selection.Paste
' Save the new document with a sequential file name
Sheets("Sheet1").Select
appWD.ActiveDocument.SaveAs Filename:=ThisWorkbook.Path & "/" & "TEST" & Range("C8").Text
' Close this new word document
appWD.ActiveDocument.Close
' Close the Word application
appWD.Quit

目前所做的一切都是;打开Standaard.docx文件,打开一个新文件并将所有内容粘贴到新文件中并保存。它应该打开Standaard.docx文件,将其粘贴到那里并以新名称保存。

非常感谢!

2 个答案:

答案 0 :(得分:2)

它打开一个新文档的原因是因为你有一行:

appWD.Documents.Add

在您的代码之前的行:

appWD.Selection.Paste

如果您删除appWD.Documents.Add Word将粘贴到您的活动文档中(即“Standaard.docx”)。

还有一点,你不需要这一行:

Set appWD = CreateObject("Word.Application.8")

当您立即在其下方的行中初始化新的Word应用程序时使用:

Set appWD = New Word.Application

答案 1 :(得分:0)

此宏打开一个文件,然后根据Excel文件的sheet1中更新的信息将其作为新文件名保存在不同的文件夹中

Sub OpenDocFileNewName()


'
' OpenDocFileNewName Macro

'
'
    Set WordApp = CreateObject("Word.Application.8")

Set WordDoc = WordApp.Documents.Open("C:\Users\mmezzolesta\Documents\_TestDataMerge\STANDARD.docx")

WordApp.Visible = True

'
'
'Save as new file name

Sheets("Sheet1").Select

WordApp.ActiveDocument.SaveAs Filename:=("C:\Users\mmezzolesta\Documents\_TestMailMergeAuto") & "/" & Range("A2") & "Standard-Grounding-" & Range("e2").Text

WordApp.ActiveDocument.Close

WordApp.Quit

'
'
End Sub