2010-11-28 24 views
1

Word VBAで2次元文字列配列を保持するテーブルを抽象化しています。VBA 2次元文字列をWordテーブルに貼り付けます。

今、私は私の知る限り、配列としてExcelからレンジ(...)コンテンツを取得する方法がある...両方の寸法による反復せず、Word文書内の表に、この配列を保存したい...

例:

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

Wordの表にこれを貼り付けるための同様のソリューションがありますか?

反復処理には時間がかかりすぎるため、より効率的な方法を探しています。

挨拶は、

+0

私はWordに似た方法はないと思っていますが(少なくとも私にはわかりませんが)、あなたの反復的な解決策を示すことができ、なぜそれが遅すぎるのか、おそらくいくつかのヒントが得られますそれを改善するために鍬。 –

答えて

0

一つの解決策は、あなたのニーズにクリップボードを利用することであってもよいpoeschlorn。 Excelほど簡単ではありませんが、おそらくあなたのためには十分速いでしょう。ここではいくつかのサンプルコードは(あなたのVBAのドキュメントに2.0オブジェクトライブラリをフォームのMicrosoftへの参照を追加)2x3のワードテーブルにクリップボードを通していくつかのテキストを取得する方法である:

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 

私はあなたがANを置くためにこれを適応させることを示唆しています任意の2次元配列を文字列に変換して同様の方法で貼り付けます。あなたがもっと助けを必要とするなら、私たちに詳細を教えてください。

関連する問題