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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.02.2011, 02:06   #1
breeve
Новичок
Джуниор
 
Регистрация: 17.02.2011
Сообщений: 4
По умолчанию Как достать информацию из таблицы

Есть документ состоящий из одной страницы, в начале есть немного текста и в конце, а по середине таблица. Как достать информацию из таблицы? Есть ли метод аля Text который возвращает текст из ячейки таблицы? Заранее благодарен за помощь.

ПС Гуглил нашел много кода с помощью которого можно создавать таблицу, а как ее просмотреть так и не нашел.
breeve вне форума Ответить с цитированием
Старый 17.02.2011, 03:17   #2
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Плохо гулили...
Вывод текста из ячейки 2-й колонки 5-й строки 1-й таблицы активного документа:
Код:
Msgbox ActiveDocument.Tables(1).Cell(5,2).Range.Text
Учтите, что текст в конце будет содержать признак конца ячейки.
Aent вне форума Ответить с цитированием
Старый 17.02.2011, 10:34   #3
breeve
Новичок
Джуниор
 
Регистрация: 17.02.2011
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Aent Посмотреть сообщение
Плохо гулили...
Вывод текста из ячейки 2-й колонки 5-й строки 1-й таблицы активного документа
Учтите, что текст в конце будет содержать признак конца ячейки.
Спасибо, действительно в конце текста здоровенная точка.

А чтобы вытащить все данные из таблицы нужно по ячеечно это делать или есть какойто метод чтобы за раз).
Думаю надо двигаться в сторону циклов. Но вот только проблема такая возникла. Таблица у меня не простая, т.е НЕ в каждом столбце одинаковое кол-во строк. Как тогда мне получить все ячейки?
breeve вне форума Ответить с цитированием
Старый 17.02.2011, 11:17   #4
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,077
По умолчанию

-выделите кусок таблицы и скопируйте в новый документ
-инфу можете удалить или заменить на ввв ааа ррр 111
-выложите полученный образец
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Старый 17.02.2011, 19:18   #5
breeve
Новичок
Джуниор
 
Регистрация: 17.02.2011
Сообщений: 4
По умолчанию

Цитата:
Сообщение от shanemac51 Посмотреть сообщение
-выделите кусок таблицы и скопируйте в новый документ
-инфу можете удалить или заменить на ввв ааа ррр 111
-выложите полученный образец
Вообще если быть точнее, то я пишу программу на сях, и мне нужно достать информацию из таблицы ворд чтобы потом ее можно было обрабатывать. Информацию я могу достать лишь в текстовом или цифровом видах.
И из всего VBA мне нужны только методы и свойства библиотеки ворд.
Смотрел на мсдн документацию но толком ничего не понял.
Привожу пример таблицы. 1-ая цифра - столбец, 2-ая строка. Где пунктир там ничего нет, и вместо цифр текст - это для ясности. Узнал что оказывается если ссылаться на 2-ую строку в 1-м столбце то он выдаст ошибку. И чтобы взять 2-ую ячейку нужно ссылаться к 3-ей строке. Проблема заключается в том что как найти сколько строк 2-го столбца пролегают напротив 1-ой ячейки 1-го столбца. Можно сделать так, перейти на след ячейку вниз (1-ый столбец) и далее узнать какая это строка. Но не метод перехода, не получение номера текуще строки не знаю.


breeve вне форума Ответить с цитированием
Старый 17.02.2011, 19:24   #6
breeve
Новичок
Джуниор
 
Регистрация: 17.02.2011
Сообщений: 4
По умолчанию

Цитата:
Сообщение от breeve Посмотреть сообщение
или есть какойто метод чтобы за раз).
Это я имел ввиду метод, чтобы вывод его был примерно таков:
"1 1*1 2*1 3/2 1*...*9 2*9 3" где звездочка это переход на след ячейку в этой строке, а слеш на след строку.
breeve вне форума Ответить с цитированием
Старый 17.02.2011, 19:32   #7
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,039
По умолчанию

cursor_row = oDocument.Windows(1).Selection.Rows .First.Index 'номер строки в таблице, в документе, где расположен курсор
или
cursor_row = ActiveDocument.Selection.Rows.First .Index
Ципихович Эндрю на форуме Ответить с цитированием
Старый 17.02.2011, 19:36   #8
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,039
По умолчанию

Думаю надо двигаться в сторону циклов. Но вот только проблема такая возникла. Таблица у меня не простая, т.е НЕ в каждом столбце одинаковое кол-во строк. Как тогда мне получить все ячейки


Для этого есть цикл Фор еах - До тех пор или сначала узнать сколько, а затем делать цикл
Ципихович Эндрю на форуме Ответить с цитированием
Старый 18.02.2011, 05:38   #9
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,077
По умолчанию

вывод из нерегулярной таблицы
Код:
Sub m110218_0521()
Dim c1 As Cell, j1
Word.ActiveDocument.Tables(1).Select
With Selection
For Each c1 In .Cells
j1 = Len("" & c1.Range.Text)
If j1 > 2 Then
If Mid(c1.Range.Text, j1, 1) < Chr(32) Then
j1 = j1 - 1
End If
If Mid(c1.Range.Text, j1, 1) < Chr(32) Then
j1 = j1 - 1
End If
Debug.Print c1.ColumnIndex, c1.RowIndex, Mid(c1.Range.Text, 1, j1)
End If
Next c1
End With
End Sub
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как "достать" информацию с диска? Syslik Помощь студентам 6 31.01.2011 11:10
Как из большой таблицы получить информацию на отдельном листе Aspens Microsoft Office Excel 7 20.12.2010 00:26
Надо достать информацию из проги, есть умельцы? видимо DOS Azhimix Помощь студентам 0 08.10.2010 22:57
Подскажите где достать полезную информацию Nura87 Свободное общение 33 05.08.2010 09:15
Как при нажатии одной кнопки занести информацию в 2 таблицы k0libry Microsoft Office Excel 4 31.01.2010 22:58