2017-01-26 2 views
-1
Sub FindWordCopySentence() 
    Dim appExcel As Object 
    Dim objSheet As Object 
    Dim aRange As Range 
    Dim intRowCount As Integer 
    intRowCount = 1 
    Set aRange = ActiveDocument.Range 
    With aRange.Find 
    Do 
     .Text = "shall" ' the word I am looking for 
     .Execute 
     If .Found Then 
     aRange.Expand Unit:=wdSentence 
     aRange.Copy 
     aRange.Collapse wdCollapseEnd 
     If objSheet Is Nothing Then 
      Set appExcel = CreateObject("Excel.Application") 
      'Change the file path to match the location of your test.xls 
      Set objSheet = appExcel.workbooks.Open("C:\temp\test.xls").Sheets("Sheet1") 
      intRowCount = 1 
     End If 
     objSheet.Cells(intRowCount, 1).Select 
     objSheet.Paste 
     intRowCount = intRowCount + 1 
     End If 
    Loop While .Found 
    End With 
    If Not objSheet Is Nothing Then 
    appExcel.workbooks(1).Close True 
    appExcel.Quit 
    Set objSheet = Nothing 
    Set appExcel = Nothing 
    End If 
    Set aRange = Nothing 
End Sub 

Ich kann diesen Code auf PPT mit VBA nicht ausführen! Während ich versuche, es zu debuggen, wird ein Fehler ausgegeben, der besagt, dass die Arrange-Zeile In Correct ist.VBA Text finden und exportieren

+1

Versuchen Sie, das a in arange ... Bereich zu löschen. nm ... Code ist in diesem Format unleserlich – user3646932

+0

Das hat mein Freund nicht funktioniert. Das habe ich schon probiert. Kann mir bitte jemand helfen, Extend Class in PowerPoint vba zu verwenden. Ich möchte einen Satz kopieren, wenn ein bestimmtes Wort gefunden wird –

Antwort

0

Der Fehler wird generiert, weil der Variablentyp "Bereich" im PowerPoint nicht vorhanden ist. Wenn Sie versuchen, eine Excel zu nennen reichen yo muss, dies zu tun:

  1. gehen zu Tools => Verweise und wählen Sie die Microsoft Excel-X.XX Objektbibliothek. (X, xx antworten auf die Excel-Version Sie installiert haben)

  2. schreibt:

    Dim arange Als Excel.Range

statt:

Dim aRange As Range 

Wenn Sie benötigen Um mit anderen Programmen in VBA zu interagieren, merken Sie sich, dass Sie sie zuerst den Referenzen zuweisen.

Ich hoffe, dass dies Ihnen hilft.

Humberto

+0

Ich muss das in PowerPoint tun! Tatsächlich versuche ich einen komplizierten Satz in PowerPoint zu kopieren, wenn ein bestimmtes Wort vorkommt. Was ich nicht bekommen konnte erweitern Sie die Auswahl und kopieren Sie den ganzen Satz. –

Verwandte Themen