Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1532to1536
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
Inhaltsverzeichnis

Speichern unter ....

Speichern unter ....
03.01.2017 21:16:08
Thomas
Hallo
ich speichere meine Datei über folgenden Code:
Private Sub Ölblattspeichern_Click()
Dim a As String
a = Range("Tabelle2!C3").Value
b = Range("Tabelle2!C28").Value
Application.DisplayAlerts = False
ChDir "X:\Groups\EASZ-FR17\Oelblätter"
ActiveWorkbook.SaveAs Filename:= _
"X:\Groups\EASZ-FR17\Oelblätter\" + a + "_" + b, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
Dim objShell As Object
Set objShell = CreateObject("WScript.Shell")
objShell.Popup "Die Datei wurde erfolgreich auf dem Laufwerk gespeichert", 2, "Info"
Set objShell = Nothing
Application.Quit
End Sub
Das Problem dabei ist, das nicht bei allen Kollegen es das Laufwerk X ist. der Pfad danach ist logischerweise gleich.
Gibt es eine Möglichkeit, zB. wenn nicht X:.... dann Y:... oder F:...
Danke für Eure Hilfe.
Gruß
Thomas

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern unter ....
03.01.2017 21:28:32
Daniel
Hi
das müsstest du testen, dh per Schleife alle möglichen Laufwerksbuchtstaben durchprobieren um herauszufinden, in welchem das Verzeichnis steckt.
hier mal der Code dazu (den Rest musst du noch hinzufügen)
dim LW as string
dim i as long
for i = Asc("D") to Asc("Z")
if Dir(Chr(i) & ":\Groups\EASZ-FR17\Oelblätter", vbDirectory)  "" then Exit for
Next
if i > Asc("Z") then
Msgbox "Verzeichnis nicht gefunden"
Exit sub
End if
LW = Chr(i)
ChDrive LW
ChDir LW & ":\Groups\EASZ-FR17\Oelblätter"
ActiveWorkbook.SaveAs Filename:= _
LW & ":\Groups\EASZ-FR17\Oelblätter\" + a + "_" + b, fileformat:=xlExcel8
btw das FileFormat xlNormal gibts in Excel 2010 nicht mehr.
du musst dich dann schon entscheiden, obs xlsx, xlsm, xlsb oder xls sein soll.
ich nehme eigentlich immer xlsb mit FileFormat:=xlExcel12.
xlExcel8 ist das alte xls-Format.
für die beiden Anderen Formate musst du mal in der Hilfe nachlesen oder ausprobieren (Recorder)
Gruß Daniel
Anzeige
AW: Speichern unter ....
03.01.2017 21:50:21
Thomas
Habe den Code mal angepasst:
Bekomme aber einen Fehler bei:
If Dir(Chr(i) & ":\Groups\EASZ-FR17\Oelblätter", vbDirectory)  "" Then
Hier mal der erweiterte Code, weiß nicht ob es richtig ist....
Private Sub Ölblattspeichern_Click()
Dim LW As String
Dim i As Long
For i = Asc("D") To Asc("Z")
If Dir(Chr(i) & ":\Groups\EASZ-FR17\Oelblätter", vbDirectory)  "" Then Exit For
Next
If i > Asc("Z") Then
MsgBox "Verzeichnis nicht gefunden"
Exit Sub
End If
a = Range("Tabelle2!C3").Value
b = Range("Tabelle2!C28").Value
LW = Chr(i)
ChDrive LW
ChDir LW & ":\Groups\EASZ-FR17\Oelblätter"
ActiveWorkbook.SaveAs Filename:= _
LW & ":\Groups\EASZ-FR17\Oelblätter\" + a + "_" + b, FileFormat:=xlExcel8
Dim objShell As Object
Set objShell = CreateObject("WScript.Shell")
objShell.Popup "Die Datei wurde erfolgreich auf dem Laufwerk gespeichert", 2, "Info"
Set objShell = Nothing
Application.Quit

Anzeige
AW: Speichern unter ....
03.01.2017 22:15:29
Daniel
Hi
kommt der Fehler schon beim ersten Durchlauf oder erst bei einem späterem, dh welchen wert hat i wenn der Fehler auftritt?
Gruß Daniel
AW: Speichern unter ....
03.01.2017 22:37:57
Thomas
Oh,
Ich habe den Code eingebaut, und gestartet.
Dabei kam Laufzeitfehler '52'
Dateiname oder -nummer falsch
AW: Speichern unter ....
03.01.2017 22:48:45
Daniel
Hi
in welcher Programmzeile tritt der Fehler auf und welchen Wert haben dann die in dieser Zeile verwendeten Variablen?
Gruß Daniel
AW: Speichern unter ....
03.01.2017 23:12:39
Thomas
Auftreten tut er in dieser Zeile
If Dir(Chr(i) & ":\Groups\EASZ-FR17\Oelblätter", vbDirectory)  "" Then
Zitat: welchen Wert haben dann die in dieser Zeile verwendeten Variablen?
Wie finde ich das heraus?
Anzeige
AW: Speichern unter ....
03.01.2017 23:17:07
Daniel
Hi
mit der Maus über die Variable fahren oder im Direktfenster anzeigen lassen mit
?i
Gruß Daniel
AW: Speichern unter ....
03.01.2017 23:18:23
Thomas
I=82
AW: Speichern unter ....
03.01.2017 23:23:02
Daniel
Hi
Laufwerk R.
ist das bei dir ein besonderes Laufwerk?
ansonsten teste mal so:
on Error Resume Next
For i = Asc("D") To Asc("Z")
If Dir(Chr(i) & ":\Groups\EASZ-FR17\Oelblätter", vbDirectory)  "" Then Exit For
Next
On Error Goto 0
damit wir bei einem Fehler einfach mit dem nächsten Buchstaben weiter gemacht.
gruß Daniel
AW: Speichern unter ....
03.01.2017 23:34:32
Thomas
Ich glaube, das es evtl. an der Netzwerkadresse liegt.
Die Adresse zum Verbinden des Laufwerks ist ja länger.
Wenn ich das obere durchlaufen lasse, komme ich bis
ChDrive LW
Da ist das Laufwerk wie du schon sagst R.
Anzeige
AW: Speichern unter ....
03.01.2017 23:36:31
Thomas
Ich glaube, das es evtl. an der Netzwerkadresse liegt.
Die Adresse zum Verbinden des Laufwerks ist ja länger.
Wenn ich das obere durchlaufen lasse, komme ich bis
ChDrive LW
Da ist das Laufwerk wie du schon sagst R.
AW: Speichern unter ....
03.01.2017 23:53:33
Daniel
ändere das nochmal so ab:
dim txt as string
on Error Resume Next
For i = Asc("D") To Asc("Z")
txt = ""
txt = Dir(Chr(i) & ":\Groups\EASZ-FR17\Oelblätter", vbDirectory)
if txt  "" then Exit for
Next
On Error Goto 0
Gruß Daniel
AW: Oder so etwa ....
03.01.2017 23:59:01
Gerd
Hallo Thomas!
Sub bbb()
Dim X As Long, LW
For X = Asc("A") To Asc("Z")
On Error Resume Next
If (GetAttr(CStr(Chr(X) & ":\Groups\EASZ-FR17\Oelblätter")) And vbDirectory) Then LW = Err. _
Number
If LW = 0 Then LW = Chr(X): Exit For
Next
On Error GoTo 0
If IsNumeric(LW) Then
MsgBox "Kein Pfad u. Ordner": Exit Sub
Else
MsgBox "Ordner vorhanden in " & LW
ActiveWorkbook.SaveAs CStr(LW & ":\Groups\EASZ-FR17\Oelblätter\" & "Beispiel")
End If
End Sub

Gruß Gerd
Anzeige
AW: In Netzwerken arbeite ich gerne...
05.01.2017 03:27:28
Thomas
Vielen Dank für die prima Hilfe.
Nun klappt es.
Daaaanke
Gerne! Danke für die Rückmeldung, owT
05.01.2017 09:00:35
Case
-:)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige