Макрос Excel - открыть файл конкретного слова - PullRequest
1 голос
/ 15 марта 2011

Я не нашел ничего, что могло бы мне помочь.

Я пытаюсь открыть файл с определенным словом, записать в него некоторые данные и сохранить под другим именем. Это то, что я до сих пор:

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 ]

2 голосов
/ 15 марта 2011

Причина, по которой он открывает новый документ, состоит в том, что в вашем коде перед строкой есть строка:

appWD.Documents.Add

:

appWD.Selection.Paste

, если вы удалите appWD.Documents.AddWord вставится в ваш активный документ (т. Е. Standaard.docx).

Еще одна точка, вам не нужна строка:

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

, поскольку вы сразу инициализируете новое Wordприложение в строке ниже:

Set appWD = New Word.Application
0 голосов
/ 15 июля 2013

Этот макрос открывает файл, а затем сохраняет его как новое имя файла в другой папке на основе информации, обновленной в sheet1 файла Excel

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
...