/// <summary>
/// </summary>
/// <param name="Sel"></param>
private static void Openplate(Selection Sel)
{
try
{
//章节片段总数
//Sel.Application.DisplayAlerts = WdAlertLevel.wdAlertsNone;
var acDoc = Sel.Application.ActiveDocument;
var path = acDoc.Path;
var Paragraphs = acDoc.Paragraphs;
var links = acDoc.Hyperlinks;
//获取word总页数
int pages = Sel.get_Information(WdInformation.wdNumberOfPagesInDocument);
if (links.Count == 0)
{
return;
}
var frontPath = links[1].Address;
var list = new List<string>();
foreach (Paragraph pa in Paragraphs)
{
list.Add(pa.Range.Text.Replace("\r", ""));
}
//点击所在行
int row = Sel.get_Information(WdInformation.wdFirstCharacterLineNumber);
//点击所在页,每页的段落数量不一样,计算索引取名称
int page = Sel.get_Information(WdInformation.wdActiveEndAdjustedPageNumber);
//获取指定word页中超链数量
//文件名称
var fileName = path + "\\" + frontPath.Split('/')[0] + "\\" + list[row - 1].Replace("【", "").Replace("】", "") + ".docx";
if (File.Exists(fileName))
{
new WordOperate(Sel.Application).OpenDocument(fileName, Const.Password);
}
//Sel.Application.DisplayAlerts = WdAlertLevel.wdAlertsAll;
//MessageBox.Show(string.Format("内容:{0},行{1},页{2},文件{3}", Sel.Text, row, page, fileName));
}
catch (Exception ex)
{
}
}
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
app = Globals.ThisAddIn.Application;
app.WindowSelectionChange += WindowSelectionChangeEventHandler;
}
private static void Opelate(Selection Sel)
{
try
{
var acDoc = Sel.Application.ActiveDocument;
var path = acDoc.Path;
var links = acDoc.Hyperlinks;
//获取word总页数
int pages = Sel.get_Information(WdInformation.wdNumberOfPagesInDocument);
if (links.Count == 0)
{
return;
}
var frontPath = string.Empty;
//简化代码
foreach (Hyperlink hl in Sel.Hyperlinks)
{
frontPath = hl.Address;
}
var fileName = path + "\\" + frontPath;
if (File.Exists(fileName))
{
new WordOperate(Sel.Application).OpenDocument(fileName, Const.Password);
}
}
catch (Exception ex)
{
}
}