Por que las macros funcionan en Excel para windows y no en el MAC?

Haciendo hoy pruebas de como va avanzando el proyecto, me he encontrado con que todo lo que estoy haciendo funciona en microsoft excel pero cuando lo probamos en un MAC, la macro Generar informe y la macro Enviar informe por mail no funcionan. El pc en el que hemos probado tiene instalado el microsoft excel 2011 para Mac y utliiza el correo MAIL 4.6 para mac. Al dar a generar informe le da un error "438" en tiempo de ejecución "el objeto no admite esta propiedad o método". ¿Es posible conseguir que el proyecto funcione en mac y windows?

Las macros que tengo asignadas son:

Generar informe

Sub GenerarInforme() 'Generar Pdf de la hoja Informe
Set h1 = Sheets("Hoja1")
Set h2 = Sheets("INFORME")
ruta = ThisWorkbook.Path & "\"
nombre = "informe " & h1.[B4] & " " & h1.[B5] & ".pdf"
'
With Application.FileDialog(msoFileDialogSaveAs)
.Title = "Guardar archivo como"
.AllowMultiSelect = False
.InitialFileName = ruta & nombre
.FilterIndex = 25
If .Show Then
march = .SelectedItems(1)
h2.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=march, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
End If
End With
End Sub

ENVIAR INFORME POR MAIL

Sub EnviarInforme()

Set h1 = Sheets("Hoja1")
Set h2 = Sheets("INFORME")
ruta = ThisWorkbook.Path & "\"
nombre = "informe " & h1.[B4] & " " & h1.[B5] & ".pdf"
'
With Application.FileDialog(msoFileDialogSaveAs)
.Title = "Guardar archivo como"
.AllowMultiSelect = False
.InitialFileName = ruta & nombre
.FilterIndex = 25
If .Show Then
march = .SelectedItems(1)
h2.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=march, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
'
Dim objMail As Object
Set objMail = CreateObject("Outlook.Application").CreateItem(olMailItem)
With objMail
.To = h1.Range("B8").Value
.Subject = "Informe"
.Body = "Estimado Antonio, adjunto te mando…"
.Attachments.Add march
.Display
End With
Set objMail = Nothing
End If
End With
End Sub

Añade tu respuesta

Haz clic para o