проблема с rows.count таблицы в файле слова - PullRequest
1 голос
/ 15 октября 2010

Я открыл Word Doc, в котором были таблицы, использую VBA из доступа.Я хочу добавить новую строку и написать что-то в этой строке.Я написал код, но этот код работал только в режиме отладки.Как только я очищаю все точки останова и запускаю программу, у меня возникнет проблема.Кажется, слово будет записывать данные только в первую строку.Пожалуйста, помогите 100

 for j = 0 to 5

   oDoc.tables(1).rows.Add 
   for k=0 to 5
   oDoc.tables(1).cell(oDoc.tables(1).rows.count,k+1)=myarray(k)
   next k

   do something to myarray 
next j

1 Ответ

0 голосов
/ 12 января 2011

Это немного странно - я думаю, что код будет работать, только если ваш myarray () является массивом объектов Range, что кажется немного странным. Если я создаю таблицу 3х1 в своем текущем документе и запускаю следующий код:

Sub x()
For j = 1 To 5
    ActiveDocument.Tables(1).Rows.Add
    For k = 0 To 2
        ActiveDocument.Tables(1).Cell(ActiveDocument.Tables(1).Rows.Count, k + 1).Range.Text = "hello"
    Next k
Next j
End Sub

... тогда кажется, что он отлично работает как в режиме отладки, так и в обычном режиме. Это в Office 2010.

Я предполагаю, что с myarray () происходит какая-то странность - если на самом деле это не массив объектов Range, попробуйте явно установить .Range.Text, как я сделал в своем коде, и я уверен, что это будет счастливее.

Chris

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...