Найти последний столбец, используемый в таблице Excel, с помощью VBA в Microsoft Word - PullRequest
0 голосов
/ 07 ноября 2019

Мне нужно работать на листе Excel, используя VBA из MS Word.

Я не смог понять, почему я получаю сообщение об ошибке при попытке перехватить значение LastCol:

Dim mXL As Object
Dim mWBook As Object
Dim mSheet As Object
Dim C As Long, R As Long
Dim LastRow As Long, LastCol As Long

Set mXL = CreateObject("Excel.Application")
mXL.Visible = True
Set mWBook = mXL.Workbooks.Open("c:\test\test.xlsx")
Set mSheet = mWBook.sheets(1)
LastCol = mSheet.Cells(1, mSheet.Columns.Count).End(xlToLeft).Column 'THIS ISN'T WORKIMG
LastCol = mSheet.Cells(1, 1).End(xlToRight).Column 'This also gives error

Ответы [ 2 ]

2 голосов
/ 07 ноября 2019

Вы используете позднее связывание, поэтому Word не знает, что такое xlToLeft и xlToRight, потому что они из Excel объектной модели.

Добавьтеследующее:

Const xlToLeft As Long = -4159
Const xlToRight As Long = -4161

на основе соответствующих значений из XLDirection enum.

1 голос
/ 07 ноября 2019

Как уже упоминал @BigBen, вы не можете использовать перечисление Excel с поздним ограничением. Вместо этого используйте значение перечислений (https://docs.microsoft.com/en-us/office/vba/api/excel.xldirection)

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