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

Вход

Регистрация

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

 

= Мир MS Excel/Копирование текста из Word в Excel - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Копирование текста из Word в Excel
Мур Дата: Вторник, 31.12.2013, 13:19 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Доброго времени суток.
Прошу помочь решить следующую задачу:
Имеется документ Word, содержащий текст.
Пользователь выделяет участок текста и запускает макрос.
Макрос должен сохранить выделенный текст в последнюю пустую ячейку заданного столбца закрытой книги Excel.
Допускается, чтобы, на момент сохранения, макрос открывал книгу Excel в скрытом режиме, а затем закрывал.

Из одной книги Excel в другую это удается реализовать, а из Word не получается.
Заранее спасибо. И с наступающим Новым Годом!
 
Ответить
СообщениеДоброго времени суток.
Прошу помочь решить следующую задачу:
Имеется документ Word, содержащий текст.
Пользователь выделяет участок текста и запускает макрос.
Макрос должен сохранить выделенный текст в последнюю пустую ячейку заданного столбца закрытой книги Excel.
Допускается, чтобы, на момент сохранения, макрос открывал книгу Excel в скрытом режиме, а затем закрывал.

Из одной книги Excel в другую это удается реализовать, а из Word не получается.
Заранее спасибо. И с наступающим Новым Годом!

Автор - Мур
Дата добавления - 31.12.2013 в 13:19
RAN Дата: Вторник, 31.12.2013, 13:58 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
http://www.excelworld.ru/forum/2-4221-1#44394
Изменить одну строку совсем не судьба?


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Вторник, 31.12.2013, 13:58
 
Ответить
Сообщениеhttp://www.excelworld.ru/forum/2-4221-1#44394
Изменить одну строку совсем не судьба?

Автор - RAN
Дата добавления - 31.12.2013 в 13:58
Мур Дата: Вторник, 31.12.2013, 15:33 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Уважаемый RAN и остальные участники форума.
Прошу прощения, про решение аналогичной задачи с гиперссылками, предоставленное Вами ранее, я совсем забыл.
Необходимые изменения внес, все получилось. Большое спасибо.
Вместе с тем, к вопросу о копировании выделенного участка текста в Excel я пришел в связи с тем, что не смог добиться гиперссылки на произвольный участок текста в документе Word (текст не структурирован). Если поможете в решении и этой задачи, буду благодарен.
В любом случае, низкий поклон.
 
Ответить
СообщениеУважаемый RAN и остальные участники форума.
Прошу прощения, про решение аналогичной задачи с гиперссылками, предоставленное Вами ранее, я совсем забыл.
Необходимые изменения внес, все получилось. Большое спасибо.
Вместе с тем, к вопросу о копировании выделенного участка текста в Excel я пришел в связи с тем, что не смог добиться гиперссылки на произвольный участок текста в документе Word (текст не структурирован). Если поможете в решении и этой задачи, буду благодарен.
В любом случае, низкий поклон.

Автор - Мур
Дата добавления - 31.12.2013 в 15:33
AndreTM Дата: Вторник, 31.12.2013, 17:37 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
"Гиперссылка на Excel" не нужна. И не нужна любая "ссылка".
У вас же обратная задача - "сослаться на выделенный текст". И кто вам запрещает вставить ссылку на маркер из документа Word (или на поле документа) в таблицу Excel?

Что же касается "произвольного участка текста" - то это ненамного сложнее. Но намного затратнее по телепатическому восприятию ваших хотелок...


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение"Гиперссылка на Excel" не нужна. И не нужна любая "ссылка".
У вас же обратная задача - "сослаться на выделенный текст". И кто вам запрещает вставить ссылку на маркер из документа Word (или на поле документа) в таблицу Excel?

Что же касается "произвольного участка текста" - то это ненамного сложнее. Но намного затратнее по телепатическому восприятию ваших хотелок...

Автор - AndreTM
Дата добавления - 31.12.2013 в 17:37
Мур Дата: Воскресенье, 05.01.2014, 17:36 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Доброго времени суток!
AndreTM, спасибо за ваше желание помочь, но мне не ясно, что вы предлагаете, в частности
Цитата
вставить ссылку на маркер из документа Word (или на поле документа) в таблицу Excel

и
Цитата
по телепатическому восприятию ваших хотелок...

последнее выглядит, хочется так думать, что я не совсем корректно изложил свои "хотелки".
Попробую еще раз...
Каждое утро я обрабатываю (читаю с экрана) сводки происшествий по области, при этом периодически встречаются участки текста,
которые необходимо копировать в последнюю пустую ячейку заданного столбца Excel. Открыть оба файла и копировать в ручную нет возможности.
Выход вижу в том, чтобы создать макрос и прицепить его на какой-нибудь значок на панели инструментов. При появлении нужного текста, выделяю его
и запускаю макрос, который копирует выделенный фрагмент в последнюю пустую ячейку заданного столбца Excel. RAN, уже помог мне с ссылками, но в последствии я отказался от такого решения, потому, что ссылка возвращает весь документ, потом еще надо задавать поиск самого текста, что не совсем удобно.
И здесь, на мой взгляд, два выхода: либо копировать сразу участки текста, либо получать ссылку, возвращающую заданный участок текста в другом документе.
 
Ответить
СообщениеДоброго времени суток!
AndreTM, спасибо за ваше желание помочь, но мне не ясно, что вы предлагаете, в частности
Цитата
вставить ссылку на маркер из документа Word (или на поле документа) в таблицу Excel

и
Цитата
по телепатическому восприятию ваших хотелок...

последнее выглядит, хочется так думать, что я не совсем корректно изложил свои "хотелки".
Попробую еще раз...
Каждое утро я обрабатываю (читаю с экрана) сводки происшествий по области, при этом периодически встречаются участки текста,
которые необходимо копировать в последнюю пустую ячейку заданного столбца Excel. Открыть оба файла и копировать в ручную нет возможности.
Выход вижу в том, чтобы создать макрос и прицепить его на какой-нибудь значок на панели инструментов. При появлении нужного текста, выделяю его
и запускаю макрос, который копирует выделенный фрагмент в последнюю пустую ячейку заданного столбца Excel. RAN, уже помог мне с ссылками, но в последствии я отказался от такого решения, потому, что ссылка возвращает весь документ, потом еще надо задавать поиск самого текста, что не совсем удобно.
И здесь, на мой взгляд, два выхода: либо копировать сразу участки текста, либо получать ссылку, возвращающую заданный участок текста в другом документе.

Автор - Мур
Дата добавления - 05.01.2014 в 17:36
AndreTM Дата: Понедельник, 06.01.2014, 02:06 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
/color]
получать ссылку, возвращающую заданный участок текста в другом документе.
И? Это сложно?
RAN вам посоветовал изменить одну строку - а именно, текст/указатель гиперссылки. На нужное место в тексте документа Word. Которое в момент исполнения макроса у вас выделено...
Вы желаете, чтобы за вас и под вас сделали конкретное решение? - добро пожаловать в платный раздел. Ибо, на мой взгляд, вам дали всё необходимое для решения. Ну и ещё - разбираться с моделью Word специалисты по Excel, скорее всего, не станут :) Тем более, что вы начинали разговор с "общих вопросов" - почему же вы желаете "конкретных ответов" ?
А про "хотелки" - ну, без исходных Word-файлов просто нельзя проверить структуру ссылок... А они у вас - ДСП B)
А на примеры вам - глубоко и надолго, так что...


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение/color]
получать ссылку, возвращающую заданный участок текста в другом документе.
И? Это сложно?
RAN вам посоветовал изменить одну строку - а именно, текст/указатель гиперссылки. На нужное место в тексте документа Word. Которое в момент исполнения макроса у вас выделено...
Вы желаете, чтобы за вас и под вас сделали конкретное решение? - добро пожаловать в платный раздел. Ибо, на мой взгляд, вам дали всё необходимое для решения. Ну и ещё - разбираться с моделью Word специалисты по Excel, скорее всего, не станут :) Тем более, что вы начинали разговор с "общих вопросов" - почему же вы желаете "конкретных ответов" ?
А про "хотелки" - ну, без исходных Word-файлов просто нельзя проверить структуру ссылок... А они у вас - ДСП B)
А на примеры вам - глубоко и надолго, так что...

Автор - AndreTM
Дата добавления - 06.01.2014 в 02:06
Мур Дата: Вторник, 07.01.2014, 10:35 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

AndreTM, после чтения ваших сообщений, у меня портится настроение.....
Сразу хочется возразить по всем пунктам и, примерно в вашем же стиле.....но не стану.
В любом случае, спасибо за разъяснения.
 
Ответить
СообщениеAndreTM, после чтения ваших сообщений, у меня портится настроение.....
Сразу хочется возразить по всем пунктам и, примерно в вашем же стиле.....но не стану.
В любом случае, спасибо за разъяснения.

Автор - Мур
Дата добавления - 07.01.2014 в 10:35
.......... Дата: Вторник, 07.01.2014, 14:13 | Сообщение № 8
Группа: Гости
Гиперссылку на произвольный текст создать нельзя. A вот на закладку - можно.

[vba]
Код
Sub Мяу()
Dim bkm$
bkm = InputBox("Введите имя закладки")
On Error GoTo err_
If VarType(b) = vbBoolean Then Exit Sub
With ActiveDocument.Bookmarks
.Add Range:=Selection.Range, Name:=bkm
.DefaultSorting = wdSortByName
.ShowHidden = True
End With

Dim objExcel As Object
Dim FileName$
FileName = "C:\Documents and Settings\Андр\Мои документы\0.xls"
Set objExcel = CreateObject("Excel.Application")
DoEvents
With objExcel
.DisplayAlerts = False
With .Workbooks.Open(FileName)
DoEvents
.sheets(1).Hyperlinks.Add Anchor:=.sheets(1).Range("A1"), _
Address:=ActiveDocument.FullName, _
SubAddress:=bkm, _
TextToDisplay:=ActiveDocument.FullName
.Save
.Close
End With
.DisplayAlerts = False
End With
Set objExcel = Nothing

On Error GoTo 0
Exit Sub
err_:
MsgBox Err.Description
On Error GoTo 0
End Sub
[/vba]
 
Ответить
СообщениеГиперссылку на произвольный текст создать нельзя. A вот на закладку - можно.

[vba]
Код
Sub Мяу()
Dim bkm$
bkm = InputBox("Введите имя закладки")
On Error GoTo err_
If VarType(b) = vbBoolean Then Exit Sub
With ActiveDocument.Bookmarks
.Add Range:=Selection.Range, Name:=bkm
.DefaultSorting = wdSortByName
.ShowHidden = True
End With

Dim objExcel As Object
Dim FileName$
FileName = "C:\Documents and Settings\Андр\Мои документы\0.xls"
Set objExcel = CreateObject("Excel.Application")
DoEvents
With objExcel
.DisplayAlerts = False
With .Workbooks.Open(FileName)
DoEvents
.sheets(1).Hyperlinks.Add Anchor:=.sheets(1).Range("A1"), _
Address:=ActiveDocument.FullName, _
SubAddress:=bkm, _
TextToDisplay:=ActiveDocument.FullName
.Save
.Close
End With
.DisplayAlerts = False
End With
Set objExcel = Nothing

On Error GoTo 0
Exit Sub
err_:
MsgBox Err.Description
On Error GoTo 0
End Sub
[/vba]

Автор - ..........
Дата добавления - 07.01.2014 в 14:13
Мур Дата: Вторник, 07.01.2014, 15:36 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Не знаю, как обратиться к гостю, в общем очень похоже на то что требовалось...
гиперсылка создается, но пока не открывается, выдает "не удается открыть указанный файл"
Подумаю, может я что не так сделал.....и отпишусь.
Про закладки в Word я вообще не знал, отдельное спасибо...
И еще, не могу сообразить как корректно поменять [vba]
Код
Range("A1")
[/vba] на
[vba]
Код
Cells(Rows.Count,1).End(xlUp).Row
[/vba]
?????
Гостю, автору кода, большое спасибо!
 
Ответить
СообщениеНе знаю, как обратиться к гостю, в общем очень похоже на то что требовалось...
гиперсылка создается, но пока не открывается, выдает "не удается открыть указанный файл"
Подумаю, может я что не так сделал.....и отпишусь.
Про закладки в Word я вообще не знал, отдельное спасибо...
И еще, не могу сообразить как корректно поменять [vba]
Код
Range("A1")
[/vba] на
[vba]
Код
Cells(Rows.Count,1).End(xlUp).Row
[/vba]
?????
Гостю, автору кода, большое спасибо!

Автор - Мур
Дата добавления - 07.01.2014 в 15:36
.......... Дата: Вторник, 07.01.2014, 18:51 | Сообщение № 10
Группа: Гости
Строка
If VarType(b) = vbBoolean Then Exit Sub
лишняя. Необходимо удалить.
После добавления закладки документ нужно сохранить
ActiveDocument.Save

Андрей, "такая корова нужна самому". :)
 
Ответить
СообщениеСтрока
If VarType(b) = vbBoolean Then Exit Sub
лишняя. Необходимо удалить.
После добавления закладки документ нужно сохранить
ActiveDocument.Save

Андрей, "такая корова нужна самому". :)

Автор - ..........
Дата добавления - 07.01.2014 в 18:51
Мур Дата: Вторник, 07.01.2014, 20:09 | Сообщение № 11
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Заработало...!
Про корову ничего не понял, одни догадки,...навреное для Андрея понятно.
А как же вставить гиперссылку не в A1, а следующую свободную ячейку столбца...
 
Ответить
СообщениеЗаработало...!
Про корову ничего не понял, одни догадки,...навреное для Андрея понятно.
А как же вставить гиперссылку не в A1, а следующую свободную ячейку столбца...

Автор - Мур
Дата добавления - 07.01.2014 в 20:09
Мур Дата: Среда, 08.01.2014, 10:16 | Сообщение № 12
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Если кому интересно, то такое решение использовал:
[vba]
Код
Sub Мяуу() ' Создание закладки в Word для выделенного диапазона с последующим созданием гиперссылки в заданном документе Excel на созданную закладку
Dim bkm$                    ' Задаем переменную для названия закладки
Dim lLastRow As Long                    ' Задаем переменную для номера последнего непустого столбца
bkm = InputBox("Введите номер задания")                         ' Окно с названием закладки, заодно и текст ссылки
On Error GoTo err_
With ActiveDocument.Bookmarks                    ' Для активного документа
.Add Range:=Selection.Range, Name:=bkm
.DefaultSorting = wdSortByName
ActiveDocument.Save
.ShowHidden = True
End With
Dim objExcel As Object
Dim FileName$
FileName = "C:\Users\user\Desktop\Книга1.xlsm"
Set objExcel = CreateObject("Excel.Application")
DoEvents
With objExcel
.DisplayAlerts = False
With .Workbooks.Open(FileName)
DoEvents
lLastRow = .sheets(1).UsedRange.Row + .sheets(1).UsedRange.Rows.Count
.sheets(1).Hyperlinks.Add Anchor:=.sheets(1).Range("A" & lLastRow), Address:=ActiveDocument.FullName, SubAddress:=bkm, TextToDisplay:=bkm
.Save
.Close
End With
.DisplayAlerts = False
End With
Set objExcel = Nothing
On Error GoTo 0
Exit Sub
err_:
MsgBox Err.Description
On Error GoTo 0
End Sub
[/vba]
В основе конечно код "гостя" На комментарии можно не обращать внимание.
Есть недостаток - по умолчанию должна быть заполнена первая или первая и последующие несколько строк...


Сообщение отредактировал Мур - Среда, 08.01.2014, 10:17
 
Ответить
СообщениеЕсли кому интересно, то такое решение использовал:
[vba]
Код
Sub Мяуу() ' Создание закладки в Word для выделенного диапазона с последующим созданием гиперссылки в заданном документе Excel на созданную закладку
Dim bkm$                    ' Задаем переменную для названия закладки
Dim lLastRow As Long                    ' Задаем переменную для номера последнего непустого столбца
bkm = InputBox("Введите номер задания")                         ' Окно с названием закладки, заодно и текст ссылки
On Error GoTo err_
With ActiveDocument.Bookmarks                    ' Для активного документа
.Add Range:=Selection.Range, Name:=bkm
.DefaultSorting = wdSortByName
ActiveDocument.Save
.ShowHidden = True
End With
Dim objExcel As Object
Dim FileName$
FileName = "C:\Users\user\Desktop\Книга1.xlsm"
Set objExcel = CreateObject("Excel.Application")
DoEvents
With objExcel
.DisplayAlerts = False
With .Workbooks.Open(FileName)
DoEvents
lLastRow = .sheets(1).UsedRange.Row + .sheets(1).UsedRange.Rows.Count
.sheets(1).Hyperlinks.Add Anchor:=.sheets(1).Range("A" & lLastRow), Address:=ActiveDocument.FullName, SubAddress:=bkm, TextToDisplay:=bkm
.Save
.Close
End With
.DisplayAlerts = False
End With
Set objExcel = Nothing
On Error GoTo 0
Exit Sub
err_:
MsgBox Err.Description
On Error GoTo 0
End Sub
[/vba]
В основе конечно код "гостя" На комментарии можно не обращать внимание.
Есть недостаток - по умолчанию должна быть заполнена первая или первая и последующие несколько строк...

Автор - Мур
Дата добавления - 08.01.2014 в 10:16
  • Страница 1 из 1
  • 1
Поиск:

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