Как скопировать и вставить уравнение Word (>= 2007) из ячейки таблицы с помощью Visual Basic для приложений
У меня есть таблица в Word 2010 с уравнениями во втором столбце. Я хочу скопировать каждое уравнение из ячеек и вставить его, например, в начале документа. Но это не сработало. Вот код:
Sub CopyEquation()
Dim objEq As OMath
Set Cols = ActiveDocument.Tables(1).Columns(2)
For Each aCell In Cols.Cells
objEq = aCell.Range.OMaths(1) 'Runtime error '91': Object variable or With block variable not set
Next aCell
'insert at start of document
ActiveDocument.Range(0, 0).OMaths.Add objEq 'Runtime error '13': Type mismatch
End Sub
Ошибки упоминаются как комментарии. Для второго я использовал пример OMath, упомянутый в MSDN.
1 ответ
Теперь я нашел это. Это работает:
Sub CopyEquation()
Dim objEq As OMath
Dim objRange As Range
' Select first table, second column
Set Cols = ActiveDocument.Tables(1).Columns(2)
For Each aCell In Cols.Cells
' Copy in each cell the first math environment ...
Set objEq = aCell.Range.OMaths(1)
objEq.Range.Copy
' ... and paste it at the start of the document
ActiveDocument.Range(0, 0).Paste
Next aCell
End Sub