2016-08-26 3 views
0

Я отчаянно пытаюсь найти, как я могу получить доступ к JumpList через VBA.Редактировать Excel JumpList через VBA

В настоящее время у меня есть немного кода, который разрывает файл Excel на отдельные листы и сохраняет их отдельно (около 50 + листов). К сожалению, этот JumpList, к сожалению, обновляется с каждым отдельным файлом, который немного раздражает, особенно Собственные «недавно использованные файлы» Excel не обновляются.

Что я хочу сделать, это либо: a) остановить их добавление в список переходов или b) воссоздать список переходов.

Оглянувшись, самый простой способ сделать это - обратиться к WindowsAPICodePack. Либо из него, либо из библиотеки PresentationFramework. Однако я не могу для жизни меня найти, как получить доступ к ним из Excel. Я видел много ссылок на «Инструменты/AddIns/Automation». Однако я не вижу этого в своем Office 2013. Может ли кто-нибудь вообще помочь в том, как я могу включить эти ссылки или получить доступ к JumpList

+0

В vba a) остановить их добавление можно. О воссоздании, я не уверен. Дайте мне знать, если просто предотвратите список из обновленных работ для вас. Я отправлю ответ. – cyboashu

+0

Как это можно сделать? Я не могу найти никакой информации, кроме того, что я подробно описал выше. – Tom

ответ

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 
+1

Блестящий - казалось, сработал. Большое спасибо! – Tom

Смежные вопросы