通过VBA编辑Excel JumpList

时间:2016-08-26 12:27:26

标签: vba excel-vba excel

我拼命想找到如何通过VBA访问JumpList。

我目前有一些代码将Excel文件拆分成单独的表并将它们全部分开保存(大约50张以上)这不幸地触发了JumpList更新每个单独的文件,这有点烦人,尤其是Excel的自己的“最近使用的文件”没有得到更新。

我想要做的是a)停止将它们添加到跳转列表中或b)重新创建跳转列表。

查看最简单的方法是引用WindowsAPICodePack。从它本身或PresentationFramework库。但是我不能为我的生活找到如何从Excel访问这些。我已经看过很多对'Tools / AddIns / Automation'的引用但是我在Office 2013中看不到它。任何人都可以帮助我如何包含这些引用或访问JumpList

1 个答案:

答案 0 :(得分:0)

VBA解决方法是将Excel的跳转列表文件设置为只读,然后无论你做什么,列表都不会更新。一旦完成并想要恢复列表更新功能,只需将文件属性设置为正常。

Sub manageJumpList(bAllowAdd As Boolean)

    Dim strJumpFile         As String

    '/ Excel's Jump Location
    strJumpFile = Environ("userprofile") & _
    "\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\b8ab77100df80ab2.automaticDestinations-ms"

    If Not bAllowAdd Then
        '/Stop from updating
        SetAttr strJumpFile, vbReadOnly
     '<<After doing this, whatever files you open, they will not be added to recent list>>
    Else
        '/ Allow to update
        SetAttr strJumpFile, vbNormal
    End If

End Sub


Sub test()

    '/ Stop  Updating JumpList
    Call manageJumpList(False)

    '/ Start  Updating JumpList
    'Call manageJumpList(True)

End Sub