Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1016to1020
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

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

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
Dann so!
27.10.2008 10:05:00
Backowe
Hi,
=LINKS(ZELLE("Dateiname";A1);FINDEN("[";ZELLE("Dateiname";A1))-1)
Gruß Jürgen
Anzeige
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
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
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

334 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige