誰かがこれで私を助けてくれることを願っています。以下の VB スクリプトは Excel にあり、新しい Word ドキュメントを作成します。このコードは、Excel から Word に画像をコピーします。次に、TextBox を作成して画像の上に配置します。次に、TextBox にテキストを入れます。このコードは正しく機能します。
Set wrdApp = CreateObject("Word.Application")
wrdApp.Visible = True
Set wrdDoc = wrdApp.Documents.Add
Sheets("Sheet1").Shapes("Picture1").Copy
wrdApp.Selection.Paste
With wrdDoc.Shapes.AddTextBox(msoTextOrientationHorizontal, 200, 150, 96, 50)
.Select
.Name = "TextBox1"
End With
With wrdApp.Selection
.ShapeRange.Fill.Visible = 0
.ShapeRange.Line.Visible = 0
.TypeText Text:="My picture text"
End With
前述のとおり、上記のコードは機能します。問題は、これをループに入れて画像を再度コピーする必要があることです (X 回)。ループに入れるコードを書くと、追加の画像が最後に選択されたため、TextBox 内に貼り付けられます。Ctrl + End キーのようなコードを何らかの方法でコーディングする必要があるため、カーソルがドキュメントの最後と TextBox の外に移動します。私はそれを働かせることができません。
そのためには、次のコードを使用する必要があります。
Selection.EndKey Unit:=wdStory
したがって、コード内に挿入する適切な場所は、以下のようにこのセクションにする必要があります。
With wrdApp.Selection
.ShapeRange.Fill.Visible = 0
.ShapeRange.Line.Visible = 0
.TypeText Text:="My picture text"
.EndKey Unit:=wdStory
End With
その行を追加すると、VB エラーが発生します。このコードを Word にコピーしてマクロから実行すると、完全に機能します。ただし、このコードは Excel にあり、Word ですべてを作成する必要があります。
カーソルを TextBox からドキュメントの最後に移動する方法を教えてください。この問題は、コードが Excel にあり、Word に移動しようとしていることが原因であることを知っています。それを機能させる方法または ASCII を使用した同様のコードが必要です。私は考えられるすべてを試し、解決策を何時間も探しました。
誰かが提供できる助けをありがとう、
クリス