VBA для Macbook - макрос не сохраняет выходной файл - PullRequest
0 голосов
/ 10 июля 2019

Я работаю над макросом для MacBook для разделения кодов, которые мы вставляем в файл.

После запуска коды должны появиться в папке на рабочем столе под названием Tour Codes.

Однако файл не сохраняется и макрос показывает ошибку.

Я пробовал несколько настроек и изменение местоположения файла, но проблема остается.

Буду признателен за любые предложения.


Sub create_files()
Application.ScreenUpdating = False
Dim iName, iPath
iName = GetUserNameMac
'Get Path and Workbook Name
'iPath = ActiveWorkbook.Path
iPath = "Macintosh HD:Users:" & iName & ":Desktop:Tour Codes"
Sheets("Data").Select

...
'create files
Dim r1, ddate, gate, id, cap, firstrow, rowcount, newcode
r1 = 2
firstrow = 2
...

    Application.DisplayAlerts = False
    'save file
    ChDir "Macintosh HD:Users:" & iName & ":Desktop:Tour Codes"
    ActiveWorkbook.SaveAs Filename:= _
    iPath & ":" & id & "_" & Format(ddate, "yyyy-mm-dd") & "_" & gate & "_" & firstrow & ".csv", _
        FileFormat:=xlCSV, CreateBackup:=False
    'ActiveWorkbook.SaveAs iPath & ":" & merchWk
    'ActiveWorkbook.SaveAs iPath & "/" & merchWk
    Windows("Gate 1 codes macro.xlsm").Activate

    'copy rows to file
    'Rows(firstrow & ":" & firstrow + rowcount - 2).Select
    Range(Cells(firstrow, 1), Cells(firstrow + rowcount - 2, 1)).Select
    Selection.Copy
    Windows(id & "_" & Format(ddate, "yyyy-mm-dd") & "_" & gate & "_" & firstrow & ".csv").Activate
    'Cells(2, 1).Select
    Cells(1, 1).Select
    ActiveSheet.Paste
    'Columns("A:E").EntireColumn.AutoFit
    Columns("A:A").EntireColumn.AutoFit

    'save file
    Cells(1, 1).Select
    ActiveWorkbook.Save
    ActiveWindow.Close
    Application.DisplayAlerts = True
    Windows("Gate 1 codes macro.xlsm").Activate
    firstrow = r1 - 1
    r1 = firstrow

Loop Until r1 > lastrow
End Sub
Function GetUserNameMac() As String
Dim sMyScript As String
sMyScript = "set userName to short user name of (system info)" & vbNewLine & "return userName"   
GetUserNameMac = MacScript(sMyScript)

End Function

Ошибки VBA в этих строках:

error

...