Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Dim fussnote As Footnote
- For Each fussnote In ActiveDocument.Footnotes
- fussnote.Reference.Select
- With Selection
- With .FootnoteOptions
- .Location = wdBottomOfPage
- .NumberingRule = wdRestartContinuous
- .StartingNumber = 1
- .NumberStyle = wdNoteNumberStyleArabic
- .NumberingRule = wdRestartSection
- End With
- .Footnotes.Add range:=Selection.range, Reference:=""
- End With
- Next
- public override void Work(WordprocessingDocument args)
- {
- var __allFootnotes = (Footnotes)args.MainDocumentPart
- .FootnotesPart.Footnotes.Clone();
- var footnotes = __allFootnotes.Elements<Footnote>()
- .SkipWhile(f => !(f.Id.Value > 0)).ToList();
- RenumberFootnotes(footnotes,
- args.MainDocumentPart.Document.Body.Descendants<Paragraph>().ToList());
- var __styles = args.MainDocumentPart
- .StyleDefinitionsPart.Styles;
- for (int i = 0; i < footnotes.Count(); i++)
- {
- //var footnote = footnotes[i];
- }
- args.MainDocumentPart.FootnotesPart
- .Footnotes = __allFootnotes;
- }
- private void RenumberFootnotes(List<Footnote> footnotes, List<Paragraph> paragraphs)
- {
- var __p = paragraphs.Where(p => p.Descendants<FootnoteReference>().Any());
- var __references = __p.SelectMany(p => p.Descendants<FootnoteReference>());
- for (int i = 1; i < footnotes.Count; i++)
- {
- var __tempId = footnotes[i].Id.Value;
- footnotes[i].Id.Value = i;
- var __reference = __references.First(fr => fr.Id.Value == __tempId);
- __reference.Id.Value = i;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement