2012-01-17 3 views
1

Я хочу установить поля в документе Word, который я создаю, используя автоматизацию из кода на C#.Установите поля документа Word 2010 с C#

Я начал этот процесс, используя ActiveDocument.TopMargin =, но я не могу найти C# код, похожий на VB Word.InchesToPoint(.5) Любая помощь будет принята с благодарностью

ответ

3

Вы должны получить экземпляр приложения Word:

Word.Application oWord = new Word.Application(); 
oWord.InchesToPoint((float)0.5); 

См. Ссылку: http://msdn.microsoft.com/en-us/library/ff197549.aspx

+0

Спасибо за ответ, но я выполнил инструкции, но он не работал в C#, отметив, что лучше всего перегружено совпадение методов для Microsoft.Office.Interop.Word._Application.InchesToPoint (float) имеет некоторые недопустимые аргументы. – RCam

+0

Пробовал ли вы использовать свое значение в поплавке. См. Мой обновленный ответ. – gideon

7

Иногда самый простой способ работы. Эта строка кода решена проблема

oWord.ActiveDocument.PageSetup.TopMargin = (float)50; 
1

Вы можете использовать метод InchesToPoints объекта Слово АррИсаЫоп так:

 Word.Application wrdApplication = new Word.Application(); 
     Word.Document wrdDocument; 
     wrdApplication.Visible = true; 
     wrdDocument = wrdApplication.Documents.Add(); 
     wrdDocument.PageSetup.Orientation = Word.WdOrientation.wdOrientLandscape; 
     wrdDocument.PageSetup.TopMargin = wrdApplication.InchesToPoints(0.5f); 
     wrdDocument.PageSetup.BottomMargin = wrdApplication.InchesToPoints(0.5f); 
     wrdDocument.PageSetup.LeftMargin = wrdApplication.InchesToPoints(0.5f); 
     wrdDocument.PageSetup.RightMargin = wrdApplication.InchesToPoints(0.5f); 

Или, если вы хотите, вы можете сделать свой собственный ...

private float InchesToPoints(float fInches) 
    { 
     return fInches * 72.0f; 
    } 

это может быть использовано в чем-то вроде этого:

 Word.Application wrdApplication = new Word.Application(); 
     Word.Document wrdDocument; 
     wrdDocument = wrdApplication.Documents.Add(); 
     wrdDocument.PageSetup.Orientation = Word.WdOrientation.wdOrientLandscape; 
     wrdDocument.PageSetup.TopMargin = InchesToPoints(0.5f); //half an inch in points 
     wrdDocument.PageSetup.BottomMargin = InchesToPoints(0.5f); 
     wrdDocument.PageSetup.LeftMargin = InchesToPoints(0.5f); 
     wrdDocument.PageSetup.RightMargin = InchesToPoints(0.5f); 
     wrdApplication.Visible = true; 

Word использует 72 точки на дюйм в своем расположении.

+0

Возможно, вам стоит немного объяснить этот ответ (например, 72 точки на дюйм - это измерение). – theMayer

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