C# ile Word Belgesi Oluşturma

Kodla Büyü

qalatasaray377

Site Gezgini
Mesajlar
97
Merhaba Arkadaşlar;
Projem İçin Lazım Olan C# İle Word Dosyası Oluşturma Kodlarını Uzun Bir Uğraştan Sonra Buldum. Fakat Küçük Bir Sorun Var. Aşağıdaki Kodlarla C# ile Word Belgesi Oluşturuyorum Fakat Kaydetme Kodlarından
Kod:
object fileName = "C:\\docs\\" + txtBaslik.Text + ".docx";
oDoc.SaveAs(ref fileName,ref oMissing, ref oMissing,ref oMissing, ref oMissing,ref oMissing,
 ref oMissing,ref oMissing, ref oMissing, ref oMissing, ref oMissing);
oDoc Hata Veriyor. Sebebini Bilen Arkadaşlar Yardım Ederse Sevinirim.

Kod:
İlk önce Solution Explorer’da Referances’a sağ tıklayıp Add Referance’ı seçin. Açılan pencerede COM sekmesine gelerek Microsoft Word 14.0 Object Library’i seçin. Ben Office 2010 kullandığım için 14.0 versiyonu ancak farklı bir versiyon kullanıyorsanız onun numarasını göreceksiniz.
Referansı ekledikten sonra işlemi gerçekleştirmek istediğiniz Event’e geçin.

// Word'ü başlatın:
Microsoft.Office.Interop.Word.Application oWord = new Microsoft.Office.Interop.Word.Application();
oWord.Visible = true;
//Yeni Word belgesi oluşturun.
object oMissing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Word.Document wBelge = oWord.Documents.Add(ref oMissing, ref oMissing,
ref oMissing, ref oMissing);
//İlk paragrafı başlık olarak ayarlayın.
Microsoft.Office.Interop.Word.Paragraph baslik= wBelge.Paragraphs.Add(ref oMissing);
object styleHeading = "Başlık 1";
baslik.Range.set_Style(styleHeading);
baslik.Range.Text = txtBaslik.Text; //herhangi bir string olabilir.
//bunun arkasından başka bir paragraf ekleyecekseniz bu koudu yazıyoruz.            
baslik.Range.InsertParagraphAfter();
// ikinci paragraf
Microsoft.Office.Interop.Word.Paragraph paragraf2;
paragraf2= wBelge.Paragraphs.Add(ref oMissing);
paragraf2.Range.Text = textBox1.Text;
paragraf2.Range.InsertParagraphAfter();
//Bu şekilde devam ederek paragraflarınızı oluşturun.
//Paragraflarınız bittikten sonra son olarak Office belgesini kaydedelim.
object fileName = "C:\\docs\\" + txtBaslik.Text + ".docx";
oDoc.SaveAs(ref fileName,ref oMissing, ref oMissing,ref oMissing, ref oMissing,ref oMissing,
 ref oMissing,ref oMissing, ref oMissing, ref oMissing, ref oMissing);
 
sadece odoc.saveas(dosya yolu) şeklinde kaydedip bir dene istersen. Birde C sürücüsüne kayıtlarda bazen kullanıcı haklarından dolayı kayıtlarda sorun çıkabiliyor. O yüzden programın çalıştığı klasöre , kullanıcının belgelerim klasörüne veya masaüstüne kaydetmekte fayda var.
 
webcevap' Alıntı:
sadece odoc.saveas(dosya yolu) şeklinde kaydedip bir dene istersen. Birde C sürücüsüne kayıtlarda bazen kullanıcı haklarından dolayı kayıtlarda sorun çıkabiliyor. O yüzden programın çalıştığı klasöre , kullanıcının belgelerim klasörüne veya masaüstüne kaydetmekte fayda var.
peki masaüstüne kaydetmek için olan yolu nasıl yazabilirim ?
 
Ben C# kullanmıyorum VB.net kullanıyorum. Ama sonuçta ikiside .net framework ü kullandığına göre değişen pek bir şey yok.
Benim VB de kullandığım kod şu şekilde zorlanmadan c# a uyarlarsın. Kolay gelsin.

My.Computer.FileSystem.SpecialDirectories.Desktop + "\OturmaPlanlari.doc"
 
şu şekilde word belgesini yerel disk c ye kaydettirmeyi başardım Belge.SaveAs("C:\\belge.docx"); Fakat Ben c'ye değilde masaüstüne kaydetmesini istiyorum. bunu nasıl yapabilirim
 
Sayın hocam bir önceki mesajımda yazmıştım.
Dikkat etmediniz herhalde.

My.Computer.FileSystem.SpecialDirectories.Desktop ifadesi bize masaüstü klasörünün yolunu verir.
 
webcevap' Alıntı:
Sayın hocam bir önceki mesajımda yazmıştım.
Dikkat etmediniz herhalde.

My.Computer.FileSystem.SpecialDirectories.Desktop ifadesi bize masaüstü klasörünün yolunu verir.
Görmemişim Hocam Kusura Bakmayın. Özür Diliyorum
 
BBNET
Geri
Üst