Страница 2 из 2

Re: Изменить колонтитулы перед печатью

Добавлено: 02 июн 2008, 15:50
VictorM
seergy,
Копировать в ворд сколонтитулом через выбор нужного word документа (не работает)
вот так работает

Код: Выделить всё

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

Re: Изменить колонтитулы перед печатью

Добавлено: 03 июн 2008, 08:56
seergy
Здорво работает. Очень выручили.
А как сделать, чтобы файл ворд лежащий в папке с книгой открывался для вставки не зависимо от пути файла.
Знаю что для HTML можно делать через target :
<a href="..... .doc" target= "_blank ">
Есть ли в VBA аналог оператора target= "_blank "?
С уважением....

Re: Изменить колонтитулы перед печатью

Добавлено: 03 июн 2008, 09:10
VictorM
Как открывался?
В опубликованном коде Вы имеете возможность выбрать файл для открытия, независимо от того, где он находится.
Не понял что Вы хотите...

Re: Изменить колонтитулы перед печатью

Добавлено: 03 июн 2008, 10:19
seergy
Т.е есть варианты
1) указать путь файла .doc (с котрым вы помогли)
2) прописать путь к файлу С:\.....\.... .doc
А если файл или папка, например, перемещён с диска С, на D тогда прописанный путь в макросе С:\.....\.... .doc будет выдавать ошибку.
В HTML коде можно сделать так, что не зависимо от путе через " target= "_blank " в ближлежаших папках находился указанный файл с расш .doc. и лткрывался....
На VBA можно такое сделать вне зависимо от пути файла, или только сделав шаблон с колонтитулом .dot
С уважением...

Re: Изменить колонтитулы перед печатью

Добавлено: 03 июн 2008, 10:57
VictorM
Ясно.
Помещаете DOC овский файл в папку с исходным и прописываете:
ph = ActiveWorkbook.Path
Workbooks.Open Filename:=ph & "\" & "ИмяФайла.doc"

Re: Изменить колонтитулы перед печатью

Добавлено: 03 июн 2008, 11:35
seergy
Выдаёт ошибку...

Re: Изменить колонтитулы перед печатью

Добавлено: 03 июн 2008, 12:27
VictorM
А немного вникнуть в код и подредактировать? Никак?
Я уже как-то говорил - готовых решений не даю (только если иногда). А так, все приводимые коды - подсказка, пример.
Почитайте мою подпись.
**
Так - ошибки нет:

Код: Выделить всё

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

Re: Изменить колонтитулы перед печатью

Добавлено: 03 июн 2008, 13:02
seergy
Да, я сам вникаю, сейчас нет времени... Очень, очень благодарен...
Лично, ВАМ, и данному форуму..
С уважением...