Kategorien
VBA Excel

VBA Makro für Mac und Windows

Bei den Betriebssystem MAC OS und Windows gibt es kleine aber feine Unterschiede, die bei der Programmierung beachtet werden müssen. Mit der folgenden Funktion kann Unterschieden werden zwischen beiden:

Function isMac() As Boolean
isMac = False
If InStr(Application.OperatingSystem, "Macintosh") Then
        isMac = True
    End If
End Function

Unterschied 1: Zeilenumbrüche entfernen

If (isMac()) Then
    zeilenumbruch = 13
Else
    zeilenumbruch = 10
End If

ActiveSheet.UsedRange.Replace Chr(zeilenumbruch), ""

Unterschied 2: Datei-Pfade

sheetName = ActiveSheet.Name
    If (isMac()) Then
        sheetPath = ActiveWorkbook.Path & ":"
    Else
        sheetPath = ActiveWorkbook.Path & "\"
    End If
    
    ActiveWorkbook.SaveAs Filename:= _
         sheetPath & sheetName & ".txt" _
        , FileFormat:=xlText, CreateBackup:=False