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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2012, 10:50   #1
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,039
По умолчанию как узнать номер ячейки в таблице Ворда, где находится курсор?

Здравствуйте, собственно сабж, а также как считать содержимое этой ячейки?
Спасибо
Ципихович Эндрю вне форума Ответить с цитированием
Старый 27.03.2012, 11:38   #2
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,039
По умолчанию

неужели без цикла нельзя узнать:
Код:
Dim cl As Cell
Dim j1 As String
Dim j11111 As Integer

With ActiveDocument.Tables(1).Range
For Each cl In .Cells
j1 = cl.Range.Text
j11111 = j11111 + 1
Next cl
End With
Ципихович Эндрю вне форума Ответить с цитированием
Старый 27.03.2012, 11:52   #3
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,077
По умолчанию

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
Здравствуйте, собственно сабж, а также как считать содержимое этой ячейки?
Спасибо
Код:
Sub w120327_1147()
Debug.Print Selection.Information(wdEndOfRangeRowNumber)
Debug.Print Selection.Information(wdEndOfRangeColumnNumber)

End Sub

Sub w120327_1147()
Dim jr, jc
jr = Selection.Information(wdEndOfRangeRowNumber)
jc = Selection.Information(wdEndOfRangeColumnNumber)
Debug.Print jr, jc, Selection.Tables(1).Rows(jr).Range.Cells(jc).Range.Text

End Sub
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание

Последний раз редактировалось shanemac51; 27.03.2012 в 11:55.
shanemac51 вне форума Ответить с цитированием
Старый 27.03.2012, 11:56   #4
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,039
По умолчанию

1е это номер строки
2е это номер ячейки в строке
а мне нужно номер ячейки в таблице
Ципихович Эндрю вне форума Ответить с цитированием
Старый 27.03.2012, 12:04   #5
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,039
По умолчанию

благодаря ответу мне более ничего и не надо
Код:

 'номер строки в таблице, в документе, где расположен курсор
    IntegerCursor_rowбыло = Selection.Rows.First.Index

    'номер столбца, а также ячейки в таблице, в документе, где расположен курсор, даже если ширина столбца, ячейки различается
    IntegerCursor_cellбыло = Selection.Cells(1).ColumnIndex
'''''''''''''''''стало
'номер строки в таблице, в документе, где расположен курсор, даже если ширина столбца, ячейки различается
    IntegerCursor_row = Selection.Information(wdEndOfRangeRowNumber)
    
'номер столбца, а также ячейки в таблице, в документе, где расположен курсор, даже если ширина столбца, ячейки различается
    IntegerCursor_cell = Selection.Information(wdEndOfRangeColumnNumber)
спасибо!!!!!!
Ципихович Эндрю вне форума Ответить с цитированием
Старый 27.03.2012, 16:09   #6
Вождь
Форумчанин
 
Аватар для Вождь
 
Регистрация: 29.09.2008
Сообщений: 378
По умолчанию

Веселая ветка

Эндрю, а чем не подходит Selection.Cells(1)? В частности .RowIndex и .ColumnIndex?

Зачем нужен номер, если уже есть сама ячейка? Если нужно запомнить "координаты" ячейки, то лучше RowIndex и ColumnIndex, с последующим доступом Table.Cell(R, C). Обращение Cells(N) и работает медленнее.
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
Вождь вне форума Ответить с цитированием
Старый 27.03.2012, 16:49   #7
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,039
По умолчанию

увы в другом месте прорвало, вопрос актуален
как узнать номер ячейки в таблице Ворда, где находится курсор?
как узнать количество ячеек в строке таблицы Ворда, и в случае когда таблица имеет объединённые ячейки по вертикали?
Ципихович Эндрю вне форума Ответить с цитированием
Старый 27.03.2012, 16:52   #8
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,039
По умолчанию

уважаемый Вождь все мои вопросы связаны так как наткунулся на таблицу, которая имеет объединённые ячейки по вертикали
Ваши ответы не смотрел...
Ципихович Эндрю вне форума Ответить с цитированием
Старый 27.03.2012, 18:48   #9
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,039
По умолчанию

посмотрел ответ Вождя, пришёл к выводу:
Код:
'номер строки в таблице, в документе, где расположен курсор, даже если ширина столбца, ячейки различается
    IntegerCursor_row = Selection.Information(wdEndOfRangeRowNumber)
    
'номер столбца, а также ячейки в таблице, в документе, где расположен курсор, даже если ширина столбца, ячейки различается
    IntegerCursor_cell = Selection.Information(wdEndOfRangeColumnNumber)
и
Код:
'номер строки в таблице, в документе, где расположен курсор, даже если ширина столбца, ячейки различается
    IntegerCursor_row = Selection.Cells(1).RowIndex
    
'номер столбца, а также ячейки в таблице, в документе, где расположен курсор, даже если ширина столбца, ячейки различается
    IntegerCursor_cell = Selection.Cells(1).ColumnIndex
работает всегда одинаково правильно, сбоев не даёт, но мне надо знать ячейка таблицы где курсор какая по счёту, чтобы знать не последняя ли она и это надо узнать и в таблице где есть объединённые ячейки
так как считывать мне нужно инфу со следующей ячейки относительно того где курсор стоит
Ципихович Эндрю вне форума Ответить с цитированием
Старый 28.03.2012, 13:04   #10
Вождь
Форумчанин
 
Аватар для Вождь
 
Регистрация: 29.09.2008
Сообщений: 378
По умолчанию

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
...знать не последняя ли она...
Это уже другой вопрос
Вариант 1:
Код:
If Selection.Cells(1).Next Is Nothing Then MsgBox "Конец таблицы"
Вариант 2:
Код:
With Selection.Cells(1).Range
        If .End >= .Tables(1).Range.End - 1 Then MsgBox "Конец таблицы"
End With
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
Вождь вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Номер символа, после которого находится курсор. Delphi -Yevgeniy- Помощь студентам 8 28.03.2011 10:53
Как програмно можно узнать где находится программа Vol666 Общие вопросы Delphi 11 30.07.2009 20:58
Как установить курсор на добавленную запись в таблице tarakan1983 БД в Delphi 4 05.04.2009 17:13
Как узнать номер строки на который поставлен курсор? Bravo Общие вопросы C/C++ 0 27.10.2008 00:29
Как узнать в Делфи координаты в котором находится курсор мыши? SVS Win Api 3 08.02.2007 13:34