Проблема с программным выравниванием текста в MS Word с помощью языка Си#
using Microsoft.Office.Core; using Microsoft.Office.Interop.Word; using Word = Microsoft.Office.Interop.Word; using System.Reflection; object oMissing = System.Reflection.Missing.Value; object oEndOfDoc = "\\endofdoc"; /* \endofdoc is a predefined bookmark */ //Start Word and create a new document. Word._Application oWord; Word._Document oDoc; oWord = new Word.Application(); oWord.Visible = true; oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);
Вот тут-то я и столкнулся с проблемой:
//Insert a paragraph at the beginning of the document. Word.Paragraph oPara1; oPara1 = oDoc.Content.Paragraphs.Add(ref oMissing); Word.Range rng = oPara1.Range; rng.Font.Size = 14; rng.Font.Name = "Arial"; rng.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter; oPara1.Range.Font.Bold = 1; oPara1.Range.Text = "SOCIAL ASSESSMENT"; oPara1.Format.SpaceAfter = 24; //24 pt spacing after paragraph. oPara1.Range.InsertParagraphAfter(); //Insert another paragraph. object oRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range; Word.Paragraph oPara2; oRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range; oPara2 = oDoc.Content.Paragraphs.Add(ref oRng); oPara2.Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft; oPara2.Range.Font.Underline = Word.WdUnderline.wdUnderlineSingle; oPara2.Range.Font.Bold = 1; oPara2.Range.Text = "Request for Services and Identifying Information"; oPara2.Format.SpaceAfter = 24; oPara2.Range.InsertParagraphAfter(); //Insert another paragraph. Word.Paragraph oPara3; oRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range; oPara3 = oDoc.Content.Paragraphs.Add(ref oRng); oPara3.Range.Font.Bold = 0; oPara3.Range.Text = "Applicants Name: " + textBox1.Text + " " + textBox7.Text + "\r\n" + "Referred by: " + textBox2.Text + "\r\n" + "Request for Evaluation by: " + textBox3.Text + "\r\n" + "Reason for Referral: " + textBox4.Text + "\r\n" + "Service Request: " + textBox5.Text + "\r\n" + "Clients Primary Language: " + textBox6.Text + "\r\n" + "Language of Informant/Advocate: " + textBox8.Text; oPara3.Format.SpaceAfter = 24; oPara3.Range.InsertParagraphAfter();
Весь документ в конечном итоге выравнивается по левому краю. Как я могу это исправить?
Спасибо,
Влад
manikantaer
Привет
У меня такая же проблема в моем проекте но ваше решение 2 не работает
итак, есть ли другие решения??