0

Google で解決策を探すことに加えて、この問題のトラブルシューティングを数週間行っています。

シナリオ: 特定の Excel セル (範囲 "B2") からテキストの文字列 (ABC Company) をコピーし、Word でテキスト (Company_name) を数回置き換えようとしています。この文字列を変数 (Coy_name) に格納し、「すべて置換」命令を実行することを考えています。コードは以下のとおりです。

Sub CopyDataToWord()

Dim appWd As Word.Application
Dim wdFind As Object
Dim docWD As Word.Document
Dim CoyName As String

Set appWd = CreateObject("Word.Application")
appWd.Visible = True
Set docWD = appWd.Documents.Open("D:\Dropbox\ClassSheet.docx")

sheet1.Range("B2").Copy

'Some code which will input the string from "B2" into variable Coy_name

appWd.Selection.Find.ClearFormatting
appWd.Selection.Find.Replacement.ClearFormatting
With wdFind
    .Text = "Company_name"
    .Replacement.Text = Coy_name
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
appWd.Selection.Find.Execute Replace:=wdReplaceAll

Set appWd = Nothing
Set docWD = Nothing
Set appXL = Nothing
Set wbXL = Nothing

End Sub

コードの起源のいくつかは、私がつなぎ合わせた他の資料に由来しているため、場違いに見えるかもしれません. 私が達成しようとしていることを説明する際に不注意だった可能性がある場合は、質問してください。

4

1 に答える 1

0

これの代わりに:

sheet1.Range("B2").Copy

これを行う:

Coy_name = sheet1.Range("B2").Value
于 2013-10-17T16:24:50.423 に答える