После нескольких минут эксперимента я ответил на свой вопрос (см. Ниже).Я приму этот ответ, когда SO позволит мне через 2 дня.
Я использую функциональность MATLAB .NET для создания документа Word.Я хотел бы создать таблицу и объединить две верхние ячейки в левом столбце.Пока я могу создать таблицу:
NET.addAssembly('microsoft.office.interop.word'); %# Register Word assembly
wordApp = Microsoft.Office.Interop.Word.ApplicationClass; %# Create an instance of Word
wordDoc = wordApp.Documents; %# Get the object that handles documents
newDoc = wordDoc.Add; %# Add a new document
wordApp.Visible = 1; %# Make Word visible
selection = wordApp.Selection; %# Get the selection object to manage selected area
table = newDoc.Tables.Add(selection.Range, 3, 5); %# Create a table
table.Style = 'Table Grid'; %# Add grid lines
У меня проблемы с вызовом метода selection.MoveDown
.Запуск METHODSVIEW в этом методе указывает следующие входные параметры:
- Microsoft.Office.Word.Selection this
- System.Object Unit
- System.Object Count
- System.Object Extend
Документация Selection.MoveDown для MSDN предполагает, что параметр Unit является перечислением WdUnits, которое я нашел в MATLABна Microsoft.Office.Interop.Word.WdUnits.wdCell
.
Моя проблема в том, что я не могу найти перечисление WdMovementType, необходимое для параметра Extend.Я хочу использовать значение wdExtend, но не могу его найти.Согласно MSDN это должно быть в Microsoft.Office.Interop.Word.WdMovementType. Может кто-нибудь сказать мне, где найти wdExtend?
РЕДАКТИРОВАТЬ
WdMovementType фактически живет, где он должен, то есть Microsoft.Office.Interop.Word.WdMovementType.Теперь я получаю сообщение об ошибке при попытке запустить метод MoveDown:
>> selection.MoveDown(Microsoft.Office.Interop.Word.WdUnits.wdCell, 1, Microsoft.Office.Interop.Word.WdMovementType.wdExtend);
??? Message: Bad parameter
Source: Microsoft Word
HelpLink: C:\Program Files (x86)\Microsoft Office\Office12\1033\WDMAIN11.CHM#36888
Есть идеи, как правильно вызвать этот метод?
РЕДАКТИРОВАТЬ
При вызове MoveDown следует использовать значение wdLine
для единиц измерения:
>> selection.MoveDown(Microsoft.Office.Interop.Word.WdUnits.wdLine, 1, Microsoft.Office.Interop.Word.WdMovementType.wdExtend);