Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Macro auf Apple zum laufen bringen?

Macro auf Apple zum laufen bringen?
17.05.2022 09:24:47
Vasko
Hallo zusammen,
ich habe eine Arbeitsmappe mit verschiedenen Macros, die eigentlich alles macht was ich so brauche. Jetzt brauche ich diese Arbeitsmappe auch auf Apple-Rechnern. Die meisten Macros funktionieren. Aber jene die z.B. auf den Windows Explorer zugreifen funktionieren auf Apple nicht mehr. Ich bin mir nicht sicher ob es überhaupt einen Menschen gibt der da helfen kann?
Mit den allerbesten Grüßen
Vasko
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Da gibt es so viele...
17.05.2022 10:06:55
Case
Hallo, :-)
... Fallstricke, dass ich irgendwann gefrustet aufgegeben habe. Aber hier ist eine Seite, die dir helfen kann: ;-)
Ron de Bruin - Mac VBA...
Servus
Case
AW: Da gibt es so viele...
17.05.2022 11:37:14
Vasko
Hi Case,
danke dafür ich hoffe ich verstehe was davon😁. Ich hatte die Hoffnung ich finde hier im Forum jemanden der schon mal Erfolg gehabt hat😅.
Herzliche Grüße
Vasko
Anzeige
AW: Da gibt es so viele...
17.05.2022 11:38:24
Vasko
Phuu ich verstehe warum Du aufgegeben hast😓😓😓
AW: Macro auf Apple zum laufen bringen?
17.05.2022 11:51:23
Vasko
Hier eins der Macros das nicht funktioniert. Ich habe versucht Application.GetOpenFilename mit bIsBookOpen(Fname) zu ersetzen, leider ohne Erfolg.

Sub Hochformatbilder_einfügen()
Dim PicList() As Variant
Dim PicFormat As String
Dim Rng As Range
Dim sShape As Shape
On Error Resume Next
PicList = Application.GetOpenFilename(PicFormat, MultiSelect:=True)
xColIndex = Application.ActiveCell.Column
If IsArray(PicList) Then
xRowIndex = Application.ActiveCell.Row
For lLoop = LBound(PicList) To UBound(PicList)
Set Rng = Cells(xRowIndex, xColIndex)
Set sShape = ActiveSheet.Shapes.AddPicture(PicList(lLoop), msoFalse, msoCTrue, Rng.Left, Rng.Top, 106, 158)
xRowIndex = xRowIndex + 1
Next
End If
End Sub

Anzeige
AW: Da reicht es...
17.05.2022 13:40:18
Vasko
Hi Case,
ja habe ich mir angesehen und null verstanden warum er diese Message Boxen programiert hat, da bin ich dann auch voll ausgestiegen😓😓😓.
Danke Dir für Deine Mühe!
Vasko
Anzeige
Na ja, so schwierig...
17.05.2022 14:30:17
Case
Hallo, :-)
... ist das nun auch nicht. Du musst doch statt der MSGBOX nur den Einfügecode des Bildes nehmen - z. B. von hier: ;-)
Mac - Bild in Worksheet einfügen...
Da ich mein altes Mac-Book mit 9,81 m/s beschleunigt habe, kann ich es nicht mehr testen, aber Rons Makros laufen immer. ;-)
Servus
Case
Anzeige
AW: Na ja, so schwierig...
18.05.2022 13:03:53
Vasko
Hi Case,
ja hab schon gemerkt Ron ist Legende. :) Na nur die Beschleunigung wird es wohl noch ausgehalten haben... lol
Habs mal mit dem dem Ersetzen probiert, leider ohne dem gewünschten Resultat.
Herzlichen Dank
Vasko
Wie gesagt, ich kann...
18.05.2022 15:58:49
Case
Hallo, :-)
... es nicht testen. Probiere mal. Kann halt Fehler enthalten. ;-)

Option Explicit
Sub Select_File_Or_Files_Mac()
'Select files in Mac Excel with the format that you want
'Working in Mac Excel 2011 and 2016 and higher
'Ron de Bruin, 20 March 2016
Dim MyPath As String
Dim MyScript As String
Dim MyFiles As String
Dim MySplit As Variant
Dim N As Long
Dim Fname As String
Dim mybook As Workbook
Dim OneFile As Boolean
Dim FileFormat As String
Dim img As Picture
'In this example you can only select xlsx files
'See my webpage how to use other and more formats.
FileFormat = "{""org.openxmlformats.spreadsheetml.sheet""}"
' Set to True if you only want to be able to select one file
' And to False to be able to select one or more files
OneFile = True
On Error Resume Next
MyPath = MacScript("return (path to desktop folder) as String")
'Or use A full path with as separator the :
'MyPath = "HarddriveName:Users::Desktop:YourFolder:"
'Building the applescript string, do not change this
If Val(Application.Version)  "" Then
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
MySplit = Split(MyFiles, Chr(10))
For N = LBound(MySplit) To UBound(MySplit)
'Get file name only and test if it is open
'Fname = Right(MySplit(N), Len(MySplit(N)) - InStrRev(MySplit(N), _
Application.PathSeparator, , 1))
If bIsBookOpen(Fname) = False Then
'Set mybook = Nothing
On Error Resume Next
'Set mybook = Workbooks.Open(MySplit(N))
Set img = ActiveSheet.Pictures.Insert(MySplit(N))
With img
.Left = ActiveSheet.Range("A8").Left
.Top = ActiveSheet.Range("A8").Top
.Width = 200
.Height = 150
.Placement = 1
.PrintObject = True
End With
On Error GoTo 0
'                If Not mybook Is Nothing Then
'                    MsgBox "You open this file : " & MySplit(N) & vbNewLine & _
'                    "And after you press OK it will be closed" & vbNewLine & _
'                    "without saving, replace this line with your own code."
'                    mybook.Close savechanges:=False
'                End If
Else
MsgBox "We skip this file : " & MySplit(N) & " because it Is already open"
End If
Next N
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End If
End Sub
Function bIsBookOpen(ByRef szBookName As String) As Boolean
' Rob Bovey
On Error Resume Next
bIsBookOpen = Not (Application.Workbooks(szBookName) Is Nothing)
End Function
Kann man dann natürlich noch einkürzen.
Servus
Case
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Excel-Makros auf Apple-Rechnern zum Laufen Bringen


Schritt-für-Schritt-Anleitung

Um Excel-Makros auf einem Apple-Rechner zum Laufen zu bringen, sind einige Anpassungen erforderlich. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Excel Makros aktivieren: Stelle sicher, dass du die Makros in Excel aktivierst. Gehe dazu zu Excel > Einstellungen > Sicherheit und Datenschutz und aktiviere die Option für Makros.

  2. Überprüfe die Excel-Version: Diese Anleitung funktioniert für Mac Excel 2011 und Mac Excel 2016 oder höher. Ältere Versionen könnten nicht alle Funktionen unterstützen.

  3. Code-Anpassung: Ersetze Application.GetOpenFilename durch einen AppleScript-Befehl. Hier ist ein Beispiel, wie du das machen kannst:

    MyPath = MacScript("return (path to desktop folder) as String")
  4. Testen: Führe das Makro aus, um zu überprüfen, ob es korrekt funktioniert. Achte darauf, dass alle Referenzen und Pfade korrekt gesetzt sind.


Häufige Fehler und Lösungen

  • Fehler beim Zugriff auf Dateien: Wenn das Makro nicht auf Dateien zugreifen kann, stelle sicher, dass der Pfad korrekt ist und die Datei existiert.
  • Makros funktionieren nicht: Wenn du die Fehlermeldung erhältst, dass Makros nicht aktiviert sind, überprüfe erneut die Einstellungen in Excel.
  • Kompatibilitätsprobleme: Einige Windows-spezifische Funktionen sind auf dem Mac nicht verfügbar. Du musst diese Teile des Codes anpassen.

Alternative Methoden

Wenn du Schwierigkeiten mit den Standardmethoden hast, kannst du folgende Alternativen ausprobieren:

  • Verwendung von AppleScript: Du kannst AppleScript verwenden, um Dateien auszuwählen und zu öffnen. Hier ist ein einfaches Beispiel:

    MyFiles = MacScript("choose file with prompt 'Select a file'")
  • Verwenden von Excel VBA: Du kannst Excel VBA verwenden, um spezifische Funktionen zu implementieren, die möglicherweise nicht standardmäßig unterstützt werden.


Praktische Beispiele

Hier sind einige nützliche Beispiele für Makros, die auf Apple-Rechnern laufen:

  1. Bilder in ein Arbeitsblatt einfügen:

    Sub BildEinfügen()
        Dim PicList As Variant
        PicList = Application.GetOpenFilename("Bilddateien (*.jpg; *.png), *.jpg; *.png", MultiSelect:=True)
        If IsArray(PicList) Then
            Dim i As Long
            For i = LBound(PicList) To UBound(PicList)
                ActiveSheet.Pictures.Insert(PicList(i)).Select
            Next i
        End If
    End Sub
  2. Dateiauswahl auf dem Mac:

    Sub DateiAuswählen()
        Dim MyFile As String
        MyFile = MacScript("choose file")
        MsgBox "Ausgewählte Datei: " & MyFile
    End Sub

Tipps für Profis

  • Code modularisieren: Halte deinen Code sauber und modular. Teile komplexe Makros in kleinere Funktionen auf.
  • Fehlerbehandlung: Implementiere eine umfassende Fehlerbehandlung, um unerwartete Fehler während der Ausführung zu vermeiden.
  • Regelmäßige Tests: Teste deine Makros regelmäßig auf verschiedenen Mac-Versionen, um Kompatibilität sicherzustellen.

FAQ: Häufige Fragen

1. Wie aktiviere ich Makros in Excel für Mac?
Gehe zu Excel > Einstellungen > Sicherheit und Datenschutz und aktiviere die Option für Makros.

2. Warum funktionieren einige Excel-Makros nicht auf dem Mac?
Einige Funktionen, die auf Windows basieren, sind auf dem Mac nicht verfügbar. Du musst diese spezifischen Teile des Codes anpassen.

3. Wo finde ich weitere Ressourcen für Apple-Makros?
Eine gute Anlaufstelle ist die Website von Ron de Bruin, die viele nützliche Informationen zu excel vba öffnen mac und spezifischen Beispielen bietet.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige