Makro za štetje besed v Wordu
Makro za štetje besed v Wordu
Pozdravljeni!
Enkrat ste mi že pomagali, zato se ponovno obračam na vas
Najprej imam eno prav začetniško (ali pa tudi ne?) vprašanje in sicer o kodah, o katerih govorite v forumih. To so kode, ki se jih vnese v Microsoft Visual Basic program, ki se nahaja znotraj Worda? Jaz sicer posnamem makro z snemanjem, ne z direktnimi vnosi ukazov, ker jih sploh ne poznam.
Zdaj pa še moje drugo vprašanje: želim posneti makro, ki bi mi preštel znake (s presledki) v dokumentu, okno s preštetimi znaki bi bilo prikazano cca 5 sek, nato bi se dokument zaprl. To sicer ne bi bila taka težava, če bi to morala storiti samo v enem dokumentu, tako pa moram prešteti znake v 20 ali več dokumentih. Vsakega je potrebno odpreti (program Windows Commander), klikniti na Orodja, štetje besed, tako da bi se poznalo že, če bi bil en klik manj...Upam, da nisem bila predolga... Pa lp,
Micka
Enkrat ste mi že pomagali, zato se ponovno obračam na vas
Najprej imam eno prav začetniško (ali pa tudi ne?) vprašanje in sicer o kodah, o katerih govorite v forumih. To so kode, ki se jih vnese v Microsoft Visual Basic program, ki se nahaja znotraj Worda? Jaz sicer posnamem makro z snemanjem, ne z direktnimi vnosi ukazov, ker jih sploh ne poznam.
Zdaj pa še moje drugo vprašanje: želim posneti makro, ki bi mi preštel znake (s presledki) v dokumentu, okno s preštetimi znaki bi bilo prikazano cca 5 sek, nato bi se dokument zaprl. To sicer ne bi bila taka težava, če bi to morala storiti samo v enem dokumentu, tako pa moram prešteti znake v 20 ali več dokumentih. Vsakega je potrebno odpreti (program Windows Commander), klikniti na Orodja, štetje besed, tako da bi se poznalo že, če bi bil en klik manj...Upam, da nisem bila predolga... Pa lp,
Micka
Pozdravljeni,
1.
Ne, kode (če res mislite izraz KODE in ne KODA) niso makri v VBA-ju temveč kode polj, ki so v samem Word dokumentu. Najbolj uporabljana koda je npr. številka strani. Kode v wordu vidite, če pritisnete kombinacijo [ALT]+[F9], če pa to pritisnete še enkrat, pa zopet vidite vrednosti kod.
2.
Spodaj imate napisan makro, ki ga poženite v praznem EXCELOVEM (!) dokumentu. Makro vam v excelov dokument napiše VSE Word-ove dokumente, ki jih najde v neki izbrani mapi, v sosednjo vrstico pa vpiše število znakov s presledki. Mapo izberete tako, da ustrezno zamenjate tekst "c:\Moji Dokumenti" z neko vašo mapo.
1.
Ne, kode (če res mislite izraz KODE in ne KODA) niso makri v VBA-ju temveč kode polj, ki so v samem Word dokumentu. Najbolj uporabljana koda je npr. številka strani. Kode v wordu vidite, če pritisnete kombinacijo [ALT]+[F9], če pa to pritisnete še enkrat, pa zopet vidite vrednosti kod.
2.
Spodaj imate napisan makro, ki ga poženite v praznem EXCELOVEM (!) dokumentu. Makro vam v excelov dokument napiše VSE Word-ove dokumente, ki jih najde v neki izbrani mapi, v sosednjo vrstico pa vpiše število znakov s presledki. Mapo izberete tako, da ustrezno zamenjate tekst "c:\Moji Dokumenti" z neko vašo mapo.
Koda: Izberi vse
' www.matjazev.net
' 1.6.2006
Sub PrestejWordZnakeVMapi()
Dim mapa As String
Dim Vrstica As Long
Dim Datoteka As String
Dim objWrd As Object
mapa = "C:\Moji dokumenti"
Vrstica = 1
Set objWrd = CreateObject("Word.Application")
Datoteka = Dir(mapa & "\*.doc", vbNormal)
Do While Datoteka <> ""
Dim wFile
Set wFile = objWrd.Documents.Open(mapa & "\" & Datoteka)
Cells(Vrstica, 1) = mapa & "\" & Datoteka
Cells(Vrstica, 2) = wFile.ComputeStatistics(wdStatisticCharactersWithSpaces)
wFile.Close
Datoteka = Dir
Vrstica = Vrstica + 1
Loop
Set objWrd = Nothing
End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Pozdravljeni,
Makro prekopirajte iz foruma v Excelov delovni zvezek oz. v VBA urejevalnik Excelove datoteke, popravite mapo (peta vrstica makra!) ter makro samo izvedite. To je vse.
Kam in kako prekopirati makro pa si preberite med pogostimi VBA vprašanji:
http://www.matjazev.net/pnew/index.php? ... index.html, predvsem prvo in drugo vprašanje.
Če pa še vedno ne gre, pa vprašajte bolj konkretno, kaj vas muči.
Makro prekopirajte iz foruma v Excelov delovni zvezek oz. v VBA urejevalnik Excelove datoteke, popravite mapo (peta vrstica makra!) ter makro samo izvedite. To je vse.
Kam in kako prekopirati makro pa si preberite med pogostimi VBA vprašanji:
http://www.matjazev.net/pnew/index.php? ... index.html, predvsem prvo in drugo vprašanje.
Če pa še vedno ne gre, pa vprašajte bolj konkretno, kaj vas muči.
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Glede na razvoj IT se mi zdi, da tudi to ni verjetno kaj prav daleč...
Glede makra o štetju besed - kar je mimogrede, super pogruntavščina, ker tako pridobim gotovo pol ure, ki jih lahko porabim za branje novih kuharskih receptov, - pa imam še nekaj vprašanj:
1. Vaš makro mi prešteje samo wordove dokumente s končnico .doc, želela pa bi, da mi prešteje tudi dokumente s končnico .rtf, ki se nahajajo v isti mapi.
2. Po preverjanju sem ugotovila, da makro prešteje besede in ne znake s presledki.
3. Z VBA se zdaj sploh prvič seznanjam, zato me zanima, kako lahko ta makro shranim, naredim lično ikonco in da se mi pokaže pri zagonu Excela? To sicer znam naredit v Wordu, tako da grem na Po meri/Zavihek Ukazi, potem Makri, kliknem na desni moj makro, ga odnesem v orodno vrstico, spremeni izbor in to je to. V excelu pa mi pod makre pokaže ime le tega, ko grem pa v meni Orodja/Po meri, ga pa tam ni.
Že vnaprej hvala za odgovore, zdajle grem pa skuhat kavico
Lp, Micka
Glede makra o štetju besed - kar je mimogrede, super pogruntavščina, ker tako pridobim gotovo pol ure, ki jih lahko porabim za branje novih kuharskih receptov, - pa imam še nekaj vprašanj:
1. Vaš makro mi prešteje samo wordove dokumente s končnico .doc, želela pa bi, da mi prešteje tudi dokumente s končnico .rtf, ki se nahajajo v isti mapi.
2. Po preverjanju sem ugotovila, da makro prešteje besede in ne znake s presledki.
3. Z VBA se zdaj sploh prvič seznanjam, zato me zanima, kako lahko ta makro shranim, naredim lično ikonco in da se mi pokaže pri zagonu Excela? To sicer znam naredit v Wordu, tako da grem na Po meri/Zavihek Ukazi, potem Makri, kliknem na desni moj makro, ga odnesem v orodno vrstico, spremeni izbor in to je to. V excelu pa mi pod makre pokaže ime le tega, ko grem pa v meni Orodja/Po meri, ga pa tam ni.
Že vnaprej hvala za odgovore, zdajle grem pa skuhat kavico
Lp, Micka
Pozdravljeni,
1.
Makro, ki vam ga bom napisal in bo bral še RTF bi moral imeti podfunkcijo za branje... A zakaj komplicirati, če pa vas zanima samo rezultat, torej:
2.
Preverite še enkrat, ker bi makro moral prešteti znake in presledki. Konstanta: 'wdStatisticCharactersWithSpaces' namreč pomeni 'Znake s presledki'...
3.
Poglejte še malo po forumu ali med pogostimi vprašanji na http://www.matjazev.net/pnew/index.php? ... index.html in če ne najdete odgovora vam bom še pomagal.
1.
Makro, ki vam ga bom napisal in bo bral še RTF bi moral imeti podfunkcijo za branje... A zakaj komplicirati, če pa vas zanima samo rezultat, torej:
Koda: Izberi vse
' www.matjazev.net
' 4.6.2006
Sub PrestejWordZnakeVMapi()
Dim mapa As String
Dim Vrstica As Long
Dim Datoteka As String
Dim objWrd As Object
mapa = "C:\Moji dokumenti"
Vrstica = 1
Set objWrd = CreateObject("Word.Application")
Datoteka = Dir(mapa & "\*.doc", vbNormal)
Do While Datoteka <> ""
Dim wFile
Set wFile = objWrd.Documents.Open(mapa & "\" & Datoteka)
Cells(Vrstica, 1) = mapa & "\" & Datoteka
Cells(Vrstica, 2) = wFile.ComputeStatistics(wdStatisticCharactersWithSpaces)
wFile.Close
Datoteka = Dir
Vrstica = Vrstica + 1
Loop
Datoteka = Dir(mapa & "\*.rtf", vbNormal)
Do While Datoteka <> ""
Dim wFile
Set wFile = objWrd.Documents.Open(mapa & "\" & Datoteka)
Cells(Vrstica, 1) = mapa & "\" & Datoteka
Cells(Vrstica, 2) = wFile.ComputeStatistics(wdStatisticCharactersWithSpaces)
wFile.Close
Datoteka = Dir
Vrstica = Vrstica + 1
Loop
Set objWrd = Nothing
End Sub
Preverite še enkrat, ker bi makro moral prešteti znake in presledki. Konstanta: 'wdStatisticCharactersWithSpaces' namreč pomeni 'Znake s presledki'...
3.
Poglejte še malo po forumu ali med pogostimi vprašanji na http://www.matjazev.net/pnew/index.php? ... index.html in če ne najdete odgovora vam bom še pomagal.
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Makro za štetje besed v Wordu
Pozdravljeni ponovno!
Me veseli, da ste spet online
Kar se pa tiče tegale makra, pa nekaj ne štima: namreč, javi napako "Compile error: Duplicate declaration in current scope".
Poleg tega označi
...Datoteka = Dir(mapa & "\*.rtf", vbNormal)
Do While Datoteka <> ""
Dim wFile...
Hvala in lp,
Micka
Me veseli, da ste spet online
Kar se pa tiče tegale makra, pa nekaj ne štima: namreč, javi napako "Compile error: Duplicate declaration in current scope".
Poleg tega označi
...Datoteka = Dir(mapa & "\*.rtf", vbNormal)
Do While Datoteka <> ""
Dim wFile...
Hvala in lp,
Micka
Pa še res je ,
Je preveč samo spodnja deklaracija za wFile, a vam prilagam kar celoten makro :
Je preveč samo spodnja deklaracija za wFile, a vam prilagam kar celoten makro :
Koda: Izberi vse
'www.matjazev.net
' 4.6.2006
Sub PrestejWordZnakeVMapi()
Dim mapa As String
Dim Vrstica As Long
Dim Datoteka As String
Dim objWrd As Object
mapa = "C:\Moji dokumenti"
Vrstica = 1
Set objWrd = CreateObject("Word.Application")
Datoteka = Dir(mapa & "\*.doc", vbNormal)
Do While Datoteka <> ""
Dim wFile
Set wFile = objWrd.Documents.Open(mapa & "\" & Datoteka)
Cells(Vrstica, 1) = mapa & "\" & Datoteka
Cells(Vrstica, 2) = wFile.ComputeStatistics(wdStatisticCharactersWithSpaces)
wFile.Close
Datoteka = Dir
Vrstica = Vrstica + 1
Loop
Datoteka = Dir(mapa & "\*.rtf", vbNormal)
Do While Datoteka <> ""
Set wFile = objWrd.Documents.Open(mapa & "\" & Datoteka)
Cells(Vrstica, 1) = mapa & "\" & Datoteka
Cells(Vrstica, 2) = wFile.ComputeStatistics(wdStatisticCharactersWithSpaces)
wFile.Close
Datoteka = Dir
Vrstica = Vrstica + 1
Loop
Set objWrd = Nothing
End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Pozdravljeni,
hm, sem kar dolgo iskal, kaj bi lahko bilo narobe, ker meni, kot rečeno vse deluje pravilno... No pa sem našel in res je kar pravite, vam ta makro šteje besede, meni pa znake s presledki... Da vas ne utrujem s tehničnimi podrobnostmi... Na vrh kode, pred proceduro dodajte sledečo vrstico:
Vaš makro mora sedaj izgledati takole:
hm, sem kar dolgo iskal, kaj bi lahko bilo narobe, ker meni, kot rečeno vse deluje pravilno... No pa sem našel in res je kar pravite, vam ta makro šteje besede, meni pa znake s presledki... Da vas ne utrujem s tehničnimi podrobnostmi... Na vrh kode, pred proceduro dodajte sledečo vrstico:
Koda: Izberi vse
Const wdStatisticCharactersWithSpaces = 5
Koda: Izberi vse
Const wdStatisticCharactersWithSpaces = 5
' www.matjazev.net
' 4.6.2006
Sub PrestejWordZnakeVMapi()
Dim mapa As String
... in še veliko vrstic naprej ...
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Makro za štetje besed v Wordu
Neverjetno! Čista umetnost! Dela!
Hvala vam za tole, seveda sledi promocija vsem mojim znancem, kako je tam na internetu ena super stran, kjer je eden "brihten admin".
Hvala in lp,
Micka
Hvala vam za tole, seveda sledi promocija vsem mojim znancem, kako je tam na internetu ena super stran, kjer je eden "brihten admin".
Hvala in lp,
Micka