Microsoft Excel

Herbers Excel/VBA-Archiv

Fehler im Detail: Abstrurz nach ertsmaligem Start?

Betrifft: Fehler im Detail: Abstrurz nach ertsmaligem Start? von: Alex
Geschrieben am: 12.08.2014 11:15:16

Folgender Code läuft grundsätzlich wie ich es mag. Nur braucht die Datei erste einen Absturz bevor sich irgendwie alles "eingemuddelt" hat.
Bitte wo ist der Fehler im Code?:

Sub Mail_Vorlage_füllen()

   Sheets("Arbeitsauftragsbuch").Select

Dim Status&
On Error Resume Next
If GetObject(, "OUTLOOK.Application") Is Nothing Then
    Status = Shell("outlook.exe", 1)
Else
    
End If
On Error GoTo 0

Sheets("Arbeitsauftragsbuch").Select


  Dim OutApp As Object
  Dim OutMail As Object
  Dim strbody As String

  Set OutApp = CreateObject("Outlook.Application")
  Set OutMail = OutApp.CreateItem(0)

  strbody = "Hi there" & vbNewLine & vbNewLine & _
            "This is line 1" & vbNewLine & _
            "This is line 2" & vbNewLine & _
            "This is line 3" & vbNewLine & _
            "This is line 4"

  On Error Resume Next
  With OutMail
      .To = "verwaltung@gemeinde.de"
      .CC = ""
      .BCC = ""
 
    ActiveCell.Rows("1:1").EntireRow.Select
    ActiveCell.Activate
    Selection.Copy
    
    Sheets("Kopie").Visible = True
    Sheets("Kopie").Select
    
    Sheets("Kopie").Select
    Rows("4:4").Select
    ActiveSheet.Paste
   
    
    .Subject = Range("M1")
    
    Sheets("Kopie").Visible = False
    
    Sheets("Arbeitsauftragsbuch").Select
    ActiveSheet.Unprotect
    Cells.Select
      
      
    .Attachments.Add AttachmentFile
    .Display
  End With
  On Error GoTo 0

  Set OutMail = Nothing
  Set OutApp = Nothing
  
   
   Sheets("Arbeitsauftragsbuch").Select
   
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFormattingCells:=True, AllowFormattingColumns:=True, _
        AllowFormattingRows:=True, AllowInsertingHyperlinks:=True, AllowFiltering _
        :=True
    
    
    Application.CutCopyMode = False
    
  
End Sub


Danke Alex

  

Betrifft: AW: Fehler im Detail: Abstrurz nach ertsmaligem Start? von: Alex
Geschrieben am: 12.08.2014 12:35:53

hier ist zum Verständnis die Datei:
https://www.herber.de/bbs/user/92041.xlsm


  

Betrifft: AW: Fehler im Detail: Abstrurz nach ertsmaligem Start? von: Tino
Geschrieben am: 12.08.2014 12:36:38

Hallo,
bei Deinem Code passt eigentlich so gut wie überhaupt nichts!
siehe: http://www.online-excel.de/excel/singsel_vba.php?f=78

Ich vermute mal die Übergabe an .Subject darf kein Range-Objekt sein sondern muss ein Text sein.

Versuch es mal mit

.Subject = Range("M1").Value
In etwa so würde ich den Code aufbauen.
Wo die Fragezeichen sind ist mir nicht glar für was dies gut ist bzw. wird mir nicht ersichtlich!
Sub Mail_Vorlage_füllen()
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Dim Status&

On Error Resume Next
If GetObject(, "OUTLOOK.Application") Is Nothing Then
    Status = Shell("outlook.exe", 1)
End If
On Error GoTo 0

'???? warum
Sheets("Arbeitsauftragsbuch").Select
'???? sicher das die aktive Zelle die richtige ist?
ActiveCell.EntireRow.Copy Sheets("Kopie").Rows("4:4")
'???? warum
Sheets("Arbeitsauftragsbuch").Unprotect '?????

strbody = "Hi there" & vbNewLine & vbNewLine & _
          "This is line 1" & vbNewLine & _
          "This is line 2" & vbNewLine & _
          "This is line 3" & vbNewLine & _
          "This is line 4"


Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

With OutMail
    .To = "verwaltung@gemeinde.de"
    .CC = ""
    .BCC = ""
    .Subject = Sheets("Kopie").Range("M1").Value
    .Body = strbody '???? hat gefehlt
'      .Attachments.Add AttachmentFile '?????? keine Zuordnung
    .Display
End With

 Set OutMail = Nothing
 Set OutApp = Nothing

'???? warum
Sheets("Arbeitsauftragsbuch").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
       , AllowFormattingCells:=True, AllowFormattingColumns:=True, _
       AllowFormattingRows:=True, AllowInsertingHyperlinks:=True, AllowFiltering _
       :=True
      
End Sub
Gruß Tino


  

Betrifft: AW: Fehler im Detail: Abstrurz nach ertsmaligem Start? von: Alex
Geschrieben am: 12.08.2014 12:57:31

Hallo Tino,
vielen Dank für deine Mühe, auch wenn Du Dich da durch ein ziemliches Kauderwelsch wühlen musstest.
Ich habe jetzt herausgefunden, dass diese Problem nur auftritt, wenn der Blattschutz zum Schluss wieder aktiviert wird.
Wenn ich dies komplett aus kommentiere:
' ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
' , AllowFormattingCells:=True, AllowFormattingColumns:=True, _
' AllowFormattingRows:=True, AllowInsertingHyperlinks:=True, AllowFiltering _
' :=True
läuft alles wie gewünscht.

Das Problem ist, ich brauche den Blattschutz.

???

Alex


  

Betrifft: AW: Fehler im Detail: Abstrurz nach ertsmaligem Start? von: Tino
Geschrieben am: 12.08.2014 13:09:31

Hallo,
was ist mit meinem Hinweis auf Range().Value?

Gruß Tino


  

Betrifft: AW: Fehler im Detail: Abstrurz nach ertsmaligem Start? von: Alex
Geschrieben am: 12.08.2014 13:36:16

Hab ich nach Deinem Vorschlag ersetzt. Aber das war's wohl nicht. Es macht das was es soll, verhindert aber nicht den Absturz.


  

Betrifft: kannst du ein Bsp. hochladen? oT. von: Tino
Geschrieben am: 12.08.2014 13:41:40




  

Betrifft: AW: kannst du ein Bsp. hochladen? oT. von: Alex
Geschrieben am: 12.08.2014 13:43:38

ja hab ich:
https://www.herber.de/bbs/user/92041.xlsm


  

Betrifft: AW: kannst du ein Bsp. hochladen? oT. von: Tino
Geschrieben am: 12.08.2014 14:12:59

Hallo,
bei mir stürzt Excel mit Deinem Code nicht ab.
Was aber nicht passt ist .Attachments.Add AttachmentFile,
AttachmentFile ist nicht deklariert und auch keine Dateipfad zugewiesen!
Zudem würde ich zu testzwecken dieses zweite On Error Resume Next rausmachen!

Mach mal Option Explicit ganz oben als erste Zeile,
dann bekommst Du Fehlerhafte Variablen angezeigt.
siehe: http://www.online-excel.de/excel/singsel_vba.php?f=4

Gruß Tino


  

Betrifft: AW: kannst du ein Bsp. hochladen? oT. von: Alex
Geschrieben am: 12.08.2014 14:28:33

Mit Option Explicit erhalte ich einen Kompilierungsfehler.
Die anderen beiden von Dir genannten Sachen habe ich auch befolgt.
Stürzt trotzdem ab...


  

Betrifft: AW: kannst du ein Bsp. hochladen? oT. von: Tino
Geschrieben am: 12.08.2014 14:41:56

Hallo,
versuch mal diese.

https://www.herber.de/bbs/user/92047.xlsm

Gruß Tino


  

Betrifft: AW: kannst du ein Bsp. hochladen? oT. von: Alex
Geschrieben am: 12.08.2014 15:28:20

Hallo Tino,
zuerst einmal Gratulation.
Deine Variante erzeugt keinen Absturz.
Zu Deinen Fragen im Code:
'???? warum
'Sheets("Arbeitsauftragsbuch").Select
== Na sicher ist sicher ;)

'???? sicher das die aktive Zelle die richtige ist?
ActiveCell.EntireRow.Copy Sheets("Kopie").Rows("4:4")
== Welchen Auftrag ich eine Mail erzeugen möchte, steuere ich über die Position der aktiven Zelle in der Tabelle. Für den Auftrag, in dem die Zelle aktiv ist werden verschieden Zellen der Zeile zu einem Betreff zusammengesetzt.

'???? warum
'Sheets("Arbeitsauftragsbuch").Unprotect '?????
== bei meinen Gehversuchen hatte ich festgestellt, dass nicht alle Sachen im Schutz funktionieren. Mag aber daran liegen, dass ich auch auf den Makrorecorder zurückgegriffen habe.

Also vielen Dank,
Alex
Ich weiß zwar nun im Detail auch nicht woran es gelegen hat, könnte es aber auch nur bedingt verstehen, wenn DU mir es erklären würdest.


  

Betrifft: Fehler - konflikt zwischen Excel und Outlook von: Tino
Geschrieben am: 12.08.2014 15:45:08

Hallo,
mein verdacht ist es liegt nicht direkt an Excel sondern
an Outlook wo fehlerhafte Werte übergeben wurden wie zuvor schon beschrieben.
Durch diese Fehlerbehandlung (On Error Resume Next) ist dies nicht aufgefallen.
Dadurch ist es zu einem Konflikt zwischen Excel und Outlook gekommen, also der Absturz.

Gruß Tino


  

Betrifft: Fehler behoben, vielen Dank von: Alex
Geschrieben am: 12.08.2014 16:17:37

So etwas schwante mir schon...
Vielen Dank noch einmal.
Und Grüße, Alex


  

Betrifft: AW: kannst du ein Bsp. hochladen? oT. von: Alex
Geschrieben am: 12.08.2014 14:42:18

Mit Option Explicit erhalte ich einen Kompilierungsfehler.
Die anderen beiden von Dir genannten Sachen habe ich auch befolgt.
Stürzt trotzdem ab...


  

Betrifft: AW: kannst du ein Bsp. hochladen? oT. von: Alex
Geschrieben am: 12.08.2014 14:42:24

Mit Option Explicit erhalte ich einen Kompilierungsfehler.
Die anderen beiden von Dir genannten Sachen habe ich auch befolgt.
Stürzt trotzdem ab...


  

Betrifft: AW: Fehler im Detail: Abstrurz nach ertsmaligem Start? von: Rudi Maintaire
Geschrieben am: 12.08.2014 13:15:53

Hallo,
dann lass den Blattschutz doch drin.
Du machst zwischen UnProtect und Protect sowieso nichts mit dem Blatt.

Gruß
Rudi


  

Betrifft: AW: Fehler im Detail: Abstrurz nach ertsmaligem Start? von: Alex
Geschrieben am: 12.08.2014 13:42:38

Das habe ich auch ausprobiert. Das Makro erledigt das was es soll, erzeugt aber auch wieder den Fahler.
???


 

Beiträge aus den Excel-Beispielen zum Thema "Fehler im Detail: Abstrurz nach ertsmaligem Start?"