Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 从模板保存启用宏的工作簿_Excel_Ms Access_Vba - Fatal编程技术网

Excel 从模板保存启用宏的工作簿

Excel 从模板保存启用宏的工作簿,excel,ms-access,vba,Excel,Ms Access,Vba,我正在尝试从启用宏的模板获取保存启用宏的文件的权限 我得到以下错误: 1-使用应用程序隐藏Excel模板。此工作簿部分中的visible=False 2-如果单击“是”创建无宏工作簿,则会出现以下运行时错误 3-如果单击“否”,则会出现此运行时错误 这是我正在使用的代码: Workorder = Me.TxtWorkOrder & "_" & Me.TxtActOrder Set xlapp = New Excel.Application xlapp.Visible =

我正在尝试从启用宏的模板获取保存启用宏的文件的权限

我得到以下错误:
1-使用应用程序隐藏Excel模板。此工作簿部分中的visible=False

2-如果单击“是”创建无宏工作簿,则会出现以下运行时错误

3-如果单击“否”,则会出现此运行时错误

这是我正在使用的代码:

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

您需要实际指定保存它的类型,仅指定扩展名是不够的

将给出错误的行替换为以下内容:

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


有关
SaveAs
方法的文档,请参见:)非常感谢你,埃里克。。。。我在MSDN中确实错过了