Outlook невозможно переместить элементы
"Нельзя перемещать элементы. Элемент нельзя перемещать. перемещен или удален, или доступ запрещен. "
Я где-то менял настройку, не осознавая этого?
Я предлагаю закрыть Outlook и запустить инструмент scanpst.exe , чтобы не было проблем с файлом pst. Этот инструмент присутствует в
C: \ Program Files \ Microsoft Office \ Office12 \ SCANPST.EXE
Эта проблема может возникнуть, если для группы «Все» задано явное запрещение для одного из следующих разрешений в дереве общих папок:
Чтобы устранить эту проблему, удалите явную группу Deny for the Everyone в этих разрешениях:
Запустите диспетчер Exchange System Manager.
Под объектом Folders щелкните правой кнопкой мыши объект Public Folders и затем нажмите «Свойства».
Перейдите на вкладку «Безопасность» и выберите группу «Все».
Нажмите, чтобы снять флажок «Запретить» для следующих трех разрешения:
Нажмите «Применить», а затем нажмите «ОК», чтобы закрыть свойства.
1. Закройте внешний вид, перейдите в локальный файл данных приложения, в котором хранится ost. В Windows 7/8 /Vista вы можете пропустить % localappdata% \ Microsoft \ outlook в проводнике Windows, затем нажмите Войдите, чтобы открыть папку.
Это случилось со мной несколько раз. Я узнал, что это связано с определенным pst folder , поэтому я закрываю его и снова открываю .pst-файл, и это обычно фиксирует для меня.
Эти методы работали для меня, используя Office 15 под управлением Windows 7.
Попробуйте перетащить элементы в электронную почту, где они добавлены в виде вложений, а затем перетащите вложения в другую папку, чтобы создать неповрежденные версии.
Я знаю, что это очень старый вопрос, но, видя проблему даже в Office365, я подумал о том, чтобы добавить более легкое решение, которое работает для меня.
Похожие вопросы
Популярные теги
Ошибка перемещения писем в Outlook
И так, ситуация такая, сотрудник создает в папке входящие, новую папку под определенные задачи для дальнейшего расфасовывания почты в нее, при попытке переместить письмо, сотрудник видел вот такое окно с ошибкой:
Невозможно переместить элементы. Элемент невозможно переместить. Он уже был перемещен или удален, либо был запрещен доступ, либо сервер недоступен.
Самое интересное, что письмо в этот момент переместилось в нужную папку, но и оставило дубль на старом месте. Начав изучение данного вопроса, однозначного ответа на него найти, сразу не удалось, многие из них сводились к настройкам на Exchange сервере, но у меня-то это просто IMAP ящик в программе Microsoft Outlook. Не буду вас томить с ответом и сразу расскажу решение, тут все дело в повредившемся файле ost, который мы будем восстанавливать.
Нам поможет утилита SCANPST.EXE. Вот пути расположения данной утилиты для разных версий Outlook:
- Outlook 2016: C:\Program Files (x86)\Microsoft Office\root\Office16
- Outlook 2013: C:\Program Files (x86)\Microsoft Office\Office15
- Outlook 2010: C:\Program Files (x86)\Microsoft Office\Office14
- Outlook 2007: C:\Program Files (x86)\Microsoft Office\Office12
Запускаем SCANPST.EXE, в открывшемся окне нужно пройти несколько этапов. На первом из них, вам необходимо выбрать ваш файл профиля pst или ost, через кнопку "Обзор"
Нажимаем начать и у вас стартует процесс восстановления и исправления ошибок.
Вам необходимо пройти 8 этапов, по прошествии которых вы получите результат работы, учтите, что время обработки сильно зависит от:
-
, который может достигать и 50 гб
- Скорости работы вашего жесткого диска
Как видите у меня обнаружились ошибки, нажимаем восстановить.
Все пробуем перетаскивать ваши письмо, в 90% случаев это вам поможет. Надеюсь, вы смогли решить ошибку: Невозможно переместить элементы. Элемент невозможно переместить. Он уже был перемещен или удален, либо был запрещен доступ, либо сервер недоступен. Если у вас есть другие методы ее решения, то просьба о них написать и поделиться.
В Microsoft Outlook имеется открыть общий почтовый ящик.
При попытке переместить папку из общего почтового ящика в личном почтовом ящике.
Папку, в которой вы пытаетесь переместить содержит одну или несколько подпапок.
Не удается переместить элементы. Невозможно скопировать папку, так как она может содержать личные элементы.
Причина
Данное поведение является особенностью при наличии одной или нескольких папок в папку, в которой вы пытаетесь переместить.
Обходное решение
Для временного решения этой проблемы воспользуйтесь одним из следующих способов.
Метод 1: Создайте структуру папок в почтовом ящике, а затем переместить элементы из общего почтового ящика в структуре папок в почтовом ящике
Реплицировать структура папок папки, которые необходимо переместить из общего почтового ящика в почтовом ящике. Это можно сделать, создав новую папку и затем создать дополнительные папки в этой папке. Чтобы сделать это, выполните следующие действия.
Введите предпочитаемое имя для папки. Имя этой папки будет таким же, как имя общего почтового ящика в исходной папке. Тем не менее может быть другое имя, если вы предпочитаете.
Щелкните правой кнопкой мыши созданную новую папку и выберите команду Создать папку. Введите имя для этой папки.
Повторите шаг 1C для остальных папок, которые необходимо создать для репликации исходной структуры папок.
Переместите элементы из исходной папки в общий почтовый ящик в новые папки, созданной на этапе 1:
В общий почтовый ящик выберите папку, которую требуется переместить.
Нажмите клавиши CTRL+A, чтобы выделить все содержимое папки.
На вкладке " Главная " на ленте выберите команду переместитьи нажмите кнопку Другие папки.
Выберите папку, созданную на этапе 1 и нажмите кнопку ОК.
Повторите действия с 2а по 2D для других папок в этой папке.
Метод 2: Экспортировать папку, которую требуется переместить файл PST, а затем импортировать его в свой собственный почтовый ящик
Экспортируйте папку из общего почтового ящика в PST-файл:
В Outlook выберите папку общего почтового ящика, который требуется переместить.
Откройте этот Импорт и экспорт. Чтобы сделать это, выполните шаг для вашей версии программы Outlook.
Выберите Экспорт в файл, а затем нажмите кнопку Далее.
Выберите Файл данных Outlook (.pst)и нажмите кнопку Далее.
Убедитесь, что выбрана папка в общий почтовый ящик, который нужно переместить, позволяют Включить вложенные папкии нажмите кнопку Далее.
Перейдите к расположению, где требуется сохранить PST-файл, введите имя файла и нажмите кнопку ОК.
Импорт файла PST в почтовый ящик:
Откройте этот Импорт и экспорт. Чтобы сделать это, выполните шаг для вашей версии программы Outlook.
Выберите пункт Импорт из другой программы или файла, затем нажмите кнопку Далее.
Выберите Файл данных Outlook (.pst)и нажмите кнопку Далее.
Найдите и выберите PST-файл, созданный на шаге 1 и нажмите кнопку Открыть.
Выберите импортировать в такую же папку в:, а затем выберите почтовый ящик из раскрывающегося списка.
Способ 3: Назначить делегата из общего почтового ящика и назначить разрешения владельца папки
Разрешить другому пользователю управлять почта и календарьВойдите в систему для общего почтового ящика в Outlook и предоставляют права представителя себе:
Войдите в Outlook общего почтового ящика.
Выберите в меню файл, выберите пункт Параметры учетной записии нажмите кнопку Доступ представителя.
Введите свое имя или поиск и затем щелкните свое имя в списке результатов поиска.
Отметьте опцию Представителю доступны частные разделы и нажмите кнопку ОК.
Щелкните правой кнопкой мыши папку верхнего уровня и выберите Разрешения для папки. Папка верхнего уровня отображается как адрес электронной почты общего почтового ящика.
Если вы не перечислены на вкладке разрешения, добавьте свое имя. Чтобы сделать это, выполните следующие действия.
Выберите имя из списка, или найдите и выберите имя из результатов поиска.
Выделить свое имя, а затем выберите владельца для Уровня разрешений.
Правой кнопкой мыши папку, которую нужно переместить и выберите команду Свойства.
На вкладке « разрешения » Если не указан, добавьте свое имя. Чтобы сделать это, выполните следующие действия.
Выберите имя из списка, или найдите и выберите имя из результатов поиска.
Выделить свое имя, а затем выберите владельца для Уровня разрешений.
Мне интересно, возможно ли, что эта ошибка могла привести к удалению писем? Я пытался переместить некоторые письма из полного общего почтового ящика в личный кабинет, чтобы восстановить возможности отправки / получения. Оказалось, что моя личная электронная почта также была заполнена, хотя, похоже, что несколько писем в общем почтовом ящике были полностью удалены из обеих учетных записей. Это возможно? В то время коллега просматривал те же предметы, если это имело какое-либо отношение.
Можно ли найти их и вернуть обратно?
1 ответ 1
Что это обычно означает
Я был бы удивлен, если бы из-за этой ошибки были удалены какие-либо электронные письма. Обычно это происходит из-за того, что элементы удаляются из почтового ящика на сервере или в папке, где они находятся, но все еще отображаются в представлении клиента MAPI. Поэтому, когда вы идете манипулировать с точки зрения, они не могут быть найдены, и, следовательно, эта ошибка.
Вероятная причина
Эти электронные письма, вероятно, были случайно удалены или перемещены кем-то, у кого есть доступ, но журналы сервера электронной почты, если это применимо, дадут подсказку, с какого IP-адреса они были удалены и т.д.
Таким образом, электронные письма могли быть "удалены" или "перемещены", и ваше представление не было обновлено, а затем вы получили ошибку, когда начали манипулировать оттуда.
восстановление
Восстановление зависит от многих факторов, таких как резервное копирование, политика очистки / хранения почтового сервера от удаленных элементов и, я уверен, многих других.
Вы можете попытаться выполнить поиск во всех папках электронной почты этого почтового ящика и / или других почтовых ящиков, подключенных к клиентам MAPI на компьютерах любых людей, имеющих доступ к этому почтовому ящику, и, возможно, их можно найти в другом месте, а затем переместить обратно.
В противном случае администраторы сервера электронной почты ИТ или ваш персонал ИТ-поддержки должны быть в состоянии помочь с восстановлением и лучше понять настройку вашей системы, чтобы помочь соответствующим образом. Я знаю, что с Exchange и различными конфигурациями удаленные элементы клиента легко восстанавливаются, но это зависит.
* Два способа переместить почтовый элемент в пользовательскую папку после отправки.
* Решение на клиентской стороне, не зависящее от поставщика почтового сервера.
* Лучшие способы распространения кода VBA среди пользователей.
Ограничения подхода на основе правил
Экран 1. Использование мастера Rules Wizard для применения правила к отправленным элементам |
Экран 2. Диалоговое окно выбора папки для мастера правил |
Экран 3. Диалоговое окно «Параметры ?почты» |
Решение VBA: используем события Send почтового элемента
Разочаровавшись в правилах и параметрах, я засучил рукава, приготовил кофе и взялся за работу.
Куда поместить код?
Один из основных вопросов, которые приходится решать при проектировании управляемых событиями программ, заключается в поиске места для размещения кода обработки событий. В случае неправильного выбора программа может оказаться неустойчивой. Подходящих вариантов может быть несколько, но в большинстве случаев одно из мест лучше остальных.
Я вспомнил о событии ItemAdd() папки назначения. Оно возникает всегда, когда в коллекцию Items добавляется один или несколько элементов. Но по зрелом размышлении я понял, что этому событию свойственны те же проблемы временного согласования, что и событию MailItem_Send(). Кроме того, необходимо дублировать программный код для всех папок назначения. Дублировать исходный текст не годится, забудьте об этой идее.
Экран 4. Папки Outlook |
Можно добраться до нужной папки с помощью кода:
BUSINESS_FOLDER — константа для имени папки. oBusinessFolder можно напрямую передать в подпрограмму MailItem.Move(), как требуется для объекта MAPIFolder. Аналогичным образом можно получить вложенную папку с помощью свойства коллекции Folders:
Set ObjFolder = Application.Session.GetDefaultFolder(olFolderInbox).Folders(" »)
Visual Basic Editor
Все приложения Microsoft Office поставляются с полнофункциональной средой разработки, именуемой Visual Basic Editor. Она обеспечивает интерфейс для доступа к объектным моделям приложения через программный код. В результате пользователь может вызывать методы объектов, задавать методы объектов и отвечать на события объектов. Для этих целей используется код VBA, особое подмножество языка Visual Basic.
Для доступа к Visual Basic Editor и другим инструментам разработки на ленте Office имеется вкладка Developer («Разработчик»). Но по умолчанию эта вкладка отключена, чтобы уменьшить уязвимость для вирусов и других вредоносных программ. Прежде чем воспользоваться этой вкладкой, необходимо выполнить следующие шаги.
1. В Outlook выберите Outlook Options («Параметры Outlook») на вкладке File («Файл»), чтобы открыть диалоговое окно Outlook Options.
2. В диалоговом окне Outlook Options нажмите кнопку Trust Center («Центр управления безопасностью»).
3. Щелкните Trust Center Settings («Параметры центра управления безопасностью»), а затем выберите параметр Macro Settings («Параметры макросов») слева.
4. Выберите удобный уровень безопасности Macro, с учетом того, что этот параметр влияет как на ваши, так и чужие макрокоманды. Если разрешить все макрокоманды, то Outlook будет отображать приглашение каждый раз при запуске макрокоманды. Таким образом, пользователь может решить, нужно ли запускать макрокоманду. Этот режим называется Notifications for all macros («Уведомления для всех макросов»).
5. Перезапустите Outlook, чтобы изменения вступили в силу.
Кнопка Visual Basic, которую мы видим на экране 5, находится на дальнем левом краю вкладки Developer. На экране 6 показан Visual Basic Editor.
Экран 5. Вкладка «Разработчик» с кнопкой Visual Basic |
Экран 6. Visual Basic Editor с видимой областью проверки |
Событие MailItem Send()
Чтобы события объекта были доступны в раскрывающемся списке Declarations («Объявления») в Visual Basic Editor (экран 7), нужно воспользоваться ключевым словом WithEvents для объявления объекта.
Экран 7. Раскрывающийся список «Объявления» в?Visual?Basic Editor |
Следующие объявления объектов позволяют обратиться к событию MailItem Send():
Коллекция Inspectors содержит объекты Inspector для всех открытых инспекторов (то есть окно, в котором отображается информация об элементе Outlook). Ссылка на коллекцию Inspectors задается в событии Application_StartUp():
End Sub
Привязка oMsg к текущему инспектору
Inspector, переданный подпрограмме, имеет свойство CurrentItem, которое относится к элементу, просматриваемому пользователем. Проверив свойство Class этого элемента, можно определить, действительно ли это почтовый элемент. Для такой цели можно воспользоваться константой с именем olMail. Также необходимо проверить уникальную строку идентификатора, которую поставщик хранилища Messaging API (MAPI) назначает при создании элемента в хранилище. Поэтому свойство EntryID назначается элементу Outlook только после того, как элемент сохранен или отправлен. Эта проверка, выполняемая фрагментом кода с меткой A в листинге 1, отличает новые элементы электронной почты от существующих. Назначение почтового элемента таким способом приводит к возникновению его событий, в том числе события Send.
Событие oMsg_Send в действии
Экран 8. Пример вывода события oMsg_Send Event |
Экран 9. Коллекция получателей MailItem |
Экран 10. Проверка правила отправки |
Альтернативное решение: использование события Items_ItemAdd папки Sent Items
Получение доступа к событию Items_ItemAdd() папки Sent Items
Событие ItemAdd() является членом объекта коллекции Items, поэтому необходимо использовать ключевое слово WithEvents в верхней части модуля ThisOutlookSession для объявления объекта типа Items:
Измененный код правила
Событие oSentItems_ItemAdd в действии
Экран 11. Пример события SentItems_ItemAdd |
Экран 12. Проверка правила отправки для MailItems |
Добавление других типов элементов не составляет труда; просто измените инструкцию If в Select Case и укажите целевые типы в списке с разделителями запятыми, как показано в листинге 4.
Запуск макрокоманды Move Sent MailItems по требованию
Простота и безопасность
Итак, в этой статье я рассказал о том, как использовать программный код VBA для расширения возможностей встроенных правил и параметров Outlook 2010. В частности, здесь показано два способа перемещения почтовых элементов в папку пользователя после отправки. Описанный метод гораздо безопаснее и проще многих решений, в которых применяются сложные процессы с временной синхронизацией, подверженные ошибкам вызовы Windows API или сторонние DLL-библиотеки. На клиентской стороне решение не зависит от поставщика почтового сервера и не привязано к Exchange Server. Более того, оно применимо для компании с любым количеством пользователей — от 50 до 5000.
Остается лишь найти оптимальный способ распространения кода VBA. Сделать это можно по-разному, причем в одних случаях требуется содействие пользователей, а в других можно действовать дистанционно:
* использовать команду File | Export (Файл | Экспорт) в VBA-среде Outlook для экспорта модулей как файлов. bas,. cls или. frm;
* копировать файл VbaProject.otm с компьютера, на котором были подготовлены макрокоманды, на компьютеры других пользователей, заменив существующий файл VbaProject.otm;
* использовать мастер Office Profile Wizard (Proflwiz.exe) для распространения проекта VBA.
Дополнительные материалы
«Microsoft Outlook Programming: Jumpstart for Administrators, Developers, and Power Users» Сью Мошер
Листинг 1. Код ThisOutlookSession для решения oMsg_Send
Листинг 2. Код ThisOutlookSession для решения Items_AddItem
Листинг 3. Программный код для обработки нескольких почтовых ящиков
Листинг 4: Программный код для добавления типов элементов
Читайте также: