2016-08-26 3 views
0

VBA를 통해 JumpList에 액세스하는 방법을 필사적으로 찾으려고합니다.VBA를 통해 Excel JumpList 편집

현재 Excel 파일을 별도의 시트로 분리하고 모두 따로 저장하는 코드가 있습니다 (약 50 개 이상). 불행히도 JumpList가 개별 파일로 업데이트되어 개별적으로 저장됩니다. Excel의 '최근에 사용한 파일'은 업데이트되지 않습니다.

내가 원하는 것은 a) 점프 목록에 추가하지 못하게하거나 b) 점프 목록을 다시 작성하는 것입니다.

가장 쉬운 방법은 WindowsAPICodePack을 참조하는 것입니다. 그것 자체 또는 PresentationFramework 라이브러리. 그러나 나는 Excel에서 액세스하는 방법을 찾지 못했습니다. 필자는 'Tools/AddIns/Automation'에 대한 많은 참고 자료를 보았습니다. 그러나 Office 2013에서는이를 볼 수 없습니다.이 참조를 포함하거나 점프 목록에 액세스하는 방법에 대해 누구나 도와 줄 수 있습니까?

+0

vba에서 추가되는 것을 중지 할 수 있습니다. 재창조에 대해서는 확실하지 않습니다. 업데이트 된 작품을 목록에서 제외하는 경우 알려주세요. 나는 대답을 게시 할 것이다. – 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

Brilliant - 작동하는 것처럼 보입니다. 고마워요! – Tom

관련 문제