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:
1348
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 ..........

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
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