2016-12-14 9 views
-1

Как добавить заголовок к концевым сноскам с помощью 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; 
    } 
} 

Это работает отлично, но я хочу, чтобы добавить заголовок для сноски.

ответ

0

Я нашел.

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; 
      } 
     }