Worde Yer İşraeti Ekleme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1269
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Worde Yer İşraeti Ekleme

Mesaj gönderen ALUCARD »

Açık olan bir word dosyasında imlecin konumladığı noktaya yer işareti ekleyebilirmiyim.
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Worde Yer İşraeti Ekleme

Mesaj gönderen mrmarman »

Bu soruya ve muhtemel gelebilecek diğer başka sorulara basitçe cevap bulabilmen için yaygın olarak kullanılan bir metodu önereceğim.

(1) Boş bir WORD belgesi aç.
(2) İmlecini bir noktaya konumlandır.
(3) Macro kaydetmeyi etkinleştir.
(4) Yer imi ekle
(5) Makro Kaydetmeyi sonlandır.
(6) Makro kodlarını incele cevabın orada.

OLEAutomation aslında WordMacro ile yapılan her şeydir. Sorduğun sorunun cevabı EVET olduğunu bu şekilde den de göreceksin.
Resim
Resim ....Resim
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1269
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Re: Worde Yer İşraeti Ekleme

Mesaj gönderen ALUCARD »

Kod: Tümünü seç

Sub Makro2()
'
' Makro2 Makro
'
'
    With ActiveDocument.Bookmarks
        .Add Range:=Selection.Range, Name:="test"
        .DefaultSorting = wdSortByName
        .ShowHidden = False
    End With
End Sub
bunu nasıl delphiye çevircez abi peki
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Worde Yer İşraeti Ekleme

Mesaj gönderen mrmarman »

Süper, şimdi biliyorsun ki Bookmarks.Add ile ekliyorsun. :D

Kod: Tümünü seç

Doc.Bookmarks.Add('test', EmptyParam);


şeklinde dene. Böylece neyi nasıl arayacağını öğrenmiş oldun. :idea:
Resim
Resim ....Resim
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1269
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Re: Worde Yer İşraeti Ekleme

Mesaj gönderen ALUCARD »

Kod: Tümünü seç

var
  Word, Doc: Variant;
  WordDosya : String;
  XMLDosya : String;
begin
FileOpenDialogWord.Execute();
WordDosya := FileOpenDialogWord.FileName;
   Word := ComObj.CreateOleObject('Word.Application');
   Word.Documents.Open(WordDosya);
   Doc  := Word.ActiveDocument;
    Word.Visible := True;
   Doc.Bookmarks.Add('test', EmptyParam);
end;
hocam çok teşekkür ederim bu kodla ilk çalıştığında ekleyebiliyorum. ancak ben wordu kapatmadan ikinci üçünücü , n kadar eklemek istiyorum. bunu nasıl yapabilirim.
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1269
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Re: Worde Yer İşraeti Ekleme

Mesaj gönderen ALUCARD »

Kod: Tümünü seç

var
  Word, Doc: Variant;
  WordDosya : String;
  XMLDosya : String;
begin
FileOpenDialogWord.Execute();
WordDosya := FileOpenDialogWord.FileName;
   Word := ComObj.CreateOleObject('Word.Application');
   Word.Documents.Open(WordDosya);
   Doc  := Word.ActiveDocument;
    Word.Visible := True;
şu kısmı delphinin heryerinden ulaşılabilecek şekilde ayarlamak gerekiyor sanırım.
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Worde Yer İşraeti Ekleme

Mesaj gönderen mrmarman »

Sihrinizi (imzadaki gibi) çalıştırın.
WORD Macro işlemini size neden önerdiğimi yazmıştım.
Bir daha bir daha her adımı sorgulamak yerine gözlem gücünüzü geliştirmenizi sağlamak için.

WORD ile ne yapmak istiyorsanız bunu sizden daha iyi bilen kimse olamaz değil mi ?
Mesela bu sorunuzu kendinize bir sorun bakalım kendiniz anlayacak mısınız ?! Word'ü kapatmadan ne demek ? Yani siz WORD'ü Unassign etmediğiniz sürece zaten açık. Açan da kapatan da siz olduğuna göre neyi önerebileceğimiz değerlendiriyorsunuz. Ard arda Aynı komutu işleteceksiniz.

Kod: Tümünü seç

  Doc.Bookmarks.Add('test1', EmptyParam);
... yerleşim yeri değiştir.
  Doc.Bookmarks.Add('test2', EmptyParam);
... yerleşim yeri değiştir.
  Doc.Bookmarks.Add('test3', EmptyParam);
... yerleşim yeri değiştir.
  Doc.Bookmarks.Add('test4', EmptyParam);
... yerleşim yeri değiştir.
Bunu da sormayın isterdim :roll:
Resim
Resim ....Resim
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1269
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Re: Worde Yer İşraeti Ekleme

Mesaj gönderen ALUCARD »

hocam yanlış anladınız

ekleme kodum butonların altında, yani her butonun altına kesme ekleme kodu yazmak istiyorum.

ekran görünüsü ekliyorum
Resim

Kod: Tümünü seç

procedure TForm1.Button2Click(Sender: TObject);
var
  Word, Doc: Variant;
  WordDosya : String;
  Ad, Soyad, XMLDosya : String;
begin
  Word := ComObj.CreateOleObject('Word.Application');
   Word.Documents.Open(WordDosya);
   Doc  := Word.ActiveDocument;
   Doc.Bookmarks.Add('adi', EmptyParam);
end;

procedure TForm1.Button3Click(Sender: TObject);
var
  Word, Doc: Variant;
  WordDosya : String;
  Ad, Soyad, XMLDosya : String;
begin
 Word := ComObj.CreateOleObject('Word.Application');
   Word.Documents.Open(WordDosya);
   Doc  := Word.ActiveDocument;
 Doc.Bookmarks.Add('soyadi');
end;
Dosya ekleri
wordkesmeekleme.png
wordkesmeekleme.png (2.59 KiB) 2171 kere görüntülendi
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Worde Yer İşraeti Ekleme

Mesaj gönderen mrmarman »

Hocam bak şimdi.
İki mesajda da yazdım anlamak konusunda neden sıkıntı yaşıyoruz asıl bunu anlamıyorum. :?:

- WORD açma işlemini neden her butonda yineleyesin ??
- Diyorum ki bir kere aç açık olduğu sürece butonlarla işlem yap. İşin bitince kapat.
- Bir sürü yöntem var, GLOBAL değişken koy, bir procedure koy ona paramatre yap dilersen CLASS oluştur içinde yürüt ne yaparsan yap ama bir defa WORD aç ya da oluştur, açık olan o WORD'ün OleObject'i üzerinde işlemlerini yürüt. Sonra işin bitince kapatırsın.
Resim
Resim ....Resim
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1269
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Re: Worde Yer İşraeti Ekleme

Mesaj gönderen ALUCARD »

hocam kusura bakma senide akşam akşam uğraştırdım

Kod: Tümünü seç

 var
  Form1: TForm1;
   Word, Doc: Variant;
ekleyince sorunsuz çalıştı
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: Worde Yer İşraeti Ekleme

Mesaj gönderen thelvaci »

Açık bir Word uygulaması var mı diye kontrol etmelisiniz yok ise CreateOleObject ile oluşturmalısınız. Var mı diye nasıl kontrol edersiniz; onun için de GetActiveOleObject metoduna bir bakmanızı önerebilirim.
Cevapla