Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
Другие темы раздела
VBA Генератор модуля расширения клавиатуры для Word и описание программы http://www.cyberforum.ru/vba/thread2012733.html
Думаю, будет интересно для народа. http://www.tvitaly1.narod.ru/generator_modulja_rasshirenija_klaviatury2.zip
VBA Квадратичная интерполяция
как в vba реализовать квадратичную интерполяцию функций двух переменных?
VBA Отбор уникальных данных из двух диапазонов
Доброе времени суток, Господа! Помогите мне автоматизировать свод базы данных, для месячной инвентаризации.Приложил маленький пример. В примере на листе "База" Я отметил цветами(оранжевым, и красным)...
VBA Копирование листа из закрытой книги в открытую Добрые люди, пофиксите макрос, чтобы он запускался с панели инструментов для открытой книги... Sub nununu() Const fromFile = "\\___for___ribbon___\excel\IR_SERIALIZED.xlsx" Dim srcBook As... http://www.cyberforum.ru/vba/thread2012577.html
VBA Макрос - интересная производственная задача http://www.cyberforum.ru/vba/thread2012387.html
VBA Нужен код для замены фразы в ячейке
Здравствуйте, умные помощники! Помогите еще раз с написанием кода. В столбце "А" список из цифр с фразами. В столбце "В" только цифры. Нужно, чтобы при совпадении цифр столбца "А" и "В" поменялась...
VBA Необходимо в тексте убрать точку в конце типа в пунктах - типа 1.1. - заменить на 1.1 (не нумерацию, а ссылки)
With ActiveDocument.Content.Find .ClearFormatting .MatchWildcards = True .Text = "({1;}) ({1;}.)>>" With .Replacement .ClearFormatting .Text = "/1 /2" End With .Execute Replace:=wdReplaceAll...
VBA Вывод в таблицу Здравствуйте! Скажите как сделать вывод в столбец "A" - Дату, в столбец "B" - время (почти получилось у меня), а из листа "БД" подтянуть случайным образом в колонку "C" - выполняемую работу, а в "D"... http://www.cyberforum.ru/vba/thread2011797.html
VBA (VBA Excel) Удалить стоку в ячейке которой нет текста http://www.cyberforum.ru/vba/thread2011792.html
Здравствуйте, как удалить всю строку если в ячейке столбца "B" нет текста, но в ячейке могут быть пробелы (количество может быть разное). Пробовал этот макрос: Sub Row_Cleaner() Dim q As Range...
VBA Случайный вывод Всем привет. Есть случайный вывод дат и случайный вывод времени. Необходимо добавить в 3 и 4 колонке вид работ и ФИО исполнителя (тоже случайным образом). Самостоятельно справится увы не в силах.... http://www.cyberforum.ru/vba/thread2011772.html
Bolbine84455
5 / 5 / 3
Регистрация: 12.03.2014
Сообщений: 339
03.07.2017, 20:55  [ТС] 0

Word. Заменить текст на ссылку

03.07.2017, 20:55. Просмотров 1111. Ответов 6
Метки (Все метки)

Ответ

Цитата Сообщение от Step_UA Посмотреть сообщение
Так покажите код запуска и открытия файла ...
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
'... Генерирую содержимое, сохраняю, удаляю объекты и затем заново открываю
Set objWord = CreateObject("Word.Application")
    If (objWord Is Nothing) Then
        MsgBox "Не удалось содать объект: Word.Application. Убедитесь, что у вас установлен MS Word."
        Exit Sub
    End If
    Set objDoc = objWord.Documents.Open(filePath)
    objWord.Visible = True
    objDoc.ActiveWindow.Activate
    Const wdWindowStateMaximize = 1
    Const wdWindowStateNormal = 0
    objDoc.ActiveWindow.WindowState = wdWindowStateMaximize
    objDoc.ActiveWindow.WindowState = wdWindowStateNormal
    '
    'Теперь сохраненный документ открыт, Word находится поверх всех окон (фокус на ворде), курсор стоит в самом начале строки. Далее вызывается функция замены ссылки (её код ниже). 
    
    Call replaceLink(objWord, objDoc)
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub replaceLink(objWord As Variant, objDoc As Variant)
    Const wdFindContinue = 1
    Dim R As Variant
    Dim tmp As Variant
    Set R = objDoc.Range
    R.Find.ClearFormatting
    R.Find.Text = "[[]{2}[a-zA-Z0-9]{1;}|[!]]{1;}[]]{2}"
    R.Find.Replacement.Text = ""
    R.Find.Forward = True
    R.Find.Wrap = wdFindContinue
    R.Find.Format = False
    R.Find.MatchCase = False
    R.Find.MatchWholeWord = False
    R.Find.MatchAllWordForms = False
    R.Find.MatchSoundsLike = False
    R.Find.MatchWildcards = True
    objWord.ScreenUpdating = False
    Do While R.Find.Execute
        tmp = Split(R.Text, "|")
        Call R.Hyperlinks.Add(R, "http://myservice/linkid?id=" & Mid(tmp(0), 3), , , Left(tmp(1), Len(tmp(1)) - 2))
    Loop
    objWord.ScreenUpdating = True
End Sub
В самом конце получаю ошибку:
Microsoft Word: "Range" не является свойством.
Указывает на строчку "Set R = objDoc.Range" в функции replaceLink

Вернуться к обсуждению:
Word. Заменить текст на ссылку
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2017, 20:55

Работа с MS WORD. Найти текст и заменить его на картинку.
Добрый день. В программа необходимо обратиться к вордовскому документу и заменить в нем некоторый...

Как заменить некоторый текст написанный в word при помощи C++Builder
Народ подскажите кто знает, имеется шаблон в word документе (fam 1,fam2 и т.д) вообщем нужно что бы...

Считать текст из Word посредством Microsoft.Office.Interop.Word
Необходимо считать форматированный текст из Word посредством Microsoft.Office.Interop.Word. По...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.