PDA

View Full Version : سوال: ویرایش فایل ورد word



vaheeed
چهارشنبه 26 خرداد 1395, 09:17 صبح
میخوام یه فایل ورد رو باز کنم یا حتی اصلا باز هم نشه فقط یه سری کلمات رو داخلش جایگزین کنم و دوباره همونجا ذخیره بشه یا اگر بشه یه save as ازش بگیرم ، جستجو کردم و کتابخونه مربوطش رو پیدا کردم لینکش داخل همین سایت بود
Microsoft.Office.Interop.Word
ولی داخل سایت https://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.aspx هم که گفته شده اون چیزی میخواستم رو پیدا نکردم ، یعنی احتمالا نتونستم بفهممش، جایگزینی یه رنج هست ولی جایگزینی کلمه رو میخوام من ، اساتید خوشحال میشم راهنمایی بفرمایید

دلتنگ اسمان
چهارشنبه 26 خرداد 1395, 12:34 عصر
با سلام
این متد رو با یک باتن فراخوانی کن. یه فایل ورد در درایو C به نام temp1.docx می سازه که توش یه جدول هم ساخته البته رفرنس و using فرموش نشه.

using Word = Microsoft.Office.Interop.Word;


//Create document method
private void CreateDocument()
{
try
{
//Create an instance for word app
Microsoft.Office.Interop.Word.Application winword = new Microsoft.Office.Interop.Word.Application();


//Set status for word application is to be visible or not.
winword.Visible = false;

//Create a missing variable for missing value
object missing = System.Reflection.Missing.Value;

//Create a new document
Microsoft.Office.Interop.Word.Document document = winword.Documents.Add(ref missing, ref missing, ref missing, ref missing);


//Add header into the document
foreach (Microsoft.Office.Interop.Word.Section section in document.Sections)
{
//Get the header range and add the header details.
Microsoft.Office.Interop.Word.Range headerRange = section.Headers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex. wdHeaderFooterPrimary].Range;
//headerRange.Fields.Add(Range headerRange, Microsoft.Office.Interop.Word.WdFieldType.wdFieldP age);
headerRange.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment .wdAlignParagraphCenter;
headerRange.Font.ColorIndex = Microsoft.Office.Interop.Word.WdColorIndex.wdBlue;
headerRange.Font.Size = 10;
headerRange.Text = "Header text goes here";
}

//Add the footers into the document
foreach (Microsoft.Office.Interop.Word.Section wordSection in document.Sections)
{
//Get the footer range and add the footer details.
Microsoft.Office.Interop.Word.Range footerRange = wordSection.Footers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex. wdHeaderFooterPrimary].Range;
footerRange.Font.ColorIndex = Microsoft.Office.Interop.Word.WdColorIndex.wdDarkR ed;
footerRange.Font.Size = 10;
footerRange.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment .wdAlignParagraphCenter;
footerRange.Text = "Footer text goes here";
}

//adding text to document
document.Content.SetRange(0, 0);
document.Content.Text = "This is test document " + Environment.NewLine;

//Add paragraph with Heading 1 style
Microsoft.Office.Interop.Word.Paragraph para1 = document.Content.Paragraphs.Add(ref missing);
object styleHeading1 = "Heading 1";
para1.Range.set_Style(ref styleHeading1);
para1.Range.Text = "Para 1 text";
para1.Range.InsertParagraphAfter();

//Add paragraph with Heading 2 style
Microsoft.Office.Interop.Word.Paragraph para2 = document.Content.Paragraphs.Add(ref missing);
object styleHeading2 = "Heading 2";
para2.Range.set_Style(ref styleHeading2);
para2.Range.Text = "Para 2 text";
para2.Range.InsertParagraphAfter();

//Create a 5X5 table and insert some dummy record
Table firstTable = document.Tables.Add(para1.Range, 5, 5, ref missing, ref missing);

firstTable.Borders.Enable = 1;
foreach (Row row in firstTable.Rows)
{
foreach (Cell cell in row.Cells)
{
//Header row
if (cell.RowIndex == 1)
{
cell.Range.Text = "Column " + cell.ColumnIndex.ToString();
cell.Range.Font.Bold = 1;
//other format properties goes here
cell.Range.Font.Name = "verdana";
cell.Range.Font.Size = 10;
//cell.Range.Font.ColorIndex = WdColorIndex.wdGray25;
cell.Shading.BackgroundPatternColor = WdColor.wdColorGray25;
//Center alignment for the Header cells
cell.VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter;
cell.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;

}
//Data row
else
{
cell.Range.Text = (cell.RowIndex - 2 + cell.ColumnIndex).ToString();
}
}
}

//Save the document
object filename = @"c:\temp1.docx";
document.SaveAs(ref filename, ref missing,
ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing);
document.Close(ref missing, ref missing, ref missing);
document = null;
winword.Quit(ref missing, ref missing, ref missing);
winword = null;
MessageBox.Show("Document created successfully !");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

vaheeed
چهارشنبه 26 خرداد 1395, 13:06 عصر
منظورم رو درست نگفتم گویا ، من میخوام مثلا کلمه "خاص" رو داخل فایل ورد پیدا کنم و بجاش کلمه "معمولی" رو جایگزین کنم

vaheeed
دوشنبه 31 خرداد 1395, 08:33 صبح
کسی اطلاع نداره در این ضمینه؟