2017-02-28 9 views
0

一部のVBAコードに問題があります。私がしようとしているのは、Excelセルからコードをエクスポートし、テキストフィールドのWord文書にインポートすることです。Excel - セルデータをワードドキュメントにエクスポートするVBAコード

ここに私のコードです。

Sub test() 
    Dim ws As Worksheet 
    Set ws = ThisWorkbook.Sheets("Sheet1") 
    Dim objWord As Object 
    Set objWord = CreateObject("Word.Application") 
    objWord.Visible = True 
    objWord.Documents.Open "C:\Users\Acer Windows 7\Desktop\test.docx" 
    With objWord.ActiveDocument 
     .Text1.Value = ws.Range("A1").Value 
     .Text2.Value = ws.Range("B1").Value 
     .Text3.Value = ws.Range("C1").Value 
    End With 
End Sub 

このコードでは、スタティックセルを使用して、それらをWordドキュメントにエクスポートします。私が必要とするのは、その行からそのコードをエクスポートしてword文書に入れるリンクまたはボタンです。私はそれがC4、E4からデータを取得し、行4上のリンク/ボタンをクリックすると

例、F4

これは可能ですか?私はそうする方法がわかりません。

答えて

0

多くの行がある場合は、各行にボタンを追加するのが面倒かもしれません。選択した行をエクスポートするボタンを1つだけ使用することをお勧めします。だからあなたは多くの代わりに1つのボタン/サブを維持する必要があります。

Cells(Row, Column)をここで使用できます。

Sub test() 
    Dim ws As Worksheet 
    Set ws = ThisWorkbook.Sheets("Sheet1") 
    Dim objWord As Object 
    Set objWord = CreateObject("Word.Application") 
    objWord.Visible = True 
    objWord.Documents.Open "C:\Users\Acer Windows 7\Desktop\test.docx" 
    With objWord.ActiveDocument 
     .Text1.Value = ws.Cells(Selection.Row, 1).Value 
     .Text2.Value = ws.Cells(Selection.Row, 2).Value 
     .Text3.Value = ws.Cells(Selection.Row, 3).Value 
    End With 
End Sub 

上記のコードは、常に選択されたセルの行を使用します。最初にエクスポートする行を選択し、次にtest()を実行するボタンを押します。

+0

私は立ち上がると 「オブジェクトはこのプロパティまたはメソッドをサポートしていません」というボックスを取得し、いくつかの理由で、今そのコードを実行 私は '.Valueのを追加するのを忘れ – GreatSc0tt

+0

前にこれをseent haventは「申し訳ありません。私は私の答えを編集しました。 –

+0

そのok。私は助けを肯定する。 各選択ステートメントの最後に.Valueを追加しました。私はまだ同じエラーが発生しているようです。私はボタンを押すと、それは単語の文書を開き、エラーをスローします。私は今、単語2016を使用しているのだろうかと疑問に思う。 – GreatSc0tt

関連する問題