Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2010, 19:43   #1
CrazyTactic
Новичок
Джуниор
 
Регистрация: 13.10.2010
Сообщений: 2
По умолчанию Слияние в MS Word - проблема с путем

Выполняю слияние документа MsWord с файлом Excel, все отлично работает. Но, при переносе на другой компьютер данных файлов, приходится снова указывать источник данных (оба файла должны находится в папке "мои документы", а на разных компах естественно путь к ним разный). Так вот, как можно сделать, чтоб каждый раз не приходилось заново указывать путь? Ведь оба файла расположены в одной папке, хорошо бы если можно было указать относительный путь, только вот где, не нашел...
CrazyTactic вне форума Ответить с цитированием
Старый 19.10.2010, 09:42   #2
Шуримар
Пользователь
 
Аватар для Шуримар
 
Регистрация: 30.06.2010
Сообщений: 11
По умолчанию

Для Excel это будет так.
Код:
        АдресПапки = ActiveWorkbook.Path
        Application.Workbooks.Open (АдресПапки & "\ИмяФайла.xls")
Для Word это будет так.
Код:
        АдресПапки = ActiveDocument.Path
        Application.Documents.Open (АдресПапки & "\ИмяФайла.doc")



Поделись как выполнить слияние документа MsWord с файлом Excel

Последний раз редактировалось Шуримар; 19.10.2010 в 09:51.
Шуримар вне форума Ответить с цитированием
Старый 19.10.2010, 19:19   #3
CrazyTactic
Новичок
Джуниор
 
Регистрация: 13.10.2010
Сообщений: 2
По умолчанию

Сделал вот так:

Код:
ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
    ActiveDocument.MailMerge.OpenDataSource Name:= _
        ThisDocument.Path & "\Êíèãà1.xlsx", ConfirmConversions:=False, _
        ReadOnly:=False, LinkToSource:=True, AddToRecentFiles:=False, _
        PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", _
        WritePasswordTemplate:="", Revert:=False, Format:=wdOpenFormatAuto, _
        Connection:= _
        "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=" & ThisDocument.Path & "\Êíèãà1.xlsx;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=37;Jet OLEDB:Database Locking Mod" _
        , SQLStatement:="SELECT * FROM `Ëèñò1$`", SQLStatement1:="", SubType:= _
        wdMergeSubTypeAccess
CrazyTactic вне форума Ответить с цитированием
Старый 20.10.2010, 21:14   #4
Шуримар
Пользователь
 
Аватар для Шуримар
 
Регистрация: 30.06.2010
Сообщений: 11
По умолчанию

Ничего не понятно.
Из ворда открыть эксель. Взял из справки
Цитата:
Word 2007 Developer Reference > Word Object Model Reference > Application Object > Methods > DDERequest Method
Код:
Sub из_Word()
Dim АдресПапки As String
Dim lngChannel As Long
    
    АдресПапки = ActiveDocument.Path
    
    lngChannel = DDEInitiate(App:="Excel", Topic:="System")
    DDEExecute Channel:=lngChannel, Command:="[OPEN(" & Chr(34) _
        & АдресПапки & "\Книга1.xls" & Chr(34) & ")]"
    DDETerminate Channel:=lngChannel
    lngChannel = DDEInitiate(App:="Excel", Topic:="Книга1.xls")
    DDEPoke Channel:=lngChannel, Item:="R1C1", Data:="Приветствую тебя!"
    DDETerminate Channel:=lngChannel
End Sub
Для чего тут стока многа букав - сам не знаю.
Шуримар вне форума Ответить с цитированием
Старый 14.04.2012, 21:17   #5
malefactor
Новичок
Джуниор
 
Регистрация: 14.04.2012
Сообщений: 1
Радость решение проще

так как я не программист, приходится решать проблему иначе Я создал файл эксель и ворд в папке на диске С. Пусть другой разместит ее тоже на диске С по такому же адресу. Тогда должно все работать.
malefactor вне форума Ответить с цитированием
Старый 18.03.2021, 20:35   #6
Wiss
Новичок
Джуниор
 
Регистрация: 01.11.2011
Сообщений: 1
По умолчанию

Цитата:
Сообщение от malefactor Посмотреть сообщение
так как я не программист, приходится решать проблему иначе Я создал файл эксель и ворд в папке на диске С. Пусть другой разместит ее тоже на диске С по такому же адресу. Тогда должно все работать.
Спасибо, из далёкого 2021. Похоже, что до сих пор никто не придумал решения лучше.
Wiss вне форума Ответить с цитированием
Старый 20.03.2021, 07:59   #7
krohaan
Новичок
Джуниор
 
Регистрация: 20.03.2021
Сообщений: 1
По умолчанию

Wiss, Дд! Вам удалось прописать перманентный путь для любого компьютера? А то я ничего не поняла, а сегодня как раз нужно сделать слияние и переместить на рабочий комп.
krohaan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Слияние с word timesoon Microsoft Office Access 0 03.06.2010 21:29
Слияние в Word ( фиксируем верхню строку "шапку") solodyankin Microsoft Office Word 3 08.02.2010 19:12
Слияние документов WORD iBass Win Api 1 04.02.2010 22:10
Проблема с Word DinaS Microsoft Office Word 4 01.08.2008 08:38
Проблема с Word-ом. KinD Помощь студентам 3 24.07.2008 15:53