Anzeige
Archiv - Navigation
1788to1792
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeitfehler 1004

Laufzeitfehler 1004
04.11.2020 13:06:10
Spitzbube
Hallo zusammen,
bei folgendem Makro bekomme ich immer den Laufzeitfehler "1004:CopyPicture-Methode kann nicht ausgeführt werden". Dies passiert immer bei dem "Paste"-Befehl und immer an einer unterschiedlichen Stelle. Kann jemand helfen?
Option Explicit
Public objWordRange As Object
Public objDocument As Object
Public objDialog As Object
Public objApp As Object
Public strVorlage As String
Public Bkmrk As Object
Public Name As String
Public AnlageEingangKorrekturwerte As Integer
Public Name As String
Sub CreateDocument()
AnlageEingangKorrekturwerte = Sheets("Basisdaten").Range("Anlage_Eingangsdaten_Korrektur")
If Sheets("Basisdaten").Range("Status") = "intern" Then
strVorlage = "hier mein Pfad"
Else
strVorlage = "hier der andere Pfad"
End If
Set objApp = CreateObject("Word.Application")
objApp.Visible = True
Set objDocument = objApp.Documents.Add(Template:=strVorlage)
If AnlageEingangKorrekturwerte = 1 Then
Call Eingang_Korrekturwerte_Subroutine
End If
With objApp
Name = "mein Speicherpfad"
.ActiveDocument.SaveAs Filename:=Name
.ActiveDocument.Close
End With
objApp.Quit
Set objApp = Nothing
End Sub

Unterprogramm:
Sub Eingang_Korrekturwerte_Subroutine()
With ThisWorkbook.Worksheets("Korrektur")
If Sheets("Korrektur").Range("Korrektur_Gewinn_Abfrage") = 1 Then
If objDocument.Bookmarks.Exists("Korrektur_Gewinn") = True Then
.Range("Korrektur_Gewinn").CopyPicture 1, 2
Set objWordRange = objDocument.Bookmarks("Korrektur_Gewinn").Range
objWordRange.Paste
Set objWordRange = Nothing
End If
End If
If Sheets("Korrektur").Range("Korrektur_Gewinn_Abfrage2") = 1 Then
If objDocument.Bookmarks.Exists("Korrektur_Gewinn2") = True Then
.Range("Korrektur_Gewinn2").CopyPicture 1, 2
Set objWordRange = objDocument.Bookmarks("Korrektur_Gewinn2").Range
objWordRange.Paste
Set objWordRange = Nothing
End If
End If
If Sheets("Korrektur").Range("Korrektur_Gewinn_Abfrage3") = 1 Then
If objDocument.Bookmarks.Exists("Korrektur_Gewinn3") = True Then
.Range("Korrektur_Gewinn3").CopyPicture 1, 2
Set objWordRange = objDocument.Bookmarks("Korrektur_Gewinn3").Range
objWordRange.Paste
Set objWordRange = Nothing
End If
End If
End With
End Sub
Vielen Dank Euch :)

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 1004
04.11.2020 14:49:43
Tino
Hallo,
könnte sein das CopyPicture noch nicht fertig ist.
Versuche es mal so, habe ich jetzt nicht getestet!
'...
Application.CutCopyMode = False
doevents
.Range("Korrektur_Gewinn").CopyPicture 1, 2
doevents
Set objWordRange = objDocument.Bookmarks("Korrektur_Gewinn").Range
objWordRange.Paste
'...
Gruß Tino
AW: Laufzeitfehler 1004
05.11.2020 10:04:16
Spitzbube
Hallo und danke für dein schnelles Feedback,
leider bekomme ich den Fehler immer noch, wieder jedes mal an einer anderen Stelle. Zusätzlich bekomme ich jetzt noch den Laufzeitfehler "4605:Diese Methode oder Eigenschaft ist nicht verfügbar, weil die Zwischenablage leer oder ungültig ist". Dieser Fehler tritt ebenfalls immer bei einem Paste-Befehl auf.
Hast du noch weitere Ideen zur Optimierung?
Danke und viele Grüße :)
Anzeige
AW: Laufzeitfehler 1004
05.11.2020 17:41:48
Tino
Hallo,
Versuche Mal noch eine Pause nach dem Copy zu machen.
Sonst habe ich jetzt keine Idee ohne das Problem vor mir zu haben um zu testen!
'...
Application.CutCopyMode = False
doevents
.Range("Korrektur_Gewinn").CopyPicture 1, 2
Application.Wait Now + TimeSerial(0, 0, 1)
doevents
Set objWordRange = objDocument.Bookmarks("Korrektur_Gewinn").Range
objWordRange.Paste
'...
Gruß Tino
AW: Laufzeitfehler 1004
10.11.2020 10:51:35
Spitzbube
Hallo Tino,
Hat leider auch nicht geholfen :/ Trotzdem vielen Dank für deine Hilfe! Ich setze jetzt nochmal den Ansatz von Karl-Heinz um und schaue, ob ich damit den Fehler rausbekomme.
Gruß :)
Anzeige
AW: Laufzeitfehler 1004
10.11.2020 10:51:36
Spitzbube
Hallo Tino,
Hat leider auch nicht geholfen :/ Trotzdem vielen Dank für deine Hilfe! Ich setze jetzt nochmal den Ansatz von Karl-Heinz um und schaue, ob ich damit den Fehler rausbekomme.
Gruß :)
AW: Laufzeitfehler 1004
04.11.2020 16:55:35
volti
Hallo,
hier noch 'ne Idee, falls Tino's Empfehlung nicht helfen sollte und es sich um Laufzeitprobleme handeln sollte
Code:
[Cc]

If objDocument.Bookmarks.Exists("Korrektur_Gewinn") = True Then On Error Resume Next Do .Range("Korrektur_Gewinn").CopyPicture 1, 2 If Err.Number = 0 Then Exit Do Err.Clear Loop On Error GoTo 0 Set objWordRange = objDocument.Bookmarks("Korrektur_Gewinn").Range objWordRange.Paste Set objWordRange = Nothing End If

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige