2017-08-08 7 views
0

非常に新しい:お助けください!は、1つのWord文書からさまざまなテキストを選択し、別のWord文書にコピーします。

私は以下のコードを答えの1つから見つけました(提供者のおかげ)。コードはWord VBAで動作し、テストしました。

Sub RevisedFindIt() 
' Purpose: display the text between (but not including) 
' the words "Title" and "Address" if they both appear. 
    Dim rng1 As Range 
    Dim rng2 As Range 
    Dim strTheText As String 

    Set rng1 = ActiveDocument.Range 
    If rng1.Find.Execute(FindText:="Title") Then 
     Set rng2 = ActiveDocument.Range(rng1.End, ActiveDocument.Range.End) 
     If rng2.Find.Execute(FindText:="Address") Then 
      strTheText = ActiveDocument.Range(rng1.End, rng2.Start).Text 
      MsgBox strTheText 
     End If 
    End If 
End Sub 

私はEXCEL内のデータを使用する必要があるとして、メインエクセルVBAサブからサブとしてそれを呼び出し、そこにいくつかの引数を渡すことによって、EXCEL VBAから同じコードを実行したいです。 .Find.Execute(FindText:=との関係で

Argument not optional

:以下の私の試みは、コンパイラのエラーで失敗しました。

Sub FindIt(ftext, text1, text2, texto) 
' Purpose: display the text between (but not including) 
' the words "Title" and "Address" if they both appear. 

    'Dim wdDoc As Object, wdApp As Object 

    Dim wdApp As Object 
    Dim wdDoc As Object 
    'Set wdApp = CreateObject("Word.application") 
    Set wdApp = New Word.Application 
    Set wdDoc = wdApp.Documents.Open(ftext) 
    wdApp.Visible = True 

    Dim rng1 As Range 
    Dim rng2 As Range 
    Dim strTheText As String 

With wdDoc 

    Set rng1 = ActiveDocument.Range 
    If rng1.Find.Execute(FindText:=text1) Then 
     Set rng2 = ActiveDocument.Range(rng1.End, ActiveDocument.Range.End) 
     If rng2.Find.Execute(FindText:=text2) Then 
      strTheText = ActiveDocument.Range(rng1.End, rng2.Start).Text 
      MsgBox strTheText 
      texto = strTheText 
     End If 
    End If 

End With 

wdDoc.Close savechanges:=False 
wdApp.Quit 
Set wdDoc = Nothing 

Set wdApp = Nothing 

End Sub 
+1

https://msdn.microsoft.com/en-us/vba/excel-vba/articles/range-find- method-excel – braX

+0

引数はオプションではありません。いくつかの引数を省略しました。 – peakpeak

答えて

0

引数はオプションではありません。いくつかの引数を省略しました。 使用インテリセンス:タイプrng1.Find( ...とあなた意志SE引数 enter image description here

+0

実際には.FindコマンドはWordのvbaサブシステムで動作しましたが、Excelで同じサブ作業を行うだけです。 –

関連する問題