PDA

View Full Version : مبتدی: تغییر چند قسمت خاص از فایل word و بعد پرینت گرفتن



mhk1367
پنج شنبه 21 شهریور 1392, 08:06 صبح
با سلام
یه فابل word را انتخاب کنیم و بعد فقط چند قسمت خاص مثلا اسم،فامیل و شماره شناسنامه را عوض کنیم و بعد کل فایل پرینت بگیریم. کسی هست بتونه بهم کمک کنه من تو c# مبتدی ام ممنون

danialafshari
پنج شنبه 21 شهریور 1392, 08:33 صبح
سلام
فکر کنم برای اینکار کامپوننت Edraw کمکتون کنه
http://www.edrawsoft.com/officeviewer.php

mhk1367
پنج شنبه 21 شهریور 1392, 08:42 صبح
منظورم اینه که کل متن ثابت است و فقط 2 یا 3 قسمت از متن باید تغییر کند و بعد فایل جدید را ذخیره کند وپرینت بگیرد. یعنی کل متن را مثل ورد هر دفعه نشان ندهد و چند قسمت خاص که قرار است تغییر کند را نشان دهد و همان چند قسمت را کاربر تغییر دهد.

omid_student
یک شنبه 26 آبان 1392, 13:01 عصر
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Interop.Word;
using System.Reflection;
using System.IO;
using System.Windows.Forms;
namespace Bank_Reporter
{
class modifyWord
{
public void OpenWord(string sPath,string[] keys,string[] values)
{
try
{
object missing = Missing.Value;
Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
// create Word document object
Microsoft.Office.Interop.Word.Document aDoc = null;
object filename = sPath;
// if temp.doc available
if (File.Exists((string)filename))
{
object readOnly = false;
object isVisible = false;
// make visible Word application
wordApp.Visible = false;
// open Word document named temp.doc
aDoc = wordApp.Documents.Open(ref filename, ref missing,
ref readOnly, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing,
ref missing, ref isVisible, ref missing, ref missing,
ref missing, ref missing);
aDoc.Activate();
// Call FindAndReplace()function for each change
for (int i = 0; i <= keys.Length - 1; i++)
{
this.FindAndReplace(wordApp, keys[i], values[i]);
}
// save temp.doc after modified
aDoc.Save();
}
}
catch (Exception)
{
MessageBox.Show("Error in process.", "Internal Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
public void FindAndReplace(Microsoft.Office.Interop.Word.Appli cation wordApp,
object findText, object replaceText)
{
object matchCase = true;
object matchWholeWord = true;
object matchWildCards = false;
object matchSoundsLike = false;
object matchAllWordForms = false;
object forward = true;
object format = false;
object matchKashida = false;
object matchDiacritics = false;
object matchAlefHamza = false;
object matchControl = false;
object read_only = false;
object visible = true;
object replace = 2;
object wrap = 1;
wordApp.Selection.Find.Execute(ref findText, ref matchCase,
ref matchWholeWord, ref matchWildCards, ref matchSoundsLike,
ref matchAllWordForms, ref forward, ref wrap, ref format,
ref replaceText, ref replace, ref matchKashida,
ref matchDiacritics,
ref matchAlefHamza, ref matchControl);
}

}
}