Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
384to388
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
384to388
384to388
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

savecopyas [@Dieter Klemke?)

savecopyas [@Dieter Klemke?)
24.02.2004 08:50:52
Katrin
Hallo!!
ich habe ein Problem!! Ich habe von Dieter folgenden Code bekommen, um in einer Combobox alle Dateien eines best. Ordners aufzulisten......

Private Sub ComboBox1_Click()
Dim datei As String
Dim BereitsGeöffnet As Boolean
Dim wb As Workbook
If ComboBox1.ListIndex > 0 Then
datei = ComboBox1.Value
For Each wb In Workbooks
If wb.Name = datei Then
BereitsGeöffnet = True
Exit For
End If
Next wb
If BereitsGeöffnet Then
Workbooks(datei).Activate
Else
Workbooks.Open Filename:=ordner & datei
End If
End If
End Sub



Private Sub UserForm_Initialize()
Dim fil As File
Dim fol As Folder
Dim fso As FileSystemObject
ordner = "D:\VBA_Test\"
Set fso = New FileSystemObject
Set fol = fso.GetFolder(FolderPath:=ordner)
With Me.ComboBox1
.AddItem ""
For Each fil In fol.Files
If Right$(fil.Name, 4) = ".xls" Then
Me.ComboBox1.AddItem fil.Name
End If
Next fil
.ListIndex = 0
End With
End Sub


Im Editor musst du einen Verweis auf die "Microsoft Scripting Runtime" setzen (Extras | Verweise...)

Nun aber folgendes:
Dateien die mit dem Befehl savecopyas dort gespeichert wurden, werden irgendwie nicht angezeigt...... warum?
Katrin

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: savecopyas [@Dieter Klemke?)
24.02.2004 09:02:09
Ramses
Hallo
wie lautet der Code mit dem du die Kopien speicherst ?
Gruss Rainer
AW: savecopyas [@Dieter Klemke?)
24.02.2004 09:07:56
Katrin
ich habe die beiden Varianten ausprobiert:

Sub save()
myPfad = "C:\Test"
myDatei = ThisWorkbook.Name
myDate = Format(Now, "YY-MM-DD")
myTime = Format(Now, "hh-mm-ss")
myUser = Environ("Username")
ThisWorkbook.SaveCopyAs Filename:=myPfad & "\" & myDatei & " " & "Date " _
& myDate & " " & "Time " & myTime & " " & "durch " & myUser & " " & "Sicherung.XLS"
End Sub


Sub save2()
ThisWorkbook.SaveCopyAs "C:\Test\test.xls"
End Sub

bei beiden wird die datrei dann nicht angezeigt........
Katrin
Anzeige
AW: savecopyas [@Dieter Klemke?)
24.02.2004 09:20:00
Ramses
Hallo
ist ja auch kein Wunder
du speicherst in
C:\Test
und einlesen tust du aus
ordner = "D:\VBA_Test\"
?????
Wie soll das gehen ?
Gruss Rainer
AW: savecopyas [@Dieter Klemke?)
24.02.2004 09:22:01
Katrin
sorry,...... die pfade habe ich richtig angepasst........ klappt aber nicht.......
Katrin
AW: savecopyas [@Dieter Klemke?)
24.02.2004 09:30:05
Ramses
Hallo
hab den Code mal etwas umgeschrieben damit er bei mir funktioniert.
Damit liest er alles korrekt ein.
Wenn es bei dir nicht tut, weiss ich auch nicht weiter:

Private Sub UserForm_Initialize()
Dim fso As Object, fil As Object, fol As Object
Dim ordner As String
ordner = "D:\"
Set fso = CreateObject("scripting.FileSystemObject")
Set fol = fso.GetFolder(FolderPath:=ordner)
With Me.ComboBox1
.AddItem ""
For Each fil In fol.Files
If Right$(fil.Name, 4) = ".xls" Then
Me.ComboBox1.AddItem fil.Name
End If
Next fil
.ListIndex = 0
End With
End Sub

Aber den Ordnername bitte anpassen mit Backslash am Schluss:
"D:\VBA_Test\

Gruss Rainer
Anzeige
AW: savecopyas [@Dieter Klemke?)
24.02.2004 10:08:25
Katrin
mhhhhhhhhh, klappt immer noch nicht
danke für Deine Hilfe
Katrin
NOCH OFFEN m.T.
24.02.2004 10:15:02
Ramses
Hallo
nachdem der Sicherungscode den du gezeigt hast, funktioniert, und der code zum einlesen ebenfalls, denke ich, dass bei Dir irgendwas falsch läuft :-)
Da gibt es zuviele Ursachen.
Vielleicht hat jemand anders noch eine Idee.
Gruss Rainer
AW: NOCH OFFEN m.T.
24.02.2004 11:12:31
Dieter Klemke
Hallo Katrin,
kann es sein, dass du SaveCopyAs auslöst, aber die UserForm stehen bleibt?
In diesem Fall müsstest du innerhalb der Prozedur save2 die ComboBox aktualisieren:

Sub save2()
Dim fil As File
Dim fol As Folder
Dim fso As FileSystemObject
ThisWorkbook.SaveCopyAs "D:\VBA_Test\test.xls"
ordner = "D:\VBA_Test\"
Set fso = New FileSystemObject
Set fol = fso.GetFolder(FolderPath:=ordner)
With Me.ComboBox1
.Clear
.AddItem "[Bitte Datei auswählen]"
For Each fil In fol.Files
If Right$(fil.Name, 4) = ".xls" Then
Me.ComboBox1.AddItem fil.Name
End If
Next fil
.ListIndex = 0
End With
End Sub

Ich habe gerade gesehen, dass bei dem 1. AddItem die von mir verwendeten spitzen Klammern zu .AddItem "" reduziert wurde. Das muss an dem hier verwendeten Editor liegen. Daher habe ich das jetzt mit eckigen Klammern geschrieben. (Das gilt auch für meine früheren Beiträge.)
MfG
Dieter
Anzeige
AW: NOCH OFFEN m.T.
24.02.2004 12:07:17
Katrin
Hallo Dieter!
Ne, ich habe die dann schon immer aktualisiert nachher.... irgendwie scheint es evtl. an der art zu hapern, wie ich speicher:
mit Thisworkbook.name vorne dran....... ich glaube das hat den fehler verursacht, weil ich es geändert habe, und dann klappte es - jedenfalls bisher einmal, mehr konnte ich noch nicht prüfen, - melde mich später nochmal!!
Vielen Dank!
Katrin

82 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige