0

我在 Access 2007 中有一个应用程序,它正在创建一个带有N个工作表的工作簿,我创建了一个要插入到该工作簿中的宏,它工作得非常好。但下一步是为 Marco 添加一个快捷键,到目前为止我已经看到了在线方法来提供帮助。第一次尝试没有错误,但也没有分配快捷键

1) Excel_App.OnKey "^{h}", "Sheet1.HideChange"

2)Excel_App.MacroOptions Macro:="Sheet1.HideChange", Description:="Hide Columns in Line Level", hasshortcutkey:=True, ShortcutKey:="h"

我的变量分配给我的方法

Dim Excel_App As Excel.Application
Dim wkb As Excel.Workbook
Dim wks, wks2, wks3, wks4, wks5, wks6, wks7, wks8 As Excel.Worksheet
Dim i As Integer
Dim xlmodule As Object 'VBComponent
Dim coaches As Recordset
Set Excel_App = New Excel.Application
Excel_App.Visible = False
Set wkb = Excel.Workbooks.Add

下面是我上次放置快捷方式的位置,我尝试在保存前后移动代码行,但我仍然得到 1004 错误。

    With wkb


             ActiveSheet.Move Before:=Worksheets(1)
            .Title = "CHANGE REQUEST"
            .Subject = "CHANGE REQUEST"

                      ' Add a macro to the module...
                     Dim strCode As String
                     strCode = _
                        "Sub HideChange()" & vbCr & _
                        "  Columns(""A:A"").Select Selection.EntireColumn.Hidden = True  " & vbCr & _
                        "end sub"
                    Dim module As VBComponent
                    Set module = wkb.VBProject.VBComponents(2)
                    module.CodeModule.AddFromString strCode
             Excel_App.MacroOptions Macro:="Sheet1.HideChange", Description:="Hide Columns in Line Level", hasshortcutkey:=True, ShortcutKey:="h"
            .SaveAs FileName:=strDir & "\CHANGE REQUEST FORM.xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled

            .Close
    End With

 Excel_App.Quit

谁能帮我弄清楚这是如何工作的?如果您需要我的问题的更多详细信息,请询问,谢谢您的时间!

4

1 回答 1

0

尝试从“Sheet1.HideChanges”中删除“Sheet1”,这不是必需的(或正确的)。

宏选项:MSDN OnKey:MSDN

于 2013-10-22T19:02:04.680 回答