Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Pfadprobleme





Frage

Hi, ich habe wiedermal ein kleines Problem : ;O) Code: Workbooks.Open Filename:="c:\geschaeft\vorlagen\Jahresauswertung.xlsm" Kann ich diesen Pfad irgendwie auch anders angeben ? Die Vorlage liegt immer im selben Pfad wie die Arbeitsmappe aus welcher das Makro ausgeführt wird. Das Ganze ist wichtig, da die Dateien auf einen Stick sollen, welcher ja bekanntlich immermal einen anderen Laufwerksbuchstaben hat. Gruss Sebastian

Antwort 1 von franky1909

Hallo Sebastian ! Ob man einen USB-Stick einen festen Laufwerkbuchstaben zuweisen kann ist vielleicht möglich, ich weiss im Augenblick nicht. Du kannst doch mit den herkömmlichen Sachen arbeiten, Speichern unter ..., Kopieren in ... , Abgleichen/Backup/Sicherung/Zurückspielen auch automatisiert oder wenn das Programm sich auf den Stick installieren lässt gleich von dort aus arbeiten. Gruss Frank

Antwort 2 von Sebbl

Hallo Frank,

das stimmt schon ;O)
Leider hab ich oben nicht erwähnt, dass mein vba-Projekt etwas umfangreicher ist und die oben abgebildete Zeile nur mein Problem darstellt.

Gruss Sebastian

Antwort 3 von Proggi

versuch mal

Filename:=".\Jahresauswertung.xlsm"


oder

Filename:="Jahresauswertung.xlsm"


soweit dürfte beides das gleiche bewirken und auf die datei im gleichen ordner zugreifen.

Antwort 4 von gast123

hi sebastian

vielleicht hilfreich

gruss gast123

Workbooks.Open Filename:=ThisWorkbook.Path & "\Jahresauswertung.xlsm"


Antwort 5 von gast123

hi sebastian

hier noch ein wenig spielerei

gruss gast123

es oeffnet sich eine eingabebox mit angabe aller vorhandenen laufwerke

Option Explicit
Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" _
(ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Sub Get_Logical_Drive_String()
Dim DrvString As String
Dim TotDrvs As Long
Dim Position As Integer
Dim Anz As Integer
Dim Zaehler As Integer
Dim Zaehler1 As Integer
Dim Laufwerke() As String
Dim Antwort As String
Dim Ja As Boolean
TotDrvs = GetLogicalDriveStrings(0&, DrvString)
DrvString = String(TotDrvs - 1, " ")
TotDrvs = GetLogicalDriveStrings(TotDrvs, DrvString)
For Anz = 1 To Len(DrvString)
If Mid$(DrvString, Anz, 1) = ":" Then
Zaehler = Zaehler + 1
ReDim Preserve Laufwerke(Zaehler)
Laufwerke(Zaehler) = Mid$(DrvString, Anz - 1, 1)
Laufwerke(0) = Laufwerke(0) & Mid$(DrvString, Anz - 1, 1) & ","
End If
Next Anz
Laufwerke(0) = Mid(Laufwerke(0), 1, Len(Laufwerke(0)) - 1)
Do While Ja = False
Antwort = InputBox(Laufwerke(0) & "   Treffe deine Auswahl", "Vorhandene Laufwerke")
If Antwort = Empty Then Exit Do
For Zaehler1 = 1 To Zaehler
If Laufwerke(Zaehler1) = UCase(Antwort) Then Ja = True
Next Zaehler1
Loop
Rem in dieser variablen ist nun dein ausgewaehlter laufwerksbuchstabe,fuer weitere verarbeitung
Rem UCase(antwort) mit abfrage auf Ja=true ob gefuellt ist
End Sub


Antwort 6 von Sebbl

Sorry für die späte Antwort ;O)

Vielen Dank für die zahlreichen Antworten.
Hab es jetzt hinbekommen.

gruss sebbl

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Suche in allen vorhandenen Beiträgen: