Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Pfadangabe in einer Zelle

Forumthread: Pfadangabe in einer Zelle

Pfadangabe in einer Zelle
27.10.2008 09:31:00
Uwe
Hallo,
weiß jemand, wie ich den aktuellen Pfad in einer Zelle abbilden kann, so dass sich dieser, wenn die Datei in einem anderen Ordner abgespeichert wird entsprechend automatisch verändert?
In der Fußzeilen-Funktion gibt es ja die Möglichkeit über "&Pfad". Ich möchte mir jedoch den Pfadnamen nicht in die Fußzeile sondern in einer Zelle anzeigen lassen.
Grüße
Uwe
Anzeige

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pfadangabe in einer Zelle
27.10.2008 09:39:00
Tino
Hallo,
zum Beispiel kannst Du es so machen.
 A
1J:\1 Forum\[Test.xls]Tabelle1

Formeln der Tabelle
ZelleFormel
A1=ZELLE("Dateiname";A1)

Die Datei muss zuvor aber gespeichert sein.
Gruß Tino
Anzeige
AW: Pfadangabe in einer Zelle
27.10.2008 09:56:00
Uwe
Hallo Tino,
vielen Dank, aber noch nicht ganz, was ich brauche.
Ich brauche lediglich den Pfad ohne Dateiname. Hintergrund ist, dass ich aus der Excel-Datei eine andere Datei öffnen möchte, egal in welchem Ordner sie abgespeichert ist. Einzige Voraussetzung hierbei ist, dass beide Dateien immer im gleichen Ordner zusammen abgespeichert sind.
Aus diesem Grund benötige ich eher "=Zelle("Pfadname",A1), aber dies schein wohl nicht zu funktionieren. Aber vielleicht hast Du ja auch hierfür eine Lösung.
Grüße
Uwe
Anzeige
Dann so!
27.10.2008 10:05:00
Backowe
Hi,
=LINKS(ZELLE("Dateiname";A1);FINDEN("[";ZELLE("Dateiname";A1))-1)
Gruß Jürgen
AW: Dann so!
27.10.2008 10:11:00
Uwe
Hallo Jürgen,
vielen Dank. Das müsste es sein.
Nun kann ich versuchen ein entsprechendes Makro für das Öffnen einer Powerpoint-Datei aus Excel heraus zu programmieren.
Wahrscheinlich muss ich später deswegen auch nochmal auf das Forum zurückgreifen, aber ich versuche es ersteinmal selber.
Grüße
Uwe
Anzeige
AW: Dann so!
27.10.2008 11:06:27
Uwe
Hallo Jürgen,
ich habe doch noch ein Problem.
Wenn ich ein Makro über Excel laufen lassen, wandelt er deine Formel in Text um. Dadurch wird dann auch die Formel hinsichtlich des gesamten Pfades falsch, weil dann das "Back-Flash-Zeichen (\) fehlt. Woran kann das liegen?
Ich habe mal eine Testdatei hochgeladen, wobei das Makro zum Öffnen der Powerpointdatei noch nicht richtig funktioniert. Aber vielleicht hast du diesbezüglich auch einen Rat.
https://www.herber.de/bbs/user/56317.xls
Grüße
Uwe
Anzeige
AW: Dann so!
27.10.2008 11:21:21
Tino
Hallo,
wahrscheinlich weil Du Deine Formel überscheibst!
Cells(2, 5) = ActiveWorkbook.Path
Gruß Tino
AW: Dann so!
27.10.2008 11:26:26
Tino
Hallo,
eventuell müsste es so gehen,
    Cells(2, 5) = _
    IIf(Right$(ActiveWorkbook.Path, 1) = "\", ActiveWorkbook.Path, ActiveWorkbook & "\")


Allerdings verstehe ich nicht wozu Du zuerst eine Formel benötigst und diese danach wieder überschreibst?
Gruß Tino

Anzeige
AW: Dann so!
27.10.2008 11:41:32
Uwe
Hallo Tino,
dumm von mir, aber vielen Dank für den Hinweis. So wir dann auch der aktuelle Pfad angezeigt.
Was ich nur nicht hinbekomme ist das Öffnen der Powerpoint-Datei. Das Öffnen einer testtest.xlsx funktioniert, nicht aber einer pptx. Hast Du zufälliger Weise einen Rat?
Grüße
Uwe
Anzeige
AW: Dann so!
27.10.2008 11:58:00
Tino
Hallo,
z. Beispiel so, kommt in ein Modul.
Modul Modul1
Option Explicit 
Public Declare Function ShellExecute Lib "shell32.dll" Alias _
    "ShellExecuteA" (ByVal hWnd As Long, _
                     ByVal lpOperation As String, _
                     ByVal lpFile As String, _
                     ByVal lpParameters As String, _
                     ByVal lpDirectory As String, _
                     ByVal nshowcmd As Long) As Long 
Public Const SW_MAXIMIZE = 3      ' Maximiert öffnen 
Public Const SW_MINIMIZE = 6      ' Minimiert öffnen 
 
Sub beliebigeDateiÖffnen() 
Dim strPfad As String 
    strPfad = "C:\Datei.pptx" 'Pfad zur Datei 
   Call ShellExecute(0, "open", strPfad, "", "", SW_MAXIMIZE) 
 
End Sub 


Gruß Tino

Anzeige
powerpoint-datei mit Shell starten
27.10.2008 12:07:00
Reinhard
Hallo Interessierte,
wieso klappt der erste Code nicht, mit der bat-Datei klappt es.
Hinweise auf die Startparameter bei Powerpoint:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;254011
brachten mich nicht recht weiter.
Irgendwie komme ich da mit den Anführungszeichen/Leerzeichen nicht klar.

Sub OeffnePPT()
Dim appPPT
Const PPT As String = "c:\programme\microsoft office\office\powerpnt.exe "
MsgBox Range("E3").Value
appPPT = Shell(PPT & Range("E3").Value, vbMaximizedFocus)
End Sub
Sub OeffnePPT2()
Dim FF As Long, PPT
FF = FreeFile
Open "H:\ppt.bat" For Output As #FF
Print #FF, Chr(34) & "c:\programme\microsoft office\office\powerpnt.exe" & Chr(34) & " " & Chr( _
34) & CurDir & "\" & Range("E1") & Chr(34)
Close #FF
PPT = Shell("H:\ppt.bat", vbMaximizedFocus)
End Sub


Inhalte der Zellen:
E1: pwrpnt10.ppt
E3: C:\Dokumente und Einstellungen\IchalsAdministrator\Eigene Dateien\pwrpnt10.ppt
Gruß
Reinhard

Anzeige
Noch offen o.w.T.
27.10.2008 12:21:06
Reinhard


AW: Noch offen o.w.T.
27.10.2008 12:56:00
Tino
Hallo,
ich verstehe die Syntax so, Beispiel unter Vista
/s steht für öffnen.
Dim Datei As Integer
Dim FileName As String
FileName = "C:\Test.ppt"
Datei = Shell("C:\Program Files\Microsoft Office\Office12\POWERPNT.EXE /s " & FileName)


Gruß Tino

Anzeige
AW: Noch offen o.w.T.
27.10.2008 22:31:00
Tino
Hallo,
habe noch mal getestet, bei langen Dateipfad muss dieser in die so genannte
Kurzschreibweise umgewandelt werden (Dos kompatibel).
Modul Modul1
Option Explicit 
Private Declare Function GetShortPathNameA Lib "kernel32" ( _
    ByVal lpszLongPath As String, _
    ByVal lpszShortPath As String, _
    ByVal cchBuffer As Long) As Long 
Public Function ShortPath(ByRef Path As String) As String 
  Dim n As Long 
 
  ShortPath = Space$(256) 
  n = GetShortPathNameA(Path, ShortPath, 255) 
  ShortPath = Left$(ShortPath, n) 
End Function 
 
 
Sub Test() 
Dim Datei As Integer 
Dim FileName As String 
FileName = ShortPath("C:\Test.ppt") 
Datei = Shell("C:\Program Files\Microsoft Office\Office12\POWERPNT.EXE /s " & FileName) 
End Sub 


Gruß Tino

Anzeige
AW: Noch offen o.w.T.
30.10.2008 11:08:05
Reinhard
Hallo Tino,
danke dir.
Gruß
Reinhard
AW: Dann so!
27.10.2008 12:16:00
Uwe
Klasse, funktionier!
Vielen Dank.
Gruß
Uwe
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Pfadangabe in einer Zelle


Schritt-für-Schritt-Anleitung

Um den aktuellen Excel-Dateipfad in einer Zelle anzuzeigen, kannst Du folgende Schritte befolgen:

  1. Speichere die Excel-Datei: Damit die Funktion korrekt arbeitet, muss die Datei zuerst gespeichert sein.
  2. Formel eingeben: Gehe zu der Zelle, in der der Pfad angezeigt werden soll, und gib die folgende Formel ein:
    =ZELLE("Dateiname"; A1)

    Diese Formel gibt den vollständigen Dateipfad inklusive des Dateinamens zurück.

  3. Pfad ohne Dateiname: Um nur den Pfad ohne den Dateinamen zu erhalten, kannst Du folgende Formel verwenden:
    =LINKS(ZELLE("Dateiname"; A1); FINDEN("["; ZELLE("Dateiname"; A1))-1)

    Diese Formel schneidet den Dateinamen ab und zeigt nur den Pfad an.


Häufige Fehler und Lösungen

  • Formel wird als Text angezeigt: Wenn die Formel in Text umgewandelt wird, könnte das daran liegen, dass Du die Zelle mit der Formel durch ein Makro überschreibst. Achte darauf, dass Du die Zelle nicht direkt mit einem Wert beschreibst.

  • Pfad wird nicht angezeigt: Stelle sicher, dass die Excel-Datei gespeichert ist, bevor Du die Formel anwendest. Die Excel-Pfad in Zelle-Funktion benötigt eine gespeicherte Datei, um den Pfad korrekt anzuzeigen.


Alternative Methoden

  • VBA-Makro verwenden: Du kannst auch ein VBA-Makro nutzen, um den Dateipfad in eine Zelle einzufügen. Hier ist ein einfaches Beispiel:

    Sub DateipfadEinfügen()
       Cells(1, 1).Value = ActiveWorkbook.Path
    End Sub

    Dieses Makro fügt den aktuellen Pfad in die Zelle A1 ein.

  • Pfad in Fußzeile einfügen: Wenn Du den Pfad in die Fußzeile einfügen möchtest, kannst Du dies über den Befehl &Pfad in den Seiteneinrichtungsoptionen tun.


Praktische Beispiele

  1. Pfad in Zelle einfügen: Angenommen, Du möchtest den Pfad in Zelle B1 einfügen. Du würdest die Formel =LINKS(ZELLE("Dateiname"; A1); FINDEN("["; ZELLE("Dateiname"; A1))-1) in B1 eingeben.

  2. Dateipfad in einer Formel verwenden: Wenn Du den Excel-Dateipfad in eine Formel einfügen möchtest, könntest Du so vorgehen:

    =INDIREKT("'" & LINKS(ZELLE("Dateiname"; A1); FINDEN("["; ZELLE("Dateiname"; A1))-1) & "[andereDatei.xlsx]'!A1")

Tipps für Profis

  • Verwende benannte Bereiche: Du kannst den Excel-Dateipfad in Zelle als benannten Bereich definieren, um die Verwendung in anderen Formeln zu erleichtern.

  • Kombiniere mit anderen Funktionen: Nutze den Dateipfad zusammen mit Funktionen wie HYPERLINK, um auf andere Dateien im gleichen Verzeichnis zuzugreifen.


FAQ: Häufige Fragen

1. Wie kann ich den Dateinamen in einer Zelle ohne den Pfad anzeigen?
Du kannst die Formel =RECHTS(ZELLE("Dateiname"; A1); LÄNGE(ZELLE("Dateiname"; A1)) - FINDEN("["; ZELLE("Dateiname"; A1)) + 1) verwenden, um nur den Dateinamen ohne den Pfad anzuzeigen.

2. Funktioniert das auch in älteren Excel-Versionen?
Ja, die beschriebenen Formeln und Methoden funktionieren in den meisten modernen Excel-Versionen, einschließlich Excel 2010 und neuer.

3. Wie kann ich den Pfad in einer Fußzeile einfügen?
Gehe zu Seitenlayout -> Seitenränder -> Fußzeile und füge &Pfad ein, um den aktuellen Pfad in die Fußzeile einzufügen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige