Согласно официальной документации , это должно быть удивительно просто:
<TextBlock>
<Hyperlink NavigateUri="..\\..\\MyDoc.doc#BookmarkName"
RequestNavigate=”Hyperlink_RequestNavigate”>
Open the Word file
</Hyperlink>
</TextBlock>
private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e)
{
Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri));
e.Handled = true;
}
Однако существует консенсус по много неофициальных страниц, на которых это работает
- с
.doc
файлами (без файлов Office 2007 .docx
) и, к сожалению - только с Office 2003
Попытка использовать это с .docx
файлами приведет к ошибке.Использование этого с .doc
файлами в Office 2007 и выше откроет документ, но на первой странице.
Вы можете обойти ограничения Office 2007 и выше, используя AutoOpen макросы, здесь вы узнаете, как передать аргумент макроса в Word.Для этого потребуется изменить все документы, которые будут использоваться с этой системой (и поставить дополнительные вопросы об использовании макросов).