2016-08-04 4 views
0

Я создал приложение, которое помещает часть указанного текста в нижний колонтитул документа при нажатии кнопки.VSTO Word 2013 - Как выровнять строку в нижнем колонтитуле

Проблема в том, что я хотел бы, чтобы эта строка всегда отображалась в верхней строке нижнего колонтитула, выровненной с правой стороны.

Есть ли способ выровнять один кусок текста в нижнем колонтитуле, чтобы он всегда отображался в верхнем правом углу нижнего колонтитула?

ответ

0

Хорошо, позвольте мне сказать, что для этого потребуется больше исследований, как получить правильное положение и, возможно, некоторую жесткую настройку. Принимает этот код в качестве отправной точки

Существует довольно много проблем, которые вам придется решать, например Вы действительно хотите использовать только раздел 1? Вы действительно хотите использовать только нижний колонтитул? Является ли PageSetup достаточно хорошим для получения правильной позиции?

Также линия не кажется

shp.RelativeVerticalPosition = Word.WdRelativeVerticalPosition.wdRelativeVerticalPositionBottomMarginArea; 

иметь какое-либо воздействие, но через Слово UI вы можете установить его. Это было бы полезно изучить более подробно, так как это сэкономит вам массу расчетов

using System; 
using Word = Microsoft.Office.Interop.Word; 

namespace WordAddIn1 
{ 
    public class Class1 
    { 
     public void InsertShape(Word.Document doc) 
     { 
      try 
      { 
       Word.Section sec = doc.Sections[1]; 
       Word.HeaderFooter foo = sec.Footers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary]; 

       Word.Range rng = foo.Range; 

       float leftPos = doc.PageSetup.PageWidth - doc.PageSetup.RightMargin; 
       float topPos = doc.PageSetup.PageHeight - doc.PageSetup.BottomMargin; 

       Word.Shape shp = doc.Shapes.AddTextbox(Microsoft.Office.Core.MsoTextOrientation.msoTextOrientationHorizontal, 
                 leftPos, topPos, 50, 20, rng); 

       shp.TextFrame.TextRange.Text = "Text"; 
       shp.RelativeVerticalPosition = Word.WdRelativeVerticalPosition.wdRelativeVerticalPositionBottomMarginArea; 

      } 
      catch (Exception) 
      { 
       throw; 
      } 
     } 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^