2

Я вижу, что есть похожие вопросы, опубликованные, но ни одно из решений не работает или они предназначены для разных версий Excel и Windows. Позвольте мне попробовать вопрос, специфичный для моей ситуации.

Проблема (раздражение): когда я дважды щелкаю по файлу .xslx , выбираю из последних документов и т.д., Запускается Excel. Тем не менее, он запускается без открытия файла. Там не отображается сообщение об ошибке. Файл открывается нормально, если я открываю его из Excel ; Я просто не могу запустить Excel с загруженным файлом. Я использую Windows 7 и Office 365.

Что я пробовал:

  • Отключение параметров -> Дополнительно -> Общие -> Игнорировать другие приложения, использующие DDE. Просто ради интереса, я даже попробовал с этим включенным и после его повторного отключения.
  • .xslx с Excel и повторное ассоциирование
  • Выполнение ремонта в Excel
  • Обновление версии (это корпоративная установка, где мне отправляют исправления)
  • Проверка журналов приложений Windows в средстве просмотра событий; при попытке запуска файла ошибок не возникает.
  • Когда я запускаю Excel непосредственно из командной строки с указанным документом, то есть "C:\Program Files\Microsoft Office 15\root\office15\EXCEL.EXE" "C:\Path\to\my\file.xlsx" , он запускает как положено. Это заставляет меня думать, что проблема заключается в моей конфигурации Windows, а не в Excel.
  • assoc .xlsx показывает .xlsx=Excel.Sheet.12
  • ftype Excel.Sheet.12 показывает Excel.Sheet.12="C:\Program Files\Microsoft Office 15\Root\Office15\EXCEL.EXE" /dde
  • Другие, у которых есть рабочий запуск файла, имеют те же настройки assoc и ftype .
  • Команда контекстного меню "Редактировать" в Проводнике имеет ту же проблему, что и "Открыть".

Что я не могу попробовать:

  • Изменение конкретных деталей ассоциации файлов; Типы файлов в параметрах папки в проводнике не существуют в Windows 7, поэтому я не могу изменить параметры командной строки. Я, однако, проверил ассоциации файлов в Windows 7.

Любая идея, что может заставить Windows не запускать Excel, как ожидалось при открытии файла?

Больше подсказок:

Глядя на запущенный процесс, путь к документу полностью отсутствует в командной строке; это все, что было запущено:

"C:\Program Files\Microsoft Office 15\Root\Office15\EXCEL.EXE" /dde

Каким-то образом файл не добавляется в командную строку.

2 ответа2

2

Я просто хотел добавить другое решение к точно таким же симптомам (его можно открыть с помощью командной строки и путем просмотра в Excel, но не из проводника), которое можно объяснить отсутствующими ключами реестра DDEExec.

Пример:

HKEY_CLASSES_ROOT\Excel.Addin\shell\Open\ddeexec
HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\ddeexec

Эти ключи будут отсутствовать для каждого родительского ключа:

HKEY_CLASSES_ROOT\Excel*\

Мой обходной путь заключался в том, чтобы экспортировать каждый ключ на рабочий компьютер (с теми же версиями Excel) и импортировать их в проблемную систему. В то время я не думал использовать PowerShell, поэтому вы автоматизируете только половину решения. Этот однострочник импортирует все ключи .reg в указанную вами папку.

gci "PATH TO FOLDER CONTAINING .REG FILES" |select -expandp fullname|%{&([scriptblock]::create("regedit /s $_"))}
0

Я нашел обходной путь. Странно для меня то, что это работает без этих изменений для других, поэтому было бы полезно получить больше ответов, если кто-то узнает больше о внутренней работе оболочки. Введя это в командную строку с повышенными правами (добавив %1):

Тип Excel.Sheet.12 = "C:\Program Files\Microsoft Office 15\Root\Office15\EXCEL.EXE" /dde "% 1"

... путь к файлу теперь передается в Excel, и запуск файла теперь работает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .