
Eliminé mis fuentes RSS en Outlook 2013 a través de Archivo> Configuración de cuenta> Fuentes RSS
Sin embargo, las fuentes RSS todavía están disponibles en el lado izquierdo de Outlook 2013. Pensé que tendría que cerrar y volver a abrir Outlook 2013 para que los cambios [eliminación de fuentes RSS] surtieran efecto, pero no sucede nada. Entonces, ¿qué está pasando y qué debo hacer?
Respuesta1
Te debe encantar lo consistente que Microsoft no es con sus convenciones de interfaz de usuario, como la selección múltiple mediante Shift/Ctrl-clic: a veces funcionan, a veces no, y resulta ser la forma más sencilla de resolver esto. El problema es mediante la automatización de Visual Basic.
nota preliminar: Probé esto en Outlook 2007, que es la única versión a la que tengo acceso actualmente; Dicho esto, según mi experiencia, la API de Outlook VBA es generalmente bastante estable y no esperaría que cambiara tan drásticamente en solo dos versiones principales como para impedir que funcione el siguiente código. Si falla, comente describiendo su mal comportamiento con el mayor detalle posible e intentaré depurarlo.
Comience abriendo el editor VBA mediante Alt- F11. (Si eso no funciona, puede abrir el editor desde la pestaña Desarrollador, que primero deberáagregar a la cinta. Esto se hace haciendo clic en la pestaña Archivo, luego en Opciones; En la ventana Opciones, haga clic en "Personalizar cinta" en el panel izquierdo, seleccione "Pestañas principales" en el menú desplegable "Personalizar cinta" y marque la casilla "Desarrollador". Una vez que tenga la pestaña Desarrollador, selecciónela y luego haga clic en "Visual Basic".)
En el editor de Visual Basic, expanda "Proyecto1" y luego "Objetos de Microsoft Office Outlook"; luego, haga clic derecho en "ThisOutlookSession" y elija "Insertar", luego "Módulo". Esto debería mostrarle una ventana en blanco titulada "Proyecto1 - Módulo1 (Código)". En esa ventana, pegue lo siguiente, que originóaquí:
Private Function GetFolder(ByVal FolderPath As String) As Outlook.folder
Dim TestFolder As Outlook.folder
Dim FoldersArray As Variant
Dim i As Integer
On Error GoTo GetFolder_Error
If Left(FolderPath, 2) = "\\" Then
FolderPath = Right(FolderPath, Len(FolderPath) - 2)
End If
'Convert folderpath to array
FoldersArray = Split(FolderPath, "\")
Set TestFolder = Application.Session.folders.Item(FoldersArray(0))
If Not TestFolder Is Nothing Then
For i = 1 To UBound(FoldersArray, 1)
Dim SubFolders As Outlook.folders
Set SubFolders = TestFolder.folders
Set TestFolder = SubFolders.Item(FoldersArray(i))
If TestFolder Is Nothing Then
Set GetFolder = Nothing
End If
Next
End If
'Return the TestFolder
Set GetFolder = TestFolder
Exit Function
GetFolder_Error:
Set GetFolder = Nothing
Exit Function
End Function
Private Sub DeleteFolders(ByVal oFolder As Outlook.folder)
Dim folders As Outlook.folders
Dim folder As Outlook.folder
Dim foldercount As Integer
On Error Resume Next
Set folders = oFolder.folders
foldercount = folders.Count
If foldercount Then
For Each folder In folders
folder.Delete
DeleteFolders folder
Next
End If
End Sub
Sub DeleteAllRssFeedsFolders()
Dim folder As Outlook.folder
' If your PST isn't loaded under the name "Personal Folders", then edit the
' folder path below and replace "Personal Folders" with whatever name heads
' the folder tree whose RSS feed contents you wish to remove.
Set folder = GetFolder("\\Personal Folders\RSS Feeds")
If Not (folder Is Nothing) Then
DeleteFolders folder
End If
End Sub
Cerca de la parte inferior, tenga en cuenta lo siguiente: GetFolder("\\Personal Folders\RSS Feeds")
. En el improbable caso de que su árbol de carpetas no tenga el nombre "Carpetas personales", deberá editar esta línea para reemplazar "Carpetas personales" con el nombre que encabece su árbol de carpetas. Si no lo hace, el código fallará, probablemente de forma silenciosa.
Una vez que haya pegado el código y realizado las modificaciones necesarias, ejecute el código presionando F5 o haciendo clic en el menú "Ejecutar" y luego en "Ejecutar Sub/UserForm". Se le pedirá que elija la macro que desea ejecutar; el único elemento de la lista, ya seleccionado, debe ser "DeleteAllRssFeedsFolders". Seleccione ese elemento si es necesario y luego haga clic en "Ejecutar". Deberías ver que las carpetas RSS comienzan a desaparecer inmediatamente; El proceso puede tardar uno o dos minutos en finalizar, especialmente con unos cientos de carpetas para eliminar, pero una vez hecho, el problema debería estar resuelto.
Si sospecha que esto es algo que querrá hacer con frecuencia, probablemente desee guardar el proyecto VBA y posiblemente también agregar un elemento de menú/cinta para invocarlo, una tarea en la que no tengo ningún interés o conocimiento particular y que Se deja por tanto como ejercicio para el lector interesado. (Si no guarda el proyecto en ningún otro momento, se le pedirá que lo guarde al cerrar Outlook; si no desea conservarlo, simplemente diga "No".)