Öncelikle word dosyamıza Bookmarks (Yer İşaretleri) eklememiz gerekiyor. Sayfada ki Adı : alanından sonra yazmak istediğimiz yere tıklayıp Ekle > Bağlantılar > Yer işareti yolunu izleyerek bookmarks ekliyoruz.
Kodlarımızın çalışması için referanslardan Microsoft Word Object Library 'i ekliyoruz
Kodlarımızın çalışması için referanslardan Microsoft Word Object Library 'i ekliyoruz
C#:
using System.IO;
using System.Windows.Forms;
using Microsoft.Office.Interop.Word;
using Application = Microsoft.Office.Interop.Word.Application;
namespace WordBookmarks
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void WordAc(string dosyaYolu)
{
if (!File.Exists(dosyaYolu))
{
MessageBox.Show("Dosya bulunamadı.", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
//Word Uygulaması Oluşturuyoruz.
Application wordApp = new Application();
object missing = System.Reflection.Missing.Value;
object readOnly = false;
object fileName = dosyaYolu;
//Word Dosyasını Açıyoruz.
Document doc = wordApp.Documents.Open(ref fileName, ref missing, ref readOnly, ref readOnly,
ref missing, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing);
//Aktif Sayfayı Açıyoruz.
doc.Activate();
//Word Dosyası Ekrana Çıkartıyoruz.
wordApp.Visible = true;
//Bookmarks İşlemleri
//Bookmarkı Buluyoruz ve Yerine Yazmak İstediğimiz Veriyi Gönderiyoruz.
object bookMarksName = "adi";
doc.Bookmarks.get_Item(ref bookMarksName).Range.Text = txtAdi.Text;
object bookMarksSoyadi = "soyadi";
doc.Bookmarks.get_Item(ref bookMarksSoyadi).Range.Text = txtSoyadi.Text;
object bookMarksEmail = "sinifi";
doc.Bookmarks.get_Item(ref bookMarksEmail).Range.Text = txtSinifi.Text;
object bookMarksAciklama = "numarasi";
doc.Bookmarks.get_Item(ref bookMarksAciklama).Range.Text = txtNumarasi.Text;
}
}
private void btnGonder_Click(object sender, System.EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog()
{
Filter = "Word Dosyaları|*.doc;*.docx",
Title = "Word Dosyasını Seçiniz",
RestoreDirectory = true,
};
if (ofd.ShowDialog() == DialogResult.OK)
{
string dosyaYolu = ofd.FileName;
WordAc(dosyaYolu);
}
}
}
}