如何使用 vsto 将脚注转换为带标题的尾注?
How to convert Footnote to endnotes with title using vsto?
如何使用vsto给尾注加标题?如有任何建议,我们将不胜感激。
我试过以下代码:
public void ConvertFootNoteToEndNote(Word.Document myDocx, ref string sErrMsg)
{
try
{
Word.WdNoteNumberStyle FootNoteNumberStyle;
if (!(myDocx.Endnotes.Count > 0 && myDocx.Footnotes.Count > 0))
{
if (myDocx.Footnotes.Count > 0)
{
FootNoteNumberStyle = myDocx.Footnotes.NumberStyle;
myDocx.Footnotes.Convert();
myDocx.Endnotes.NumberStyle = FootNoteNumberStyle;
}
}
Word.Range rnFootNoteRange = null;
if (myDocx.Endnotes.Count > 0)
{
rnFootNoteRange = myDocx.StoryRanges[Word.WdStoryType.wdEndnotesStory];
if (rnFootNoteRange.Paragraphs.Count != 0)
if (rnFootNoteRange.Paragraphs[1].Range.Text != null)
if (rnFootNoteRange.Paragraphs[1].Range.Text.Length < 15)
if (rnFootNoteRange.Paragraphs[1].Range.Text.ToUpper().Contains("NOTE"))
return;
rnFootNoteRange.Paragraphs.Add(rnFootNoteRange);
Word.Paragraph objNewParagraph = rnFootNoteRange.Paragraphs.Add(rnFootNoteRange);
}
}
catch (Exception ex)
{
sErrMsg = ex.StackTrace;
throw;
}
}
它工作正常,但我想为尾注添加标题。
我找到了。
public void ConvertFootNoteToEndNote(Word.Document myDocx, ref string sErrMsg)
{
try
{
Word.WdNoteNumberStyle FootNoteNumberStyle;
if (!(myDocx.Endnotes.Count > 0 && myDocx.Footnotes.Count > 0))
{
if (myDocx.Footnotes.Count > 0)
{
FootNoteNumberStyle = myDocx.Footnotes.NumberStyle;
myDocx.Footnotes.Convert();
myDocx.Endnotes.NumberStyle = FootNoteNumberStyle;
}
}
Word.Range rnFootNoteRange = null;
if (myDocx.Endnotes.Count > 0)
{
rnFootNoteRange = myDocx.StoryRanges[Word.WdStoryType.wdEndnotesStory];
if (rnFootNoteRange.Paragraphs.Count != 0)
if (rnFootNoteRange.Paragraphs[1].Range.Text != null)
if (rnFootNoteRange.Paragraphs[1].Range.Text.Length < 15)
if (rnFootNoteRange.Paragraphs[1].Range.Text.ToUpper().Contains("NOTE"))
return;
rnFootNoteRange.Paragraphs.Add(rnFootNoteRange);
Word.Paragraph objNewParagraph = rnFootNoteRange.Paragraphs.Add(rnFootNoteRange);
//if (objNewParagraph != null)
// objNewParagraph.Range.Text = myDocx.Endnotes.Count > 1 ? "Notes" : "Note";
}
}
catch (Exception ex)
{
sErrMsg = ex.StackTrace;
throw;
}
}
如何使用vsto给尾注加标题?如有任何建议,我们将不胜感激。
我试过以下代码:
public void ConvertFootNoteToEndNote(Word.Document myDocx, ref string sErrMsg)
{
try
{
Word.WdNoteNumberStyle FootNoteNumberStyle;
if (!(myDocx.Endnotes.Count > 0 && myDocx.Footnotes.Count > 0))
{
if (myDocx.Footnotes.Count > 0)
{
FootNoteNumberStyle = myDocx.Footnotes.NumberStyle;
myDocx.Footnotes.Convert();
myDocx.Endnotes.NumberStyle = FootNoteNumberStyle;
}
}
Word.Range rnFootNoteRange = null;
if (myDocx.Endnotes.Count > 0)
{
rnFootNoteRange = myDocx.StoryRanges[Word.WdStoryType.wdEndnotesStory];
if (rnFootNoteRange.Paragraphs.Count != 0)
if (rnFootNoteRange.Paragraphs[1].Range.Text != null)
if (rnFootNoteRange.Paragraphs[1].Range.Text.Length < 15)
if (rnFootNoteRange.Paragraphs[1].Range.Text.ToUpper().Contains("NOTE"))
return;
rnFootNoteRange.Paragraphs.Add(rnFootNoteRange);
Word.Paragraph objNewParagraph = rnFootNoteRange.Paragraphs.Add(rnFootNoteRange);
}
}
catch (Exception ex)
{
sErrMsg = ex.StackTrace;
throw;
}
}
它工作正常,但我想为尾注添加标题。
我找到了。
public void ConvertFootNoteToEndNote(Word.Document myDocx, ref string sErrMsg)
{
try
{
Word.WdNoteNumberStyle FootNoteNumberStyle;
if (!(myDocx.Endnotes.Count > 0 && myDocx.Footnotes.Count > 0))
{
if (myDocx.Footnotes.Count > 0)
{
FootNoteNumberStyle = myDocx.Footnotes.NumberStyle;
myDocx.Footnotes.Convert();
myDocx.Endnotes.NumberStyle = FootNoteNumberStyle;
}
}
Word.Range rnFootNoteRange = null;
if (myDocx.Endnotes.Count > 0)
{
rnFootNoteRange = myDocx.StoryRanges[Word.WdStoryType.wdEndnotesStory];
if (rnFootNoteRange.Paragraphs.Count != 0)
if (rnFootNoteRange.Paragraphs[1].Range.Text != null)
if (rnFootNoteRange.Paragraphs[1].Range.Text.Length < 15)
if (rnFootNoteRange.Paragraphs[1].Range.Text.ToUpper().Contains("NOTE"))
return;
rnFootNoteRange.Paragraphs.Add(rnFootNoteRange);
Word.Paragraph objNewParagraph = rnFootNoteRange.Paragraphs.Add(rnFootNoteRange);
//if (objNewParagraph != null)
// objNewParagraph.Range.Text = myDocx.Endnotes.Count > 1 ? "Notes" : "Note";
}
}
catch (Exception ex)
{
sErrMsg = ex.StackTrace;
throw;
}
}