【问题标题】:Edit Excel JumpList via VBA通过 VBA 编辑 Excel JumpList
【发布时间】:2016-08-26 12:27:25
【问题描述】:

我正在拼命寻找如何通过 VBA 访问 JumpList。

我目前有一些代码可以将 Excel 文件撕成单独的工作表并分别保存它们(大约 50 多张工作表),不幸的是,这会触发 JumpList 与每个单独的文件一起更新,这有点烦人,尤其是作为 Excel 的自己的“最近使用的文件”没有得到更新。

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

环顾四周,最简单的方法是参考 WindowsAPICodePack。来自它本身或 PresentationFramework 库。但是,我终生无法找到如何从 Excel 访问这些内容。我已经看到很多对“工具/插件/自动化”的引用但是我在我的 Office 2013 中看不到。任何人都可以帮助我如何包含这些引用或访问 JumpList

【问题讨论】:

  • 在 vba a) 中阻止它们被添加可以做到。关于重建,我不确定。如果只是阻止列表需要更新,请告诉我。我会发布答案。
  • 怎么办?除了我上面详述的以外,我找不到任何信息

标签: vba excel


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-09-23
    • 1970-01-01
    • 2020-02-10
    • 2014-05-05
    • 2012-12-05
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多