2017-08-14 124 views
0

我试图让Access从启用宏的模板保存启用宏的文件。从模板保存启用宏的工作簿

我收到以下错误:
1- Excel模板被放在ThisWorkbook部分使用Application.visible =假

This is the error message that displays

2-然后隐藏如果我点击是使宏 - 免费工作簿中,我得到以下运行时错误 Yes-Runtime error

3-如果我点击我没有得到这个运行时错误 NO-Runtime error

这是我使用的代码:

Workorder = Me.TxtWorkOrder & "_" & Me.TxtActOrder 

Set xlapp = New Excel.Application 

xlapp.Visible = False 
Excel.Application.EnableEvents = False 

Set Wb = xlapp.Workbooks.Open("H:\Template and testers\Template\TabletTemplate.xltm") 
Set ws = xlapp.Worksheets("Profile") 

ws.Activate 
    If Me.TxtWorkOCheck = 1 Then 
     'workorder 
     With ws 
      .Range("B1") = Me.TxtWorkOrder 
      .Range("B2") = Me.TxtUserID 
      .Range("B3") = Me.TxtJobsiteID 
      .Range("B4") = Me.CboPlant.Value 
      .Range("B5") = Me.CboArea.Value 
      .Range("B6") = Me.TxtScaffoldID 
      .Range("B7") = Me.TxtActOrder 
      .Range("B10") = output 
      .Range("B11") = Me.TxtFuncLocation 

     End With 
    Else 
     'sub-workorder 
     With ws 
      .Range("B8") = Me.TxtWorkOrder 
      .Range("B2") = Me.TxtUserID 
      .Range("B3") = Me.TxtJobsiteID 
      .Range("B4") = Me.CboPlant.Value 
      .Range("B5") = Me.CboArea.Value 
      .Range("B6") = Me.TxtScaffoldID 
      .Range("B9") = Me.TxtActOrder 
      .Range("B1") = Me.TxtAssoWorkOrder 
      .Range("B10") = output 
      .Range("B11") = Me.TxtFuncLocation 
      .Range("F1") = 0 
     End With 
    End If 

xlapp.Worksheets("ScaffoldList").Activate 
Wb.SaveAs ("H:\ActiveWorkOrders\ToGather\" & Workorder & ".xlsm") 
Excel.Application.EnableEvents = True 

Wb.Close 
Set xlapp = Nothing 

回答

1

实际上你需要指定你保存为类型,指定的扩展名是不够的。

替换行由以下给出错误:

Wb.SaveAs "H:\ActiveWorkOrders\ToGather\" & Workorder & ".xlsm", xlOpenXMLWorkbookMacroEnabled

this MSDN page对文档的SaveAs方法

+0

那么细,然后让它这么简单! :)非常感谢Erik ....我确实想念MSDN –