Macos 如何使用VBA for Mac创建新的excel文件

Macos 如何使用VBA for Mac创建新的excel文件,macos,vba,excel,Macos,Vba,Excel,我正在Excel 2011中创建一个宏,用于Mac创建报告。宏的一部分要打开文件(99%的时间),编辑文件,然后关闭文件(保存更改)。在极少数情况下,如果文件不存在,它会创建一个新的excel文件,对其进行编辑,然后关闭该文件(保存更改) 我已经成功地创建了使用现有在线问题和答案打开现有文件的功能。但是,如果它找不到文件,我无法确定创建文件的方法。如果我试图简单地打开一个不存在的文件,那么它就会出错 代码如下: Dim nExcel As Object Dim nWB As Object If

我正在Excel 2011中创建一个宏,用于Mac创建报告。宏的一部分要打开文件(99%的时间),编辑文件,然后关闭文件(保存更改)。在极少数情况下,如果文件不存在,它会创建一个新的excel文件,对其进行编辑,然后关闭该文件(保存更改)

我已经成功地创建了使用现有在线问题和答案打开现有文件的功能。但是,如果它找不到文件,我无法确定创建文件的方法。如果我试图简单地打开一个不存在的文件,那么它就会出错

代码如下:

Dim nExcel As Object
Dim nWB As Object
If FileOrFolderExistsOnMac(1, strFile) Then
        Workbooks.Open (strFile)
        ...
        ActiveWorkbook.Close SaveChanges:=True
    Else
        'Note: I understand that this check should be redundant
        Set nExcel = GetObject(, "excel.application") 'gives error 429 if Excel is not open
        If Err = 429 Then
            Set nExcel = CreateObject("excel.application") 'create
            Err.Clear
        End If
        'Set nWB = nExcel.documents.Add
        ...
        ActiveWorkbook.Close SaveChanges:=True
    End If
好的,语句的If块可以工作。在Else块中,我能找到的唯一与创建不存在的文件相关的帖子是:


显然Word和Excel不一样,希望它们有相似的语法是一个牵强的梦想。但是,我继续尝试了它,它一直运行到我设置nWB=nExcel.documents.Add的注释行,运行时错误438:对象不支持此属性或方法。

您不需要设置nExcel行。这用于从另一个应用程序(在Windows上)控制excel。您只需创建一个新的“工作簿”,由于您已经在Excel中,因此上下文已经存在,因此您只需将其替换为该工作簿并删除错误检查:

Workbooks.Add

您不需要
设置nExcel
行。这用于从另一个应用程序(在Windows上)控制excel。您只需创建一个新的“工作簿”,由于您已经在Excel中,因此上下文已经存在,因此您只需将其替换为该工作簿并删除错误检查:

Workbooks.Add

您不需要
设置nExcel
行。这用于从另一个应用程序(在Windows上)控制excel。您只需创建一个新的“工作簿”,由于您已经在Excel中,因此上下文已经存在,因此您只需将其替换为该工作簿并删除错误检查:

Workbooks.Add

您不需要
设置nExcel
行。这用于从另一个应用程序(在Windows上)控制excel。您只需创建一个新的“工作簿”,由于您已经在Excel中,因此上下文已经存在,因此您只需将其替换为该工作簿并删除错误检查:

Workbooks.Add