我希望能够在Word文档中运行一个宏来创建一个Excel文档,然后将该电子表格保存在共享文件夹中。
这是我到目前为止的代码:
Public Sub Monthly_Commission_Extract()
Dim objExcel
Dim objDoc
Dim objSelection
Dim SaveAs1 As String
SaveAs1 = ("\\stnlinasshd01\P403759\Month End\Monthly Commission Extract\1st Save")
Set objExcel = CreateObject("Excel.Application")
Set objDoc = objExcel.Workbooks.Add
objExcel.Visible = True
Set objSelection = objExcel.Selection
ActiveWorkbook.SaveAs FileName:=SaveAs1, FileFormat:=-4158, CreateBackup:=False
Application.DisplayAlerts = True
End Sub
代码给了我一个错误:
运行时错误'424':需要对象
在以下代码中:
ActiveWorkbook.SaveAs FileName:=SaveAs1, FileFormat:=xlText, CreateBackup:=False
请告知我如何解决这个问题。
答案 0 :(得分:1)
objExcel.ActiveWorkbook.SaveAs
不仅仅是
ActiveWorkbook.SaveAs
“属于”Excel的任何内容都必须以objExcel
应用程序参考为前缀。
答案 1 :(得分:0)
下面是一个简单直接的代码,用于创建一个新的 Excel 工作簿并将其保存到本地磁盘上的路径中。此 VBA 代码已在 MS Word 中进行了测试。
Private Sub CreateExcel()
Dim myExcel As Object
Dim myWb As Object
Set myExcel = CreateObject("Excel.Application")
Set myWb = myExcel.Workbooks.Add
Application.DisplayAlerts = False
myWb.SaveAs FileName:="D:\test\dump.xls"
Application.DisplayAlerts = True
myWb.Close False
Set myWb = Nothing
myExcel.Quit
Set myExcel = Nothing
End Sub
在您的情况下,以下内容会起作用,因为 'objDoc' 派生自 excel 对象引用。
objDoc.SaveAs FileName:=SaveAs1, FileFormat:=-4158, CreateBackup:=False
答案 2 :(得分:0)
哦,船长,是的,我的船长, 错误消息清楚地表明丢失了一个对象,我认为这一行 SaveAs1 = ("\stnlinasshd01\P403759\月末\月度佣金提取\第一次保存") 问题是你应该用一个 SET-Statement 来解决这个问题,通过以“SET”开始这一行,然后你就有了所需的对象。