2017-07-17 2 views
0

Ich versuche, den Speicherort der Word-Datei zu öffnen, die den folgenden Fehler gibt. Während des Debugging habe ich den Fehler am folgenden Ort gefunden. Ich bin newbee für die VBA jemand mir helfen kannWie löse ich den Fehler beim Auffinden der Word-Datei?

enter image description here

Mein Code ist

sub findBearingCopyFromExcel() 
    Dim i As Integer 
    Dim aCell As Range, rng As Range 
    Dim SearchString As String 
Set rng = Range("A750:A1790") 
SearchString = "(248_R), 38,7 %" 

For Each aCell In rng 
    If InStr(1, aCell.Value, SearchString, vbTextCompare) Then 
     ActiveSheet.Range(Cells(aCell.row + 4, 1), Cells(aCell.row + 9, 6)).Copy 
Exit Sub 
     Else: End If 
    Next aCell 
End Sub 
Sub bearingDataFromExcelToWord() 
Dim wrdApp As Word.Application 
Dim wdoc As Word.Document 
Set wdoc = wrdApp.Documents.Open("E:\ShareDrive_Ruehl\full-flexible-MBS-models_report\example-report\FullFlexibleGearbox - Copy.docx") 

wrdApp.Visible = True 
With wdoc 
.Application.Selection.Find.Text = "(248_R), 38,7 %" 
.Application.Selection.Find.Execute 


.Application.Selection.MoveDown Unit:=wdLine, Count:=1 
    .Application.Selection.EndKey Unit:=wdLine 
    .Application.Selection.EndKey Unit:=wdLine 
    .Application.Selection.MoveRight Unit:=wdCharacter, Count:=1 
    .Application.Selection.EndKey Unit:=wdLine 
    .Application.Selection.MoveDown Unit:=wdLine, Count:=6, Extend:=wdExtend 
    .Application.Selection.MoveLeft Unit:=wdCharacter, Count:=5, Extend:=wdExtend 
    .Application.Selection.Paste 
    End With 
End Sub 
+0

Randbemerkung: Bitte immer einbetten Code als Text Codeblock (nicht als Bild), so dass die Leute kann es leicht kopieren und reparieren. –

+0

@Peh Danke für die Rückmeldung. Ich habe den Code auch hinzugefügt. Ich wollte nur zeigen wo genau ich den Fehler gefunden habe und auch die Fehlerbox. Bitte lassen Sie mich wissen, ob diese Korrektur mir helfen könnte, mein Problem zu lösen. :) –

Antwort

0

wrdApp nicht hinzufügen new seiner Definition erstellt oder als neu eingestellt später, aber bevor Sie verwenden es.

+0

Danke @Nathan_Sav. Jetzt bekomme ich einen weiteren Fehler. "Microsoft Excel wartet auf eine andere Anwendung, um eine OLE-Aktion abzuschließen". Könntest du überprüfen, wofür es ist? –

0

Sie müssen eine Instanz von wrdApp erstellen.

+0

Danke, es hilft mir, diesen Fehler zu lösen. Aber jetzt bekomme ich einen weiteren Fehler. "Microsoft Excel wartet auf eine andere Anwendung, um eine OLE-Aktion abzuschließen" –

0

Bei einer Schätzung hängt es beim Öffnen des Dokuments - sind Sie sicher, dass Sie den richtigen Pfad und Dateinamen haben? Bewegen

wrdApp.Visible = True 

bis vor der „Set Wdoc ...“ Zeile und überprüfen, ob die Datei geöffnet wird

+0

Ja. @ Harassed Vater. Die Lage ist richtig. Ich habe deinen Vorschlag versucht. Aber es wird als "Benutzerdefinierter Typ nicht definiert" angezeigt. Kompilierfehler –

+0

Welche Zeile ist markiert, wenn der Kompilierungsfehler auftritt? –

+0

Ich habe weiter gearbeitet und habe dieses Ergebnis erzielt. Könnten Sie sich bitte dieses Problem ansehen? https://stackoverflow.com/questions/45275980/how-to-insert-data-copied-from-exexcel-sheet-to-the-table-existing-in-the-word –

Verwandte Themen