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

Zellinhalt in Makro Eintragen

Zellinhalt in Makro Eintragen
26.01.2005 15:56:23
Micha
Hallo, ich bin absoluter VBA Laie und hab da n kleines Problem.
Folgendes Makro möchte ich etwas anpassen:

Sub ordner()
Application.Dialogs(xlDialogOpen).Show ("Dateipfad") 'Dateipfad anpassen
End Sub

1. Optimal wäre, wenn zuerst der Verzeichnispfad, in dem die geöffnete Exceldatei liegt beim öffnen der Datei automatisch in eine Zelle eingetragen wird. (Zelle B, Zeile5)
2. Dann soll aus dieser Zelle der Pfad in obiges makro eingelesen werden.
Sinn ist der, daß ich egal, wo ich das Verzeichnis abgelegt habe über das Makro immer den zugehörigen Ordner öffnen kann.
Wie geht das?
Danke für die Hilfe im voraus!

Gruss Micha

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellinhalt in Makro Eintragen
26.01.2005 17:04:22
Micha
Hallo, bin schon etwas weiter gekommen, aber noch nicht ganz am Ziel.
Also den Dateinamen kann ich jetzt eintragen
Zelle=("Dateiname")
Ich möchte nun aber nicht den Dateinamen in der Zelle haben, sondern nur den Pfad in dem die Datei liegt.
Das liest er mir raus:
E:\Präsentation_FH\cd\Testunterlagen\Stufe 1\1.1 - Gehäuse\01_grundkoerper\[01_grundkoerper.xls]Allgemeine Infos
So soll er es mir auslesen
E:\Präsentation_FH\cd\Testunterlagen\Stufe 1\1.1 - Gehäuse\01_grundkoerper
Gibts da irgend eine Möglichkeit? Wenn ja, funktioniert folgendes Makro:


Sub OrdnerAnzeigenPics()
Dim Pfad
Dim X
Dim Ordner As String
Dim Anzeigen As String
Pfad = ActiveSheet.Range("Pfad_Pics").Value 'Pfad_Pics, so heißt meine Zelle
Ordner = Pfad
Anzeigen = "explorer.exe " + Ordner
X = Shell(Anzeigen, vbNormalFocus)
End Sub

Gruß Micha
Anzeige
AW: Zellinhalt in Makro Eintragen
26.01.2005 19:27:59
andre
Hallo Micha,
nimm mal das als Ansatz:

Sub test()
Dim a$, b%
a = "willi\ba"
b = Left(a, Len(a) - InStr(StrReverse(a), "\"))
End Sub

AW: Zellinhalt in Makro Eintragen
26.01.2005 21:21:55
Micha
Vielen Dank, werde ich mal testen,
habe aber auch schon eine Möglichkeit gefunden, wies auch funzt :-)
Hier mal meine Lösung, zusammengetragen aus Bruchstücken anderer Makros.
Falls jemand mal wieder sowas braucht.
Vielleicht is das ja noch optimierbar, kein Plan.
Et voila:
'
' Vorarbeit: Dateipfad über "=ZELLE("Dateiname")" in benannte Zelle ("Pfad_Pics") einlesen
' Das Makro öffnet den Ordner, in dem die Exceldatei abgelegt ist


Sub Ordner_oeffnen()
Dim Pfad
Dim Pfad_Pics As String
Dim X
Dim Ordner As String
Dim Anzeigen As String
Pfad_Pics = ActiveSheet.Range("Pfad_Pics").Value
Pfad = TrenneLinks(Pfad_Pics, "\", True)
Ordner = Pfad
Anzeigen = "explorer.exe " + Ordner
X = Shell(Anzeigen, vbNormalFocus)
End Sub

'Die Routine dazu:
'
'Zeichenfolge links vor dem Auftreten des ersten Trennzeichens holen (Stelle=False)
'Zeichenfolge links vor dem Auftreten des letzten Trennzeichens holen (Stelle=True)
'

Function TrenneLinks(Zeichenfolge As String, Trennzeichen As String, Stelle As Boolean) As String
Dim LastPos As Integer, Pos As Integer
Dim Temp As String
If Stelle = False Then 'erstes gefundenes Zeichen
Pos = InStr(Zeichenfolge, Trennzeichen)
If Pos > 0 Then
TrenneLinks = Trim(Left(Zeichenfolge, Pos - 1))
Else
TrenneLinks = Zeichenfolge
End If
Else 'letztes gefundenen Zeichen
Pos = InStr(Zeichenfolge, Trennzeichen)
LastPos = LastPos + Pos
Do Until Pos = 0
If Len(Zeichenfolge) >= LastPos + 1 Then
Temp = Mid(Zeichenfolge, LastPos + 1, Len(Zeichenfolge))
Pos = InStr(Temp, Trennzeichen)
LastPos = LastPos + Pos
End If
Loop
TrenneLinks = Trim(Left(Zeichenfolge, LastPos - 1))
If TrenneLinks = "" Then TrenneLinks = Zeichenfolge
End If
End Function


Vielleicht hat jemand noch ne Idee, wie ich mich 2 oder mehr "\" zurück bewegen kann !?
Gruß Micha
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige