• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

[Excel] Makro von Windows

Beat Schmid

Erdapfel
Registriert
13.06.13
Beiträge
2
Hallo, ich habe da ein kleines Makro das in Excel für Windows läuft. Das sollte jetzt aber auch in Excel für Mac funktionieren. Wer kann mir da helfen?
Dieses Script erstellt Ordner von den Angaben in der ersten Spalte der Excel Tabelle. Und zwar in dem Pfad, der bei Windows so wie in der dritten Zeile geschrieben ist.
Hier mal den code:


Option Explicit
' anpassen !!!MIT abschließendem Backslash "\"
Const strPfad1 As String = "C:\Ordner\Montag\"


Private Declare Function MakeSureDirectoryPathExists _
Lib "imagehlp.dll" (ByVal Pfad As String) As Long

Public Sub Test()
Dim wksSheet As Worksheet
Dim lngLastRow As Long
On Error GoTo Fin
Set wksSheet = ThisWorkbook.Worksheets("Tabelle1") 'anpassen!
With wksSheet
lngLastRow = .Range("A" & .Rows.Count).End(xlUp).Row ' Spalte A
For lngLastRow = 1 To lngLastRow ' ab Zeile 1 also eventuell anpassen
If Trim(.Cells(lngLastRow, 1).Value) <> "" Then

MakeSureDirectoryPathExists (strPfad1 & .Cells(lngLastRow, 1).Value & "\")

End If
Next lngLastRow
End With
Fin:
Set wksSheet = Nothing
End Sub
 
Das Makro versucht auf ein Laufwerk "C" zuzugreifen.
Das wird auf einem Mac schwierig.

Wie in dem Link von MACaerer bereits zu ersehen, muss dein Makro auf OSX angepasst werden.
Vielleicht findet sich hier ja noch jemand, der das auf dem Kasten hat.
 
dass der Mac kein Laufwerk C hat, ist mir auch bekannt, an dem liegt es nciht. Und da ich kein Programmierer bin, sehe ich mich da vor einem grossen Wald und hoffe, dass sich da jemand auskennt.
 
Wie meinst du das? Hattest du das Makro schon mit einer für OSX gültigen Pfadangabe ergänzt?

Edit: Ach, hätte ich deinen ersten Post gründlicher gelesen, wären meine Beiträge überflüssig gewissen.
Mea Culpa. :-(
 
Problem:
Da das Makro kaum VBA-Code enthält (eine Konstanten-, eine Funktions- und zwei Variablen-Deklarationen sowie eine Schleife und eine Bedingung) und die eigentliche Funktionalität (Ordner von den Angaben in der ersten Spalte der Excel Tabelle erstellen) in eine plattformspezifische externe Bibliothek (DLL für Windows) ausgelagert ist, wird es unter Excel:mac niemals laufen.

Lösung:
Das Makro neu programmieren.
Das Erstellen der Ordner könnte z. B. über den Aufruf eines entsprechenden Applescripts realisiert werden.
Die Verzeichnis-Pfade müssen in einer unter OS X gültigen Form angegeben werden.

Eine vollständige Pfadangabe beginnt mit dem Namen des Volumes gefolgt von den Namen der Ordner (entlang der Verzeichnishierarchie vom Wurzelverzeichnis bis zum gewünschten Ordner); Volume- und Ordnernamen werden jeweils mit einem Doppelpunkt voneinander getrennt.

​

Wenn sich das Zielverzeichnis ändern kann, sollte der Pfad nicht als Konstante im Programmcode hinterlegt werden (schlechter Programmierstil).
 
Zuletzt bearbeitet:
Mod-Info

Da dies ein öffentliches Forum ist, darf das Problem sowie die Lösung auch gern öffentlich gepostet werden.
Und sollte es sich bei deinem Post um eine kleine Job-Offerte handeln, für die du außer Danke und Karma noch etwas anderes erwartest,
wird es hier spontan unbürokratisch.
Da ich aber eigentlich keine Lust habe, irgendwem einen überzuhelfen, korrigiere mich gerne in meiner Annahme.