Angular, AWS und Symfony Freelancer

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

 

 


Posted

in

by

Tags:

Comments

2 Kommentare zu „VBA Makro für Mac und Windows“

  1. Avatar von Klaus
    Klaus

    Hallo Sebatian, bei den Dateipfaden ist es noch besser mit Application.PathSeparator zu arbeiten, das funktioniert sowohl unter Windows wie auch unter Mac oder auch UNIX:

    strPath = ThisWorkbook.Path & Application.PathSeparator

    Ich habe auch ThisWorkbook statt ActiveWorkbook genommen, weil ThisWorkbook immer das Workbook repräsentiert, aus dem das Makro ursprünglich gestartet wurde.

    Gruß
    Klaus

    1. Avatar von Sebastian Viereck
      Sebastian Viereck

      Danke klaus, sehr guter tip!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert