Код Visual Basic переходит в явно случайное место - PullRequest
0 голосов
/ 02 февраля 2012

У меня есть программа на Visual Basic в Excel, которая открывает документы Word и копирует информацию из Word в Excel.В основе лежит цикл for, который проходит через каждую таблицу в одном документе.Внутри цикла for находится вызов функции для обработки этой таблицы:

For nCurrentTable = 1 To nTotalTable
    ' Process each table in Word document, one at a time.
    Call Process_One_Table(nCurrentTable, nTotalTable, vDocName)
Next nCurrentTable

n переменных - Longs, vDocName - вариант.

Почему скрипт выходит из этой функции, чтобы перейтик следующему в конце цикла?Это произошло в разных точках.Прямо сейчас это происходит после (код из глубины Process_One_Table):

Cells(1, nColumn).Select
Selection.EntireColumn

Это также произошло после того, как я неправильно использовал присвоение, присваивая строку типа Long (которую я сейчас исправил).

1 Ответ

4 голосов
/ 02 февраля 2012

On Error Resume Next в вызывающей процедуре является наиболее вероятной причиной этого.Если вызванная процедура вызывает ошибку, выполнение возобновляется со следующей строки вызывающей процедуры.

...