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
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
oder
soweit dürfte beides das gleiche bewirken und auf die datei im gleichen ordner zugreifen.
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
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
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 SubAntwort 6 von Sebbl
Sorry für die späte Antwort ;O)
Vielen Dank für die zahlreichen Antworten.
Hab es jetzt hinbekommen.
gruss sebbl
Vielen Dank für die zahlreichen Antworten.
Hab es jetzt hinbekommen.
gruss sebbl

