Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Передача текста из Word в Excel - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Передача текста из Word в Excel
olugr76 Дата: Понедельник, 21.08.2017, 12:36 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день!
Помогите пожалуйста.
Пытаюсь решить задачу по перемещению определенной информации из документа Word в лист Excel для последующей обработки.
Файл Word выбираем один из нескольких. Далее в word'e ищем текст, и предложение после найденного сохранить в ячейку cell(1,1)
Ниже копируем таблицу.
Проблема в том, что - что Selection, что Content, что Range не находят текст (или не ищут).
Уже пробовал ставить закладку.
Таблица перемещается успешно.
К сообщению приложен файл: 8865366.xlsm (27.9 Kb)
 
Ответить
СообщениеДобрый день!
Помогите пожалуйста.
Пытаюсь решить задачу по перемещению определенной информации из документа Word в лист Excel для последующей обработки.
Файл Word выбираем один из нескольких. Далее в word'e ищем текст, и предложение после найденного сохранить в ячейку cell(1,1)
Ниже копируем таблицу.
Проблема в том, что - что Selection, что Content, что Range не находят текст (или не ищут).
Уже пробовал ставить закладку.
Таблица перемещается успешно.

Автор - olugr76
Дата добавления - 21.08.2017 в 12:36
iMrTidy Дата: Понедельник, 21.08.2017, 15:07 | Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 85
Репутация: 14 ±
Замечаний: 0% ±

NO
olugr76, в коде в Вашем файле ни слова ни про какой Word. Так что не понятно, что Вы там ищете, куда и как пытаетесь вставить.


Вышенаписанное мной не является истиной, но лишь моя точка зрения, которая скорее всего ошибочна.
 
Ответить
Сообщениеolugr76, в коде в Вашем файле ни слова ни про какой Word. Так что не понятно, что Вы там ищете, куда и как пытаетесь вставить.

Автор - iMrTidy
Дата добавления - 21.08.2017 в 15:07
olugr76 Дата: Вторник, 22.08.2017, 07:02 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Весь код висит на пользовательской форме UserForm1
Вот строки - я открываю приложение Word и запускаю требуемый файл:

[vba]
Код
Set WordOBJ = GetObject(, "Word.Application")
If WordOBJ Is Nothing Then
Set WordOBJ = CreateObject("Word.Application")
Set WordDoc = WordOBJ.Documents.Open(StartForm)
WordOBJ.Visible = True
Else: Set WordDoc = WordOBJ.Documents.Open(StartForm)
End If
[/vba]

Где-то вычитав что при Selection необходимо работать с ActiveDocument я создал переменную AD - [vba]
Код
Set AD = WordOBJ.ActiveDocument
[/vba]. Хотя это не помогло


Сообщение отредактировал olugr76 - Вторник, 22.08.2017, 13:56
 
Ответить
СообщениеВесь код висит на пользовательской форме UserForm1
Вот строки - я открываю приложение Word и запускаю требуемый файл:

[vba]
Код
Set WordOBJ = GetObject(, "Word.Application")
If WordOBJ Is Nothing Then
Set WordOBJ = CreateObject("Word.Application")
Set WordDoc = WordOBJ.Documents.Open(StartForm)
WordOBJ.Visible = True
Else: Set WordDoc = WordOBJ.Documents.Open(StartForm)
End If
[/vba]

Где-то вычитав что при Selection необходимо работать с ActiveDocument я создал переменную AD - [vba]
Код
Set AD = WordOBJ.ActiveDocument
[/vba]. Хотя это не помогло

Автор - olugr76
Дата добавления - 22.08.2017 в 07:02
Pelena Дата: Вторник, 22.08.2017, 07:22 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19603
Репутация: 4660 ±
Замечаний: ±

Excel 365 & Mac Excel
olugr76, оформите код тегами с помощью кнопки # в режиме правки поста.

По теме: в Вашем файле UserForm1 способна только выдать "Hello, World!". Может, не тот файл? И пример вордовского документа хорошо бы увидеть


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеolugr76, оформите код тегами с помощью кнопки # в режиме правки поста.

По теме: в Вашем файле UserForm1 способна только выдать "Hello, World!". Может, не тот файл? И пример вордовского документа хорошо бы увидеть

Автор - Pelena
Дата добавления - 22.08.2017 в 07:22
olugr76 Дата: Вторник, 22.08.2017, 08:51 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Высылаю оба документа
К сообщению приложен файл: 8879192.xlsm (29.1 Kb) · __.docx (34.7 Kb)
 
Ответить
СообщениеВысылаю оба документа

Автор - olugr76
Дата добавления - 22.08.2017 в 08:51
iMrTidy Дата: Вторник, 22.08.2017, 12:22 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 85
Репутация: 14 ±
Замечаний: 0% ±

NO
Ответ открыт
olugr76, я подправил Вам код, надеюсь разберетесь как дальше.

[vba]
Код
Option Explicit

Private Sub CommandButton1_Click()
On Error GoTo ErrCatch

Dim WordOBJ As Object
Dim WordDoc As Object
Dim rS As Word.Range
Dim l As Long

Set WordOBJ = GetWord
Set WordDoc = WordOBJ.Documents.Open(StartForm)
WordOBJ.Visible = True
Set rS = WordDoc.Content

With rS.Find
    .ClearFormatting
    .Text = "цикл:"
    .Forward = True
    .Wrap = wdFindStop
    .MatchCase = False
    If Not .Execute Then
        MsgBox ("Ничего не найдено!")
    Else
        While .Found
            l = l + 1
            Range("A" & l) = rS.Paragraphs(1)
            .Execute
        Wend
    End If
End With

Finalize:
    WordDoc.Close False
    WordOBJ.Quit False
    Set WordDoc = Nothing
    Set WordOBJ = Nothing
    Unload UserForm1

Exit Sub
ErrCatch:
    MsgBox "Error! " & Err.Number & vbNewLine & Err.Description, vbExclamation, "CommandButton1_Click"
    GoTo Finalize
End Sub

Private Function GetWord() As Object
On Error Resume Next
Set GetWord = GetObject(, "Word.Application")
If GetWord Is Nothing Then
    Set GetWord = CreateObject("Word.Application")
End If
End Function
[/vba]


Вышенаписанное мной не является истиной, но лишь моя точка зрения, которая скорее всего ошибочна.

Сообщение отредактировал Manyasha - Вторник, 22.08.2017, 14:40
 
Ответить
СообщениеОтвет открыт
olugr76, я подправил Вам код, надеюсь разберетесь как дальше.

[vba]
Код
Option Explicit

Private Sub CommandButton1_Click()
On Error GoTo ErrCatch

Dim WordOBJ As Object
Dim WordDoc As Object
Dim rS As Word.Range
Dim l As Long

Set WordOBJ = GetWord
Set WordDoc = WordOBJ.Documents.Open(StartForm)
WordOBJ.Visible = True
Set rS = WordDoc.Content

With rS.Find
    .ClearFormatting
    .Text = "цикл:"
    .Forward = True
    .Wrap = wdFindStop
    .MatchCase = False
    If Not .Execute Then
        MsgBox ("Ничего не найдено!")
    Else
        While .Found
            l = l + 1
            Range("A" & l) = rS.Paragraphs(1)
            .Execute
        Wend
    End If
End With

Finalize:
    WordDoc.Close False
    WordOBJ.Quit False
    Set WordDoc = Nothing
    Set WordOBJ = Nothing
    Unload UserForm1

Exit Sub
ErrCatch:
    MsgBox "Error! " & Err.Number & vbNewLine & Err.Description, vbExclamation, "CommandButton1_Click"
    GoTo Finalize
End Sub

Private Function GetWord() As Object
On Error Resume Next
Set GetWord = GetObject(, "Word.Application")
If GetWord Is Nothing Then
    Set GetWord = CreateObject("Word.Application")
End If
End Function
[/vba]

Автор - iMrTidy
Дата добавления - 22.08.2017 в 12:22
olugr76 Дата: Среда, 23.08.2017, 12:43 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
iMrTidy, огромное спасибо, помогло!
Это просто волшебство.
Я так правда и не понял где была основная ошибка (в определении переменной? или selection не срабатывал)
Только у меня теперь таблица не хочет передаваться: при передаче объединенной ячейки (т.е. той которая как бы не существует - ячейка 2,1) - выдает ошибку 5941 (Запрашиваемый номер семейства не существует).
 
Ответить
СообщениеiMrTidy, огромное спасибо, помогло!
Это просто волшебство.
Я так правда и не понял где была основная ошибка (в определении переменной? или selection не срабатывал)
Только у меня теперь таблица не хочет передаваться: при передаче объединенной ячейки (т.е. той которая как бы не существует - ячейка 2,1) - выдает ошибку 5941 (Запрашиваемый номер семейства не существует).

Автор - olugr76
Дата добавления - 23.08.2017 в 12:43
iMrTidy Дата: Среда, 23.08.2017, 14:18 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 85
Репутация: 14 ±
Замечаний: 0% ±

NO
olugr76, основная ошибка была в том, что
[vba]
Код
AD.Selection
[/vba]
пусто, т.к. ничего не выбрано в только что открытом документе.

Выкладывайте, что у Вас есть на текущий момент.


Вышенаписанное мной не является истиной, но лишь моя точка зрения, которая скорее всего ошибочна.
 
Ответить
Сообщениеolugr76, основная ошибка была в том, что
[vba]
Код
AD.Selection
[/vba]
пусто, т.к. ничего не выбрано в только что открытом документе.

Выкладывайте, что у Вас есть на текущий момент.

Автор - iMrTidy
Дата добавления - 23.08.2017 в 14:18
olugr76 Дата: Среда, 23.08.2017, 14:20 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
iMrTidy,
К сообщению приложен файл: 5426609.xlsm (28.4 Kb)
 
Ответить
СообщениеiMrTidy,

Автор - olugr76
Дата добавления - 23.08.2017 в 14:20
iMrTidy Дата: Четверг, 24.08.2017, 00:54 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 85
Репутация: 14 ±
Замечаний: 0% ±

NO
olugr76,
К сообщению приложен файл: 5010542.xlsm (33.0 Kb)


Вышенаписанное мной не является истиной, но лишь моя точка зрения, которая скорее всего ошибочна.
 
Ответить
Сообщениеolugr76,

Автор - iMrTidy
Дата добавления - 24.08.2017 в 00:54
olugr76 Дата: Четверг, 24.08.2017, 06:36 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
iMrTidy, Спасибо огромное и за урок и за помощь :)
 
Ответить
СообщениеiMrTidy, Спасибо огромное и за урок и за помощь :)

Автор - olugr76
Дата добавления - 24.08.2017 в 06:36
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2026 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!