Thema Datum  Von Nutzer Rating
Antwort
Rot Laufzeitfehler 28
11.03.2018 21:29:03 Ricchi
NotSolved
11.03.2018 22:35:57 Gast72129
NotSolved
11.03.2018 22:44:24 Ricchi
NotSolved
11.03.2018 22:46:46 Gast15804
NotSolved
12.03.2018 17:39:15 Gast23207
NotSolved
13.03.2018 21:46:16 Gast16132
NotSolved

Ansicht des Beitrags:
Von:
Ricchi
Datum:
11.03.2018 21:29:03
Views:
1100
Rating: Antwort:
  Ja
Thema:
Laufzeitfehler 28

Guten Abend kommunity

Habe einen Laufzeitfehler bei meiner VBA Programierung.

Kann mir jemand dabei helfen den Fehler zu suchen?

Irrgend wie komme ich nicht weiter ..........

 

Public Static Sub CncOut()

On Error GoTo Fehler

  If Sheets("CNC Programm").Range("V8").Value = "" Then
    MsgBox "Bitte geben Sie eine gültige Auftragsbezeichnung ein.", vbInformation
    Exit Sub
  End If

  Dim Zeile As Long
  Dim DateiNameInput As String
  Dim DateiNameOutput As String
  Dim Laenge As Double
  Dim Breite As Double
  Dim Dicke As Double
  Dim Bandseite As Double
  Dim Schwelle As Double
  Dim Rahmenfasen As Double
  Dim Rokustrip As Double
  Dim Kappen As Double
  Dim Rahmenbreite_Bandseite As Double
  Dim Rahmenbreite_Schliessblechseite As Double
  Dim Rahmenbreite_oben As Double
  Dim Schliessblechposition As Double
  Dim Falztiefe As Double
  Dim Falzhöhe As Double
  Dim Schliesblechtyp As Double
  Dim Drückerhöhe As Double
  Dim Türluftoben As Double
  Dim Bodenluft As Double
  Dim Türblatlänge As Double
  Dim Bandtyp As Double
  Dim Bandanzahl As Double
  Dim Bandbezugslinie1 As Double
  Dim Bandbezugslinie2 As Double
  Dim Bandbezugslinie3 As Double
  Dim Mittelanschlagsdurchmesser As Double
  Dim Türtyp As Double
  Dim Planettyp As Double
  Dim Türe_fasen As Double
  Dim Dichtungsnut As Double
  Dim Ausschnitttyp As Double
  Dim Rosettenbohrung As Double
  Dim Dornmass As Double
  Dim Abstand_Oberflächenfalle As Double
  
  Dim BereichsGrenzeStart As String
  Dim BereichsGrenzeEnde As String
  BereichsGrenzeStart = "[001"
  BereichsGrenzeEnde = "]1"
  
  Dim LaengePos As String
  Dim BreitePos As String
  Dim DickePos As String
  Dim BandseitePos As String
  Dim SchwellePos As String
  Dim RahmenfasenPos As String
  Dim RokustripPos As String
  Dim KappenPos As String
  Dim Rahmenbreite_BandseitePos As String
  Dim Rahmenbreite_SchliessblechseitePos As String
  Dim Rahmenbreite_obenPos As String
  Dim SchliessblechpositionPos As String
  Dim FalztiefePos As String
  Dim FalzhöhePos As String
  Dim SchliesblechtypPos As String
  Dim DrückerhöhePos As String
  Dim TürluftobenPos As String
  Dim BodenluftPos As String
  Dim TürblatlängePos As String
  Dim BandtypPos As String
  Dim BandanzahlPos As String
  Dim BandbezugslinieaPos As String
  Dim BandbezugsliniebPos As String
  Dim BandbezugsliniecPos As String
  Dim MittelanschlagsdurchmesserPos As String
  Dim TürtypPos As String
  Dim PlanettypPos As String
  Dim Türe_fasenPos As String
  Dim DichtungsnutPos As String
  Dim AusschnitttypPos As String
  Dim RosettenbohrungPos As String
  Dim DornmassPos As String
  Dim Abstand_OberflächenfallePos As String

  
  
LaengePos = "l="
BreitePos = "b="
DickePos = "d="
BandseitePos = "bs="
SchwellePos = "schwelle"
RahmenfasenPos = "rahfas"
RokustripPos = "roku"
KappenPos = "kappen"
Rahmenbreite_BandseitePos = "bb"
Rahmenbreite_SchliessblechseitePos = "bsc"
Rahmenbreite_obenPos = "rbqo"
SchliessblechpositionPos = "fath"
FalztiefePos = "fat"
FalzhöhePos = "fah"
SchliesblechtypPos = "sctyp"
DrückerhöhePos = "scdh"
TürluftobenPos = "luft"
BodenluftPos = "boluft"
TürblatlängePos = "tbllaeng"
BandtypPos = "batyp"
BandanzahlPos = "baz"
BandbezugslinieaPos = "bh1"
BandbezugsliniebPos = "bh2"
BandbezugsliniecPos = "bh3"
MittelanschlagsdurchmesserPos = "anschldm"
TürtypPos = "tuertyp"
PlanettypPos = "pttyp"
Türe_fasenPos = "tuerfas"
DichtungsnutPos = "dinut"
AusschnitttypPos = "auschtyp"
RosettenbohrungPos = "rosbohr"
DornmassPos = "scdm"
Abstand_OberflächenfallePos = "scfa"

  
  Dim DirInput As String
  DirInput = Sheets("CNC Programm").Range("U4").Value
  Dim DirOutput As String
  DirOutput = Sheets("CNC Programm").Range("U6").Value
  pos = Sheets("CNC Programm").Range("V9").Value
  Dim FSO
  Set FSO = CreateObject("Scripting.Filesystemobject")
  If Not FSO.FolderExists(DirOutput) Then
    CreateFullPath DirOutput
  End If
  
  
  For Zeile = 16 To 50

    If Not Sheets("CNC Programm").Range("V" & Zeile) = "" And Not Sheets("CNC Programm").Range("V" & Zeile) = "" Then
    
      With Sheets("CNC Programm")
DateiNameInput = DirInput & "\" & .Range("V" & Zeile).Value
DateiNameOutput = DirOutput & "\" & "Pos" & "_" & pos & "_" & .Range("U" & Zeile).Value & ".mpr"
Laenge = .Range("W" & Zeile).Value
Breite = .Range("X" & Zeile).Value
Dicke = .Range("Y" & Zeile).Value
Bandseite = .Range("AC" & Zeile).Value
Schwelle = .Range("Z" & Zeile).Value
Rahmenfasen = .Range("AA" & Zeile).Value
Rokustrip = .Range("AB" & Zeile).Value
Kappen = .Range("AD" & Zeile).Value
Rahmenbreite_Bandseite = .Range("AE" & Zeile).Value
Rahmenbreite_Schliessblechseite = .Range("AF" & Zeile).Value
Rahmenbreite_oben = .Range("AG" & Zeile).Value
Schliessblechposition = .Range("AH" & Zeile).Value
Falztiefe = .Range("AI" & Zeile).Value
Falzhöhe = .Range("AJ" & Zeile).Value
Schliesblechtyp = .Range("AK" & Zeile).Value
Drückerhöhe = .Range("AL" & Zeile).Value
Türluftoben = .Range("AM" & Zeile).Value
Bodenluft = .Range("AN" & Zeile).Value
Türblatlänge = .Range("AO" & Zeile).Value
Bandtyp = .Range("AP" & Zeile).Value
Bandanzahl = .Range("AQ" & Zeile).Value
Bandbezugsliniea = .Range("AR" & Zeile).Value
Bandbezugslinieb = .Range("AS" & Zeile).Value
Bandbezugsliniec = .Range("AT" & Zeile).Value
Mittelanschlagsdurchmesser = .Range("AU" & Zeile).Value
Türtyp = .Range("AV" & Zeile).Value
Planettyp = .Range("AW" & Zeile).Value
Türe_fasen = .Range("AX" & Zeile).Value
Dichtungsnut = .Range("AY" & Zeile).Value
Ausschnitttyp = .Range("AZ" & Zeile).Value
Rosettenbohrung = .Range("BA" & Zeile).Value
Dornmass = .Range("BB" & Zeile).Value
Abstand_Oberflächenfalle = .Range("BC" & Zeile).Value
         
        End With
      
      Dim readFile As Integer
      Dim writeFile As Integer
      Dim AktTxt As String

      readFile = FreeFile
      Open DateiNameInput For Input As #readFile

      writeFile = FreeFile
      Open DateiNameOutput For Output As #writeFile

      Do Until EOF(readFile)
        Line Input #readFile, AktTxt
        If InStr(AktTxt, BereichsGrenzeStart) <> 0 Then
          'Schreibe [001 in writeFile
          Print #writeFile, AktTxt
          Do Until AktTxt = ""
            Line Input #readFile, AktTxt
            If InStr(AktTxt, LaengePos) <> 0 Then
              Print #writeFile, LaengePos & Chr(34) & Replace(Laenge, ",", ".") & Chr(34)
            ElseIf InStr(AktTxt, BreitePos) <> 0 Then
              Print #writeFile, BreitePos & Chr(34) & Replace(Breite, ",", ".") & Chr(34)
            ElseIf InStr(AktTxt, DickePos) <> 0 Then
              Print #writeFile, DickePos & Chr(34) & Replace(Dicke, ",", ".") & Chr(34)
            ElseIf InStr(AktTxt, BandseitePos) <> 0 Then
              Print #writeFile, BandseitePos & Chr(34) & Replace(Bandseite, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, SchwellePos) <> 0 Then
              Print #writeFile, SchwellePos & Chr(34) & Replace(Schwelle, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, RahmenfasenPos) <> 0 Then
              Print #writeFile, RahmenfasenPos & Chr(34) & Replace(Rahmenfasen, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, RokustripPos) <> 0 Then
              Print #writeFile, RokustripPos & Chr(34) & Replace(Rokustrip, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, KappenPos) <> 0 Then
              Print #writeFile, KappenPos & Chr(34) & Replace(Kappen, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, Rahmenbreite_BandseitePos) <> 0 Then
              Print #writeFile, Rahmenbreite_BandseitePos & Chr(34) & Replace(Rahmenbreite_Bandseite, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, Rahmenbreite_SchliessblechseitePos) <> 0 Then
              Print #writeFile, Rahmenbreite_SchliessblechseitePos & Chr(34) & Replace(Rahmenbreite_Schliessblechseite, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, Rahmenbreite_obenPos) <> 0 Then
              Print #writeFile, Rahmenbreite_obenPos & Chr(34) & Replace(Rahmenbreite_oben, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, SchliessblechpositionPos) <> 0 Then
              Print #writeFile, SchliessblechpositionPos & Chr(34) & Replace(Schliessblechposition, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, FalztiefePos) <> 0 Then
              Print #writeFile, FalztiefePos & Chr(34) & Replace(Falztiefe, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, FalzhöhePos) <> 0 Then
              Print #writeFile, FalzhöhePos & Chr(34) & Replace(Falzhöhe, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, SchliesblechtypPos) <> 0 Then
              Print #writeFile, SchliesblechtypPos & Chr(34) & Replace(Schliesblechtyp, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, DrückerhöhePos) <> 0 Then
              Print #writeFile, DrückerhöhePos & Chr(34) & Replace(Drückerhöhe, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, TürluftobenPos) <> 0 Then
              Print #writeFile, TürluftobenPos & Chr(34) & Replace(Türluftoben, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, BodenluftPos) <> 0 Then
              Print #writeFile, BodenluftPos & Chr(34) & Replace(Bodenluft, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, TürblatlängePos) <> 0 Then
              Print #writeFile, TürblatlängePos & Chr(34) & Replace(Türblatlänge, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, BandtypPos) <> 0 Then
              Print #writeFile, BandtypPos & Chr(34) & Replace(Bandtyp, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, BandanzahlPos) <> 0 Then
              Print #writeFile, BandanzahlPos & Chr(34) & Replace(Bandanzahl, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, BandbezugslinieaPos) <> 0 Then
              Print #writeFile, BandbezugslinieaPos & Chr(34) & Replace(Bandbezugsliniea, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, BandbezugsliniebPos) <> 0 Then
              Print #writeFile, BandbezugsliniebPos & Chr(34) & Replace(Bandbezugslinieb, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, BandbezugsliniecPos) <> 0 Then
              Print #writeFile, BandbezugsliniecPos & Chr(34) & Replace(Bandbezugsliniec, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, MittelanschlagsdurchmesserPos) <> 0 Then
              Print #writeFile, MittelanschlagsdurchmesserPos & Chr(34) & Replace(Mittelanschlagsdurchmesser, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, TürtypPos) <> 0 Then
              Print #writeFile, TürtypPos & Chr(34) & Replace(Türtyp, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, PlanettypPos) <> 0 Then
              Print #writeFile, PlanettypPos & Chr(34) & Replace(Planettyp, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, Türe_fasenPos) <> 0 Then
              Print #writeFile, Türe_fasenPos & Chr(34) & Replace(Türe_fasen, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, DichtungsnutPos) <> 0 Then
              Print #writeFile, DichtungsnutPos & Chr(34) & Replace(Dichtungsnut, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, AusschnitttypPos) <> 0 Then
              Print #writeFile, AusschnitttypPos & Chr(34) & Replace(Ausschnitttyp, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, RosettenbohrungPos) <> 0 Then
              Print #writeFile, RosettenbohrungPos & Chr(34) & Replace(Rosettenbohrung, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, DornmassPos) <> 0 Then
              Print #writeFile, DornmassPos & Chr(34) & Replace(Dornmass, ",", ".") & Chr(34)
              ElseIf InStr(AktTxt, Abstand_OberflächenfallePos) <> 0 Then
              Print #writeFile, Abstand_OberflächenfallePos & Chr(34) & Replace(Abstand_Oberflächenfalle, ",", ".") & Chr(34)
              
              
              
            Else
              Print #writeFile, AktTxt
            End If
          Loop
        Else
          Print #writeFile, AktTxt
        End If
      Loop

      Close #readFile
      Close #writeFile
    End If
  Next
  MsgBox "Ich habe fertig...", vbInformation
  
  Exit Sub
  
Fehler:
  MsgBox Err.Number & ": " & Err.Description, vbCritical
  
End Sub

Public Sub CreateFullPath(ByVal Path As String)
     Dim FSO As Object
     Dim ParentPath As String
     
     Set FSO = CreateObject("Scripting.FileSystemObject")
     
     ParentPath = FSO.GetParentFolderName(Path)
     If Not FSO.FolderExists(ParentPath) Then CreateFullPath ParentPath
     If Not FSO.FolderExists(Path) Then FSO.CreateFolder Path
End Sub


 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Laufzeitfehler 28
11.03.2018 21:29:03 Ricchi
NotSolved
11.03.2018 22:35:57 Gast72129
NotSolved
11.03.2018 22:44:24 Ricchi
NotSolved
11.03.2018 22:46:46 Gast15804
NotSolved
12.03.2018 17:39:15 Gast23207
NotSolved
13.03.2018 21:46:16 Gast16132
NotSolved