В моем приложении C# Winforms у меня есть элемент управления WebBrowser, в котором я хочу показать документ Word. Я показываю документ, вызывая webBrowser1.Navigate(myDocName)
.Как открыть документ Word 2013 в элементе управления WebBrowser на C# Winform?
Это прекрасно работает для документов через Word 2003.
Для Word 2007 и 2010 годах, это вызвало слово, чтобы открыть документ в новом созданном экземпляре Word, а не на Winform, содержащий WebBrowser. Я был в состоянии исправить это, добавив следующие записи реестра на клиентской машине (обратите внимание, что это может быть сделано для Excel, а также - значение для записи является (int)0x80000A00
, а классы \Excel.Sheet
вместо \Word.Document
):
int wordFlagValue = (int)0x80000024;
Common.SaveToRegistryLocalMachine(@"SOFTWARE\Classes\Word.Document.8", "BrowserFlags", wordFlagValue);
Common.SaveToRegistryLocalMachine(@"SOFTWARE\Classes\Word.Document.12", "BrowserFlags", wordFlagValue);
Примечание: Common.SaveToRegistryLocalMachine()
это просто функция упаковщик написать запись реестра в HKEY_LOCAL_MACHINE
проблема заключается в том, что некоторые клиенты теперь имеют Слово 2013 установлен, и новая проблема экземпляра Слово снова появился. Я попытался добавить следующие записи реестра (чтобы отразить новые версии Word), но никакого эффекта:
Common.SaveToRegistryLocalMachine(@"SOFTWARE\Classes\Word.Document.14", "BrowserFlags", wordFlagValue);
Common.SaveToRegistryLocalMachine(@"SOFTWARE\Classes\Word.Document.15", "BrowserFlags", wordFlagValue);
Любые идеи о том, как обойти эту проблему?
Нет Word 2005 или Word 2008. – Dai
Исправленные годы – qwerty13579
Если бы мне пришлось это решить, я бы использовал что-то вроде [Aspose.Words] (http://www.aspose.com/.net/word-component .aspx) (стоит определенная сумма!), чтобы сделать документ Word на изображения и отобразить изображения в элементе управления изображением или аналогичным. –