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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2012, 11:37   #1
DJTreeno
Форумчанин
 
Регистрация: 09.06.2011
Сообщений: 146
Радость Изменение связей с файлами

Доброго всем времени суток!

Вот пришла в голову идея сделать подпрограмму для смены связей с файлами, как если бы мы вошли в Подготовить ->Изменить ссылки на файлы. Ниже макрос как я это вижу:

Option Explicit
Public Direcory1 As String
Public Direcory2 As String

Sub ЗаменаСвязей()

Dim Message1, Title1
Message1 = "Путь к старому файлу" ' Set prompt.
Title1 = "Ввод"
Direcory1 = InputBox(Message, Title)

Dim Message2, Title2
Message2 = "Путь к новому файлу" ' Set prompt.
Title2 = "Ввод"
Direcory2 = InputBox(Message, Title)

Dim L as Word.Links 'нет такого в VBA(((

For Each L in ActiveDocument.Links 'нет такого в VBA(((
If L.LinkFormat.SourceFullName = Direcory1 Then
L.LinkFormat.SourceFullName = Direcory2
End If

Next L
End Sub

Дело в том что, если L определить как field, то ворд не видит поля которые находятся в колонтитулах или в формулах колонтитулов (например такая формула: {={ PAGE } - { LINK Excel.Sheet.8 "C:\\Documents\\1.xlsm" "Лист1!R2C5" \a \f 4 \r \* MERGEFORMAT} \* MERGEFORMAT }.

Я перерыл весь интернет, но не нашел ответа как явно обратиться к связям, а через поле - это как-то некорректно. Хотя может надо указать что поле находится в колонтитуле и в формуле.

Интересно как же все-таки это сделать?
DJTreeno вне форума Ответить с цитированием
Старый 19.11.2012, 12:15   #2
DJTreeno
Форумчанин
 
Регистрация: 09.06.2011
Сообщений: 146
По умолчанию

Т.е. если написать:

Dim F
F = ActiveDocument.Fields.Count

То F = 0, хотя у меня имеется два поля со связями
DJTreeno вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос "Копирование листов, строк, изменение связей" MaxxVer Microsoft Office Excel 6 16.09.2011 13:27
Обновление связей между файлами через заданный промежуток времени alleo Microsoft Office Excel 2 21.10.2010 13:39
сохранение связей между файлами при установке паролей redfield Microsoft Office Excel 1 05.06.2010 14:29
измение исходного файла изменение связей marc-nikita Microsoft Office Excel 2 28.01.2010 20:01
Help me! Окно "Изменение связей" Bezdar Microsoft Office Excel 4 18.07.2008 09:33