Hoş Geldin, Ziyaretçi!

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

C Sharp Word'e Bilgi Gönderme

Admin

TurkDevelopers
Yönetici
TDN Admin
Katılım
30 Nis 2020
Mesajlar
99
Konum
Ankara
Ö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.

word_bookmarks.PNG


Kodlarımızın çalışması için referanslardan Microsoft Word Object Library 'i ekliyoruz

word_bookmarks_1.PNG

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);
            }
        }
    }
}
word_bookmarks_2.PNG

word_bookmarks_3.PNG