Tüm Versiyonu Göster : WORD DE INDEX OLUSTURABILIYORMUYUZ?
emrecolak09
21-09-2005, 16:01
Word'de index oluþturma konusunda yardýma ihtiyacým var
wordde yazýlý olan býr metnýn sonunda o metýn ýcerýsýndeký sozcuklerden kac adet oldugunu yazdýrabýlýyormuyuz?
yardýmlarýnýzý beklýyorum
Emre ÇOLAK
Necdet Yeþertener
21-09-2005, 16:34
Sayýn emrecolak09,
Belli bir bölgeyi seçiniz
1. Tools (araçlar)
2. Word Count (kelime say) size istetistiði verir
Bildiðim budur. Ýyi Çalýþmalar
emrecolak09
21-09-2005, 16:37
Sayýn Necdet Bey
Ýlginiz için tesekkurler
Ancak Beným Sorunum bu degýl. Ben tum sozcuklerýn sayýsýný degýl
her sozcukten kac adet oldugunu hesaplayabýlýrmý onu merak edýyorum
Iyý calýsmalar
Emre ÇOLAK
Selam
Aþaðýdaki örnek gibi birþey mi?.Ekli dosya "kelime sayar.doc"
Tabloya demiþsiniz!
Ekli dosya "kelime sayar tabloya.doc"
Alternatif olarak, kendi imalatýmýz olan ekli dosyadaki kodu da deneyebilirsiniz ...
(Sanýrým teknik bir problem var, "Sitenin ataç kapasitesi dolmuþtur" þeklinde bir mesaj aldým...)
Tekrar merhaba;
Ataçý ekleyemedim, bari kodu yapýþtýrayým dedim ...
'**********************************************
'* Dokumandaki kelimeleri sayan kod. *
'* *
'* Burasi Excel Vadisi ... *
'* *
'* Haluk ® *
'* 03/10/2005 *
'* *
'**********************************************
Sub Test()
Dim NoWords As Long, i As Long, k As Long
Dim MyColl As New Collection
Dim Msg As String, MsgHeader As String, x As String, StrVal As String
Dim MyRng As Range
ActiveWindow.ActivePane.View.ShowAll = False
NoWords = ActiveDocument.Words.Count
For i = 1 To NoWords
x = Trim(ActiveDocument.Words(i))
Set RegExp = CreateObject("VBscript.RegExp")
RegExp.Global = True
RegExp.Pattern = "[,.!%&~`:+/*¹-]"
StrVal = RegExp.Replace(x, "")
MyColl.Add (StrVal)
Next
On Error Resume Next
For i = 1 To NoWords
For j = i + 1 To NoWords - 1
If MyColl(i) = MyColl(j) Or MyColl(j) = "" Then
MyColl.Remove j
End If
Next
Next
On Error GoTo 0
For i = 1 To MyColl.Count
k = 0
For j = 1 To NoWords
If Trim(ActiveDocument.Words(j)) = MyColl(i) Then
k = k + 1
End If
If Asc(MyColl(i)) = 13 Then GoTo ResumeFor:
Next
Msg = Msg & vbNewLine & MyColl(i) & " »» " & k & " adet"
ResumeFor:
Next
MsgHeader = vbCrLf & vbCrLf & "Rapor :"
StartDoc = ActiveDocument.Content.End - 1
EndDoc = ActiveDocument.Content.End - 1
Set MyRng = ActiveDocument.Range(Start:=StartDoc, End:=EndDoc)
MyRng.Text = MsgHeader & vbCrLf
MyRng.ParagraphFormat.Alignment = wdAlignParagraphCenter
MyRng.Bold = True
MyRng.Font.Color = wdColorBlue
MyRng.Underline = wdUnderlineThick
StartDoc = ActiveDocument.Content.End - 1
EndDoc = ActiveDocument.Content.End - 1
Set MyRng = ActiveDocument.Range(Start:=StartDoc, End:=EndDoc)
MyRng.Text = Msg
MyRng.ParagraphFormat.Alignment = wdAlignParagraphLeft
MyRng.Bold = True
MyRng.Font.Color = wdColorBlack
MyRng.Text = Msg
Set MyRng = Nothing
Set RegExp = Nothing
End Sub
Tekrar merhaba;
Sanýrým sitedeki ataç ekleme problemi giderildi. Bu durumda, yukarýdaki kodun yer aldýðý dosyayý eklemek istedim .
Ýyi akþamlar ...
Peki kelimeleri nasýl saydýracaðýz? Düzendeki bu komutuyla mý? veya hangi yöntemle
Peki kelimeleri nasýl saydýracaðýz? Düzendeki bu komutuyla mý? veya hangi yöntemle
Sub Test2()
WordCount = ActiveDocument.ComputeStatistics(Statistic:=wdStat isticWords) _
& " adet kelime var"
ParagCount = ActiveDocument.ComputeStatistics(Statistic:=wdStat isticParagraphs) _
& " adet kelime var"
LineCount = ActiveDocument.ComputeStatistics(Statistic:=wdStat isticLines) _
& " adet satýr var"
CharacterCount = ActiveDocument.ComputeStatistics(Statistic:=wdStat isticCharacters) _
& " adet karakter var"
PagesCount = ActiveDocument.ComputeStatistics(Statistic:=wdStat isticPages) _
& " adet sayfa var"
Msg = WordCount & vbCrLf & ParagCount & vbCrLf & LineCount & vbCrLf _
& CharacterCount & vbCrLf & PagesCount
MsgBox Msg, vbInformation, "Rapor..."
End Sub
Haluk Bey teþekkürler.
Peki Bu kodlarý veya dosyayý týpký excel deki gibi bir eklenti olarak kaydedip bütün word dosyalarýnda tek makro ile kullanabilirmiyiz?
.....
Peki Bu kodlarý veya dosyayý týpký excel deki gibi bir eklenti olarak kaydedip bütün word dosyalarýnda tek makro ile kullanabilirmiyiz?
Kodlarý, Normal modulünün içinde oluþturacaðýnýz modüllere yerleþtirirseniz bu iþ olur.
Haluk Bey Teþekkürler gayet iyi çalýþýyor. Eðre birde klavyeden ksayol tuþuyla direk makro çalýþsa çok daha güzel olur. örneðin alt+m ile direk makro çalýþsa olur mu?
Merhaba;
Þöyle bir þey olabilir ...
Word'de VBE kýsmýnda Normal içinde bir module aþaðýdakileri yerleþtirin ve kaydedip, kapatýn.
Daha sonra, önceden kaydedilmiþ herhangibir Word belgesi açýn ve klavyedeki F3 tuþuna bastýðýnýzda kodlardaki Test2 isimli prosedur çalýþacaktýr.
Sub AutoExec()
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyF3), _
KeyCategory:=wdKeyCategoryMacro, Command:="Test2"
End Sub
'
Sub Test2()
WordCount = ActiveDocument.ComputeStatistics(Statistic:=wdStat isticWords) _
& " adet kelime var"
ParagCount = ActiveDocument.ComputeStatistics(Statistic:=wdStat isticParagraphs) _
& " adet kelime var"
LineCount = ActiveDocument.ComputeStatistics(Statistic:=wdStat isticLines) _
& " adet satýr var"
CharacterCount = ActiveDocument.ComputeStatistics(Statistic:=wdStat isticCharacters) _
& " adet karakter var"
PagesCount = ActiveDocument.ComputeStatistics(Statistic:=wdStat isticPages) _
& " adet sayfa var"
Msg = WordCount & vbCrLf & ParagCount & vbCrLf & LineCount & vbCrLf _
& CharacterCount & vbCrLf & PagesCount
MsgBox Msg, vbInformation, "Rapor..."
End Sub
Haluk Bey gerçekten bu kadar ilgi gösterdiðiniz ve yardýmcý olduðunuz için teþekkür ederim. bütün word dosyalarýnda çalýþýyor üstelik açýlýþta makrolarý etkinleþtir mesajý da çýkmadan.
Ýyi Çalýþmalar...
Bir de gözden kaçan bir dalgýnlýk noktasý olsa gerek yukarýdaki ikinci kod satýrýndaki "adet kelime var" "adet paragraf var" olmasý gerekiyor herhalde çünkü iki defa farklý sayýlarda kelime var diyor.
....... bütün word dosyalarýnda çalýþýyor üstelik açýlýþta makrolarý etkinleþtir mesajý da çýkmadan.
.......
Evet, bu yöntemle yani Normal.dot modulüne yazýlan kodlar dosya açýlýþýnda "Makrolarý Etkinleþtir / Etkinleþtirme" uyarýsý vermez. Çünkü bu iþlem, MS Excel' deki "Eklenti dosyasý" karþýlýðýdýr. MS Excel'de de bildiðiniz gibi, eklenti dosyalarý açýlýrken herhangibir makro uyarý mesajý vermez.
Ýyi çalýþmalar dilerim ...
Not: Haklýsýnýz, 2nci satýrda "..... paragraf var" þeklinde olucak.
vBulletin v3.7.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.