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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2013, 13:45   #1
YoungTeacher
 
Регистрация: 05.09.2010
Сообщений: 6
По умолчанию Массив из Ecxell в Word

доброго времени суток!
Задача сделать что-то вроде переводчика в Word, я сделал 2 функций
1. Делать замену слов из иностранного в нужный мне язык.
Код:
ub Replace_Ad()
Eng = Array("Hello", "mornig")
Rus = Array("Privet", "utro")
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
For i = 0 To UBound(Eng)
With Selection.Find
    .Text = Eng(i)
    .Replacement.Text = Rus(i)
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
With Selection
    If .Find.Forward = True Then
        .Collapse Direction:=wdCollapseStart
    Else
        .Collapse Direction:=wdCollapseEnd
    End If
    .Find.Execute Replace:=wdReplaceAll
End With
Next
Call HighlightTargets
End Sub
2. Выделяет слова которые заменил.
Код:
Sub HighlightTargets()
Fill_Yellow = Array("Privet", "utro")
Dim j As Long

For j = 0 To UBound(Fill_Yellow)

Set range = ActiveDocument.range

With range.Find
.Text = Fill_Yellow(j)
.Format = True
.MatchCase = True
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False

Do While .Execute(Forward:=True) = True
range.HighlightColorIndex = wdYellow

Loop

End With
Next
End Sub
Что-бы не вводить в ручную в массив слова и его перевод, хочу сделать проще, сделать в Exсell файле 2 колонки с словами и переводом запасать их два массива из колонок. И потом уже делать замену.
Ребята как мне получить массив из Ecxell ??
YoungTeacher вне форума Ответить с цитированием
Старый 08.06.2013, 15:46   #2
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Так же, как и из Excel.

(Ночью разберусь — если не опередят.)

Ещё способ — обращаться к переменной документа: programmersforum.ru/showthread.php?p=1208349#7
Sasha_Smirnov вне форума Ответить с цитированием
Старый 08.06.2013, 21:33   #3
YoungTeacher
 
Регистрация: 05.09.2010
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Sasha_Smirnov Посмотреть сообщение
Так же, как и из Excel.

(Ночью разберусь — если не опередят.)

Ещё способ — обращаться к переменной документа: programmersforum.ru/showthread.php?p=1208349#7
Мне надо обратиться по определенному пути к файлу Excell и его не открывать, сгенерировать 2 массива зависимости что в 2 колонках A и B.
YoungTeacher вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дозапись в word или соеденить два word фала Midnayt C# (си шарп) 1 09.05.2012 15:17
Поиск определенного слова в Word и загрузка его в массив KBO Общие вопросы Delphi 0 21.12.2011 01:28
перенести документ Word (таблица) в MS Excel c сохранением форматирования или обеспечить всплывающие подсказки в Word Serge_Bliznykov Microsoft Office Word 6 11.07.2011 11:02
Работать в Word, не открывая документы (работа с закрытыми документами Word) Георгиевич Microsoft Office Word 10 07.09.2009 11:19
Как вычислять значения вне таблицы WORD, с использованием данных из таблицы WORD prikolist Microsoft Office Word 6 21.11.2008 13:17