Я пытаюсь манипулировать таблицами Word из Excel.Общая проблема, с которой я сталкиваюсь, уже решена Microsoft здесь:
https://docs.microsoft.com/en-us/office/vba/word/concepts/customizing-word/error-accessing-a-table-row-or-column
tldr: Объединенные ячейки в таблицах Word требуют обходного пути, чтобы выбрать целые строки для удаления.
Я использовал и настроил следующий фрагмент кода:
Sub RemoveTableBorders()
ActiveDocument.Tables(1).Cell(1, 1).Select
With Selection
.SelectRow
.Cells.Borders.Enable = False
End With
End Sub
Однако я получаю ошибку 438, указывающую на команду .SelectRow
.VBA говорит мне, что это недопустимая команда для объекта.Такое ощущение, что когда я использую команду With Selection
, Excel не распознает, что я пытаюсь записать слово, поскольку .selectrow
- это команда Word.Поэтому я пытаюсь включить в указатель еще один указатель:
Sub RemoveTableBorders()
ActiveDocument.Tables(1).Cell(1, 1).Select
With ActiveDocument.Selection
.SelectRow
.Cells.Borders.Enable = False
End With
End Sub
Я не могу предоставить воспроизводимый код.
Я думаю, что ответ на следующий вопрос также решает мою проблему: если у меня есть два открытых экземпляра программ Office, как я могу определить, каким выбором (Excel или Word) следует манипулировать?