Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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


           Интенсив по Python 3-5 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
           Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2012, 16:17   #1
Ольга060289
 
Регистрация: 16.10.2012
Сообщений: 8
Восклицание Копирование таблицы из Ворд в Эксель

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

Sub Макрос16()

Dim Tb1 As Table
Dim i As Integer
Dim j As Integer

Ex.Workbooks.Add
Ex.Workbooks.Worksheets.Add

For i = 1 To Tb1.Rows.Count
For j = 1 To Tb1.Rows(i).Cell
Tb1.Cell(i, j).Range.Copy
Ex.Workbooks.Worksheets.Cell(i, j).Paste
Next i
Next j

ActiveWorkbook.SaveAs

End Sub


Но, к сожалению, этот макрос не работает((((
Помогите написать макрос))
Ольга060289 вне форума Ответить с цитированием
Старый 18.10.2012, 20:46   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

1. Вы не открываете собственно книгу эксель (не создаете объекта такого), а обращаться к нему пытаетесь.
2. Вы не указываете, к какой именно таблице в каком именно документе обращаетесь
3. Не очень понятен смысл Вашего двойного цикла: если первый идет точно по вертикали (построчно), то второй точно идет не по столбцам. Кроме того, в конце циклов команды next переставлены местами, что 100% вызовет ошибку
4. Нет смысла делать все через копи-паст, если можно поячеечно скопировать.

В общем, код примерно такой:

Код:
Dim i As Integer
Dim j As Integer

Dim xlApp As Object
Dim xlBook As Object
Dim xlSheet As Object
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)

Set Tab1 = ActiveDocument.Tables(1)

For i = 1 To Tab1.Rows.Count
For j = 1 To Tab1.Columns.Count
xlSheet.Cells(i, j).Value = Tab1.Cell(i, j).Range.Text
Next j
Next i

xlApp.Visible = True
Проверил - вроде работает, главное - не забыть макросы включить в офиск
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...

Последний раз редактировалось Sciv; 18.10.2012 в 20:49.
Sciv вне форума Ответить с цитированием
Старый 19.10.2012, 11:09   #3
Ольга060289
 
Регистрация: 16.10.2012
Сообщений: 8
По умолчанию

Спасибо БОЛЬШОЕ))))) Вы мне очень помогли)) все скопировалось и работает))))
Ольга060289 вне форума Ответить с цитированием
Ответ

          Оплата за обучение в Kata Academy только после твоего трудоустройства в IT!
          Начни карьеру Middle Java-разработчика, подробнее на сайте академии, ссылка - https://clck.ru/fCqwP

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставка таблицы эксель в ворд n0str0m0 Microsoft Office Word 3 22.05.2012 11:51
Создание файла Ворд на основе анализа эксель KorvinDeSon Microsoft Office Excel 11 03.02.2011 13:00
Перенести таблицы Экселя в Ворд Nash1 Фриланс 5 02.07.2009 09:46
Копирование участка текста из Экселя в Ворд Devourer12345 Microsoft Office Excel 3 30.07.2008 08:13