Sub CopyFromExcel2()
Dim wdApp As New Word.Application
Dim wdDoc As Word.Document
Dim fname As String
Application.Columns("A:A").SpecialCells(xlCellTypeConstants, 3).Copy
fname = Application.GetOpenFilename(" Word Documents (*.doc), *.doc") 'выбираем документ
Set wdApp = CreateObject("Word.Application")
wdApp.Visible = True
wdApp.Documents.Open Filename:=fname, ReadOnly:=False
wdApp.Documents(fname).Activate
Set wdDoc = wdApp.ActiveDocument
Call wdDoc.Range.PasteAndFormat(wdFormatPlainText) 'вставляем в Word как текст
' wdApp.ActiveDocument.SaveAs Filename:=fname 'сохраняем документ Word
' wdApp.Quit 'закрываем документ Word
Set wdDoc = Nothing
Set wdApp = Nothing
Application.CutCopyMode = False
End Sub
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
Здорво работает. Очень выручили.
А как сделать, чтобы файл ворд лежащий в папке с книгой открывался для вставки не зависимо от пути файла.
Знаю что для HTML можно делать через target :
<a href="..... .doc" target= "_blank ">
Есть ли в VBA аналог оператора target= "_blank "?
С уважением....
Т.е есть варианты
1) указать путь файла .doc (с котрым вы помогли)
2) прописать путь к файлу С:\.....\.... .doc
А если файл или папка, например, перемещён с диска С, на D тогда прописанный путь в макросе С:\.....\.... .doc будет выдавать ошибку.
В HTML коде можно сделать так, что не зависимо от путе через " target= "_blank " в ближлежаших папках находился указанный файл с расш .doc. и лткрывался....
На VBA можно такое сделать вне зависимо от пути файла, или только сделав шаблон с колонтитулом .dot
С уважением...
А немного вникнуть в код и подредактировать? Никак?
Я уже как-то говорил - готовых решений не даю (только если иногда). А так, все приводимые коды - подсказка, пример.
Почитайте мою подпись.
**
Так - ошибки нет:
Sub CopyFromExcel3()
Dim wdApp As New Word.Application
Dim wdDoc As Word.Document
Dim fname As String
ph = ActiveWorkbook.Path
Application.Columns("A:A").SpecialCells(xlCellTypeConstants, 3).Copy
Set wdApp = CreateObject("Word.Application")
wdApp.Visible = True
wdApp.Documents.Open Filename:=ph & "\" & "Шаблон.doc", ReadOnly:=False
wdApp.Documents("Шаблон.doc").Activate
Set wdDoc = wdApp.ActiveDocument
Call wdDoc.Range.PasteAndFormat(wdFormatPlainText) 'вставляем в Word как текст
' wdApp.ActiveDocument.SaveAs Filename:=fname 'сохраняем документ Word
' wdApp.Quit 'закрываем документ Word
Set wdDoc = Nothing
Set wdApp = Nothing
Application.CutCopyMode = False
End Sub
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".