Вставьте массив 2-мерных строк VBA в таблицу Word - PullRequest
1 голос
/ 28 ноября 2010

У меня есть абстракция таблицы, содержащей как двумерный массив строк в Word VBA.

Теперь я хочу сохранить этот массив в таблицу в текстовом документе, без итерации по обоим измерениям ... afaik есть метод для получения содержимого Range (...) из excel в виде массива ...

например:.

Dim rng As Excel.Range
Set rng = excelTabelle.Range("A4:F" + CStr(lastRow))
arrData = rng.Value

существует ли подобное решение для вставки этого в таблицу Word?

Итерации требуется слишком много времени для выполнения, поэтому я ищу более эффективный способ сделать это.

Привет, poeschlorn

1 Ответ

0 голосов
/ 28 ноября 2010

Одним из решений может быть использование буфера обмена для ваших нужд. Это не так просто, как в Excel, но, возможно, достаточно быстро для вас. Вот пример кода, как получить некоторый текст через буфер обмена в таблицу слов 2х3 (добавьте ссылку на библиотеку объектов Microsoft Forms 2.0 в документ VBA):

Dim oData As New DataObject
Dim sText As String

' Navigate to the top-left cell of your table (just an example)
Selection.HomeKey Unit:=wdStory

' Put text to the clipboard
sText = "X1" & vbTab & "B1" & vbTab & "C1" & vbCrLf
sText = sText & "A2" & vbTab & "B2" & vbTab & "C2" & vbCrLf

On Error Resume Next
oData.SetText sText
oData.PutInClipboard
On Error GoTo 0

' Select the needed rows and columns of the table'
Selection.MoveDown Unit:=wdLine, Count:=1, Extend:=wdExtend
Selection.MoveRight Unit:=wdCharacter, Count:=2, Extend:=wdExtend

' Paste the clipboard to the table '
Selection.Paste

Я предлагаю вам адаптировать это, чтобы поместить произвольный 2-мерный массив в строку и вставить его аналогичным образом. Если вам нужна дополнительная помощь, вернитесь, дайте нам более подробную информацию, пожалуйста.

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