AW: Neues Problem
08.10.2003 15:54:45
Richi
Ok, ich hoffe, dieses sind die relevanten Stellen.
Private Sub workbook_open()
With Statusfenster
.status_bar.Width = 0 'Der Fortschrittsbalken wird auf 0 gesetzt
.Show 'Das Statusfenster wird angezeigt
End With
End Sub
Sobald die Mappe geöffnet wird, wird das Statusfenster angezeigt.
Private Sub UserForm_activate()
If first_run <> True Then
main.main_run first_run = True
'Mit der Variable "first_run" soll verhindert werden, dass wenn das Statusfenster
'ein zweites Mal aktiviert wird, dass das Makro "main.main_run" erneut startet
End If
End Sub
Sobald die UserForm angezeigt wird, wird das Makro gestartet
Sub main_run()
Const b_worksteps As Byte = 5
Dim open_cancel As Boolean
Dim retry_response As Byte
open_loop:
open_cancel = False
retry_response = 0
Statusfenster.workstep.Caption = "Arbeitsschritt 0 / " & b_worksteps
a_openfile.open_csvfile open_cancel
'Sobald diese Arbeitsmappe geöffnet wird, öffnet sich ebenfalls der "Datei öffnen" Dialog
'damit der User eine Comma-Delimited-Text-Datei öffnen kann
If open_cancel = True Then
Statusfenster.Hide
Exit Sub
End If
optionen.Show <--- Sobald diese UserForm beendet wird, beginnt das Makro von neuem
'Der User wird aufgefordert verschiedene Einstellungen die Prozedur betreffend vorzunehmen
Application.ScreenUpdating = False
Application.Wait (Now + TimeValue("0:00:01"))
... hier folgt weiterer Code, der meiner meinung nach, nichts dazu beiträgt.
End Sub
Der Code wirkt vielleicht ein bisschen chaotisch, aber nehmt es mir nicht übel, ich hab erst vor kurzem mit dem Makro-Programmieren begonnen.
Wie gesagt, das Makro "main-run" läuft einwandfrei, wenn ich es separat starte, also nicht mit der workbook_open().
@Hajo, sagt dir das jetzt mehr? :)