Файл макроса Excel сохраните как в Windows и Mac - PullRequest
0 голосов
/ 19 марта 2019

У меня есть файл Excel, в котором есть макрос, который переупорядочивает значения и сохраняет их в формате табуляции. Он хорошо работает для Windows, но мне также нужно это для работы на моем Mac. Часть, которая, как я понимаю, не работает, - это когда макрос вызывает функцию, которая просит пользователя «сохранить как» файл, запрашивая местоположение и имя файла. Я думаю, что одна и та же функция отличается в Mac.

Мне не нужно ничего особенного или сложного. Если жесткое кодирование имени файла и папки в коде делает его более простым (что и должно), это будет работать для меня.

Модуль 1:

Sub saveTTT()

    template_file = ActiveWorkbook.FullName
    fileSaveName = Application.GetSaveAsFilename( _
    InitialFileName:="C:\Journal_" + VBA.Strings.Format(Now, "ddmmyyyy") + ".IIF"
    fileFilter:="TTT Files (*.ttt), *.ttt")   

    If fileSaveName = False Then
    Exit Sub
    End If

    ActiveWorkbook.SaveAs Filename:= _
    fileSaveName, FileFormat:=xlText, _
    CreateBackup:=False

    file_name_saved = ActiveWorkbook.FullName
    MsgBox "Your TTT Journal has been successfully created at: " & vbCr & vbCr & 
    file_name_saved

    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:= _
    template_file, FileFormat:= _
    xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , 
    CreateBackup:=False
    ActiveWorkbook.Close SaveChanges:=True
End Sub

Модуль 2:

Sub generateTTT()
    ....
    ....
    template_file = ActiveWorkbook.FullName
    fileSaveName = Application.GetSaveAsFilename( _
    InitialFileName:="C:\Journal_" + VBA.Strings.Format(Now, "ddmmyyyy") + ".ttt", 
    _
    fileFilter:="TTT Files (*.ttt), *.ttt")
    If fileSaveName = False Then
    Exit Sub
    End If
    ActiveWorkbook.SaveAs Filename:= _
    fileSaveName, FileFormat:=xlText, _
    CreateBackup:=False
    file_name_saved = ActiveWorkbook.FullName
    MsgBox "Your TTT Journal has been successfully created at: " & vbCr & vbCr & 
    file_name_saved

    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:= _
    template_file, FileFormat:= _
    xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
    , CreateBackup:=False
    ....
    ....
End Sub
...