Microsoft Excel

Herbers Excel/VBA-Archiv

Dir Function Excel Mac

Betrifft: Dir Function Excel Mac von: Tom
Geschrieben am: 06.11.2012 18:49:09

Hallo,

Ich muss ein Makro schreiben, welches auf einem Mac-PC den folgenden Befehl ausführt:

Sub ListFiles()
  sDir = ThisWorkbook.Path & Application.PathSeparator
  sFile = Dir(sDir, vbDirectory)

  Do While Len(sFile) > 0
    Debug.Print sFile
    sFile = Dir
  Loop
End Sub

Leider funktioniert der Dir-Befehl auf dem Mac nur ungenügend. Jokerzeichen (*?) werden nicht akzeptiert und auch die Dateinamen werden gekürzt retourniert. Also wenn jemand vom obigen Skript eine Mac-Version erstellen könnte, wäre mir sehr geholfen!

Tom

  

Betrifft: AW: Dir Function Excel Mac von: Rudi Maintaire
Geschrieben am: 06.11.2012 21:03:20

Hallo,
steht doch in der Hilfe zu DIR-Funktion.

Gruß
Rudi


  

Betrifft: AW: Dir Function Excel Mac von: Tom
Geschrieben am: 06.11.2012 21:20:41

Danke. Nur das da steht leider nicht in der Hilfe:

http://answers.microsoft.com/en-us/mac/forum/macoffice2011-macexcel/help-xl-2011s-dir-function-truncates-filename/e72fbf5d-749c-4a55-a77c-e2def6db24d9?msgId=644b9f20-251b-46fe-8df3-f5a28a1c37f6

Die Hilfe nützt mir nichts!


  

Betrifft: AW: Dir Function Excel Mac von: Nepumuk
Geschrieben am: 07.11.2012 00:10:59

Hallo,

auch auf einem Mac hat VBA eine Hilfe. Und das steht das drin:

Bemerkungen

Die Dir-Funktion unterstützt unter Microsoft Windows die Verwendung von * (Platzhalter für mehrere Zeichen) und ? (Platzhalter für ein einzelnes Zeichen) zur Angabe von mehreren Dateien. Beim Macintosh werden diese Zeichen als normale Dateinamenzeichen behandelt und können nicht als Platzhalter zur Angabe mehrerer Dateien verwendet werden.
Da beim Macintosh Platzhalter nicht unterstützt werden, muß man den Dateitypen verwenden, um eine Gruppe von Dateien zu identifizieren. Sie können die MacID-Funktion verwenden, um nach Dateitypen statt nach Dateinamen zu suchen. Beispiel: Die folgenden Anweisung gibt den Namen der ersten TEXT-Datei im aktuellen Ordner zurück:
Dir("EinPfad", MacID("TEXT"))
Um alle Dateien in einem Ordner zu berücksichtigen, geben Sie eine leere Zeichenfolge an:
Dir("")
Wenn Sie die MacID-Funktion mit Dir unter Microsoft Windows, erhalten Sie eine Fehlermeldung.


Gruß
Nepumuk


  

Betrifft: AW: Dir Function Excel Mac von: Tom
Geschrieben am: 07.11.2012 09:49:28

Danke Nepomuk für die Antwort, doch das weiss ich alles schon. Google einmal nach "vba mac dir truncated" und dann wirst du sehen, dass die Dir-Funktion auf dem Mac fehlerhaft ist! Um was ich bitte wäre ein Workaround, da auch die Library "Microsoft Scripting Runtime" auf dem Mac nicht benutzt werden kann.


  

Betrifft: AW: Dir Function Excel Mac von: Case
Geschrieben am: 07.11.2012 10:15:38

Hallo, :-)

schau mal hier rein:

Ron de Bruin...

Da findest Du sowas:

MAC...

Bzw.:

Die Richtung...

Servus
Case



  

Betrifft: AW: Dir Function Excel Mac von: Tom
Geschrieben am: 07.11.2012 12:41:52

Danke. Auf dieser Seite war ich auch schon, doch das gewünschte Skript ist leider nicht vorhanden.


  

Betrifft: AW: Dir Function Excel Mac von: Case
Geschrieben am: 07.11.2012 14:30:25

Hallo, :-)

da wirst Du dich mit AppleScript auseinandersetzen müssen. Also so der Spur nach:

  • ScriptToRun "open application file "Terminal.app""
    dann ein
    ls -l > Liste.txt
    absetzen für lange Liste in Textdatei
    Textdatei in Excel einlesen


  • Das ist jetzt nur der Weg dahin. Ich denke hier sind nicht so viele Mac-User unterwegs. Frage das mal lieber in einem Mac-Forum.

    Servus
    Case



      

    Betrifft: AW: Dir Function Excel Mac von: Tom
    Geschrieben am: 07.11.2012 14:52:17

    Danke für die Antwort. Ja das sehe ich aus so... :(