Excelのセルから単語の特定の場所にテキストをコピーしようとしています。これらの場所は、ワードdoc内の個々のページにブックマークの場所です。コピーしたテキストがExcelブックから単語ブックマークに抜けています
以下ではvbaが動作しますが、コピーされたテキストはありません。ときには3、時には5、時には1つのブックマークが欠けてしまうことがあります。欠落しているテキストは、指定されたブックマークごとに異なります。私はApplication.Wait()
でvbaを遅くしようとしましたが、これは助けになりませんでした。コミュニケーションのエクセルワードは100%ではないようです。私はこれについて他の説明はしていない。ここで
は、VBAです:
rArray1 = Array("s145:f145","s146:f146",.......)
rArray2 = Array("s155:f155","s156:f156",.......)
For i = 0 To 2
Application.ScreenUpdating=False
Application.EnableEvents=False
Err.Clear
If WordApp Is Nothing Then Set WordApp=CreateObject(class:="Word.Application")
Word.Visible=True
WordApp.Activate
myDoc.SaveAs Filename:=("C:/.........")
ActiveWorkbook.Sheets("Doc").Select
Set texttb1 = ActiveSheet.Range(rArray1(i))
texttb1.Copy
myDoc.Bookmarks("Bookmark01").Select
myDoc.Bookmarks("Bookmark01").Range.PasteSpecial DataType:=wdPasteText
Set texttb2 = ActiveSheet.Range(rArray2(i))
texttb2.Copy
myDoc.Bookmarks("Bookmark02").Select
myDoc.Bookmarks("Bookmark02").Range.PasteSpecial DataType:=wdPasteText
....
....
Next i
あなたが見ることができるように、私はVBA初心者です。私はvbaが大幅に改善できると確信しています。しかし、なぜコピーされたテキストが時々見つからないのですか?ありがとうございました。ご質問のように、私のfoundingsはキーが私を聞かせて、全体的なコードの設定にとしてクリップボード
からExcelデータを消去するには、右の各.PasteSpecial
文の後
Application.CutCopyMode = False
を追加することであるということである
あなたのforループは...変です。 wordappはその中に再作成しますが、docという単語は作成しません。どうして?私はそれを掃除することから始めるだろう。毎回やり直す必要のないすべてのものを置く。 'screenupdating'、' enableevents'、 'wordapp.'のように。また、あなたの「言葉」は何ですか? 'Word.Visible'で。 'Wordapp.Visible'とされていますか?そのコードを少しクリーンアップして、それが役立つかどうかを確認してください... – vacip