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

Вход

Регистрация

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

 

= Мир MS Excel/Импорт из Word в Excel - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Импорт из Word в Excel
Michael_S Дата: Вторник, 10.06.2014, 22:00 | Сообщение № 1
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
Всем здрасте.
Вот появилась такая задача импрота текста из ворда в excel. на просторах рунета нашел нужный макрос (автор doober, пример в файле excel), ноесть маленькая проблема. В файле Word усть нумерованный список, и дальнейшая обработка его в Excel привязана именно к этому списку. Но при переносе нумерация пропадает.
Может кто знает, как выйти из положения, не пересохраняя вордовский файл в тестовом формате?

зы. вордовский файл нужно сохранить в корне диска С как 1.doc
К сообщению приложен файл: export_Word.xls (43.5 Kb) · 2794419.doc (22.0 Kb)


Сообщение отредактировал Michael_S - Вторник, 10.06.2014, 22:01
 
Ответить
СообщениеВсем здрасте.
Вот появилась такая задача импрота текста из ворда в excel. на просторах рунета нашел нужный макрос (автор doober, пример в файле excel), ноесть маленькая проблема. В файле Word усть нумерованный список, и дальнейшая обработка его в Excel привязана именно к этому списку. Но при переносе нумерация пропадает.
Может кто знает, как выйти из положения, не пересохраняя вордовский файл в тестовом формате?

зы. вордовский файл нужно сохранить в корне диска С как 1.doc

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

2010
Может кто знает, как выйти из положения, не пересохраняя вордовский файл в тестовом формате?

Конкретно под вопрос, думаю, можно так
[vba]
Код
    For n = 0 To UBound(MyText)
         If MyText(n) = "" Then  'Пропуск пустых строк
             m = m + 1
         Else
             Cells(b + n - m, a) = n + 1 & ". " & MyText(n)
         End If
     Next
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Может кто знает, как выйти из положения, не пересохраняя вордовский файл в тестовом формате?

Конкретно под вопрос, думаю, можно так
[vba]
Код
    For n = 0 To UBound(MyText)
         If MyText(n) = "" Then  'Пропуск пустых строк
             m = m + 1
         Else
             Cells(b + n - m, a) = n + 1 & ". " & MyText(n)
         End If
     Next
[/vba]

Автор - RAN
Дата добавления - 10.06.2014 в 22:38
Michael_S Дата: Вторник, 10.06.2014, 23:03 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
Андрей, спасибо, но не пойдет. Вордовский пример сильно упрощен (как всегда), каждая строка списка содержит в файле несколько строк. И если бы был возможен такой вариант, мне не нужна бала бы нумерация. Вот пример реального текста, который нужно обработать. Причем, по ходу дела, почти каждый день вносятся поправки, и их нужно все обрабатывать.
К сообщению приложен файл: Text.doc (23.5 Kb)


Сообщение отредактировал Michael_S - Вторник, 10.06.2014, 23:06
 
Ответить
СообщениеАндрей, спасибо, но не пойдет. Вордовский пример сильно упрощен (как всегда), каждая строка списка содержит в файле несколько строк. И если бы был возможен такой вариант, мне не нужна бала бы нумерация. Вот пример реального текста, который нужно обработать. Причем, по ходу дела, почти каждый день вносятся поправки, и их нужно все обрабатывать.

Автор - Michael_S
Дата добавления - 10.06.2014 в 23:03
anvg Дата: Среда, 11.06.2014, 09:04 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Доброе время суток
Не проще ли в таком случае просто воспользоваться копированием и вставкой?
[vba]
Код

wdDocument.Range.Copy
ActiveSheet.Range("A1").Select
ActiveSheet.PasteSpecial "Текст"
[/vba]
 
Ответить
СообщениеДоброе время суток
Не проще ли в таком случае просто воспользоваться копированием и вставкой?
[vba]
Код

wdDocument.Range.Copy
ActiveSheet.Range("A1").Select
ActiveSheet.PasteSpecial "Текст"
[/vba]

Автор - anvg
Дата добавления - 11.06.2014 в 09:04
Michael_S Дата: Среда, 11.06.2014, 11:20 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
anvg, во, это то, что надо. Я что пробовал с Copy/paste, у меня не получилось.
только строчку ActiveSheet.PasteSpecial "Текст" заменил на ActiveSheet.Paste - в моем случае так лучше.
 
Ответить
Сообщениеanvg, во, это то, что надо. Я что пробовал с Copy/paste, у меня не получилось.
только строчку ActiveSheet.PasteSpecial "Текст" заменил на ActiveSheet.Paste - в моем случае так лучше.

Автор - Michael_S
Дата добавления - 11.06.2014 в 11:20
  • Страница 1 из 1
  • 1
Поиск:

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