AVTOMATIČNO USTVARI WORD DOKUMENT

Pomoč pri delu z MS Excelom
Odgovori
d3ath
Prispevkov: 17
Pridružen: Sr Jun 15, 2011 6:21 pm

AVTOMATIČNO USTVARI WORD DOKUMENT

Odgovor Napisal/-a d3ath »

Pozdravljeni!

Imam vprašanje na katerega upam da mi boste znali odgovoriti.
pri delu uporabljam excel z namenom, da vnašam razne podatke, kot so datumi, besedila, kraje, tel št. in podobno...
Navedene podatke nato s pomočjo kopiranja vstavljam v wordov dokument, katerega nato pošiljam oz. tiskam. Problem pa je naslednji:
kako oz. kaj moram narediti, da bi mi excel samodejno ustvaril wordov dokument oz. mi odprl v naprej prirejen dokument oz. več navedenih dokumentov, kot se to da narediti pri spajanju dokumentov vendar v obratnem vrstnem redu. Tako bi lahko preko excela si ustvaril avtomatično po dva ali več različna prednastavljena wordova dokumenta kateri bi mi unesel v že napisani text podatke katere imam v excelu.

upam da ste razumeli mojo težavo in se vam zahvaljujem za odgovor

lp, d3ath
admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: AVTOMATIČNO USTVARI WORD DOKUMENT

Odgovor Napisal/-a admin »

Pozdravljeni,

Popolnoma razumem, kaj želite a vas moram razočarati, da kaj tekšnega ne morete dobiti že kar "iz škatlice". Torej eno izmed opcij ste omenili že sami - to je spajanje dokumentov. Druga opcija, torej natančno takšna, kot jo želite vi, pa ni izvedljiva brez posebnega makra, ki bi vam to naredil.

Napisati je zatorej potrebno makro, ki odpre Word, ustvari nov dokument ali vzame nekega obstoječega (neko predlogo) ter vanj vpiše željene podatke. Word v VBA-ju kontrolirate preko objekta Word.Application, kot je prikazano v tejle ematiki. A za takšen makro je potrebno že malce programerskega znanja :(

Če se odločite v tej smeri vam lahko pomagam...
lp,
Matjaž Prtenjak
Administrator
d3ath
Prispevkov: 17
Pridružen: Sr Jun 15, 2011 6:21 pm

Re: AVTOMATIČNO USTVARI WORD DOKUMENT

Odgovor Napisal/-a d3ath »

Hvala za hiter odgovor!

Mam pa še eno vprašanje? Malo sem naštudiral makro in je ql, samo zanima me pa to kako naredim da se mi ob odprtju dokumenta, makro samodejno zažene in izvede ukaze katere sem predhodno posnel in kako nato dosežem da se po izvršitvi ukazov le ta dokument zapre.

lp, d3ath
admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: AVTOMATIČNO USTVARI WORD DOKUMENT

Odgovor Napisal/-a admin »

Makro avtomatično izvedete tako, da ga zapišete v posebno AUTO_OPEN proceduro, kot je opisano v tejle tematiki.

Avtomatično pa zaprete zvezek, tako da ob koncu makra izvedete ukaz za zapiranje zvezka:

Koda: Izberi vse

  ThisWorkbook.Close
lp,
Matjaž Prtenjak
Administrator
d3ath
Prispevkov: 17
Pridružen: Sr Jun 15, 2011 6:21 pm

Re: AVTOMATIČNO USTVARI WORD DOKUMENT

Odgovor Napisal/-a d3ath »

Admin prosim te še za en odgovor oz. dopolnilo.

Imam navedeni napisan macro, kar pa potrebujem je še vrstico, da se navedeni makro vedno aktivira, ko odprem ta konkretni dokument? HVALA

Sub postopek()
'
' postopek Makro
'
'
With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=False
End With
Windows("test depeša.doc [Združljivostni način]").Activate
ThisDocument.Close
End Sub

d
admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: AVTOMATIČNO USTVARI WORD DOKUMENT

Odgovor Napisal/-a admin »

V ThisDocument modul dodajte sledečo proceduro:

Koda: Izberi vse

Private Sub Document_Open()
  postopek
End Sub
lp,
Matjaž Prtenjak
Administrator
d3ath
Prispevkov: 17
Pridružen: Sr Jun 15, 2011 6:21 pm

Re: AVTOMATIČNO USTVARI WORD DOKUMENT

Odgovor Napisal/-a d3ath »

ADMIN NAJLEPŠA HVALA za celotno svetovanje, s tem bom prihranil veliko časa v kolikor pa bom še kaj potreboval pa mi je všeč to da vem da google ni več prvo iskalno orodnje ampak MATJAZEV.NET - ql ste hvala :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D
lp, d3ath
admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: AVTOMATIČNO USTVARI WORD DOKUMENT

Odgovor Napisal/-a admin »

:) Hvala.

V kolikor je vaše navdušenje iskreno vas prosim, da svoje mnenje razširite tudi med vaše prijatelje, znance, sodelavce... Saj več kot nas sodeluje v forumu, večja je baza znanja, ki ga ustvarimo. :wink:

Na voljo pa imaste več stvari:
www.matjazev.net - stran z nasveti, programsko opremo in možnosti izdelave rešitev na ključ
www.matjazev.net/forum - forum, ki ga pravkar gledate
www.matjazev.net/blog - blog s svežimi in zanimivimi informacijami

ter najnovejšega člana

MEXCEL.BIZ - stran z dodatkom za MS Excel
lp,
Matjaž Prtenjak
Administrator
d3ath
Prispevkov: 17
Pridružen: Sr Jun 15, 2011 6:21 pm

Re: AVTOMATIČNO USTVARI WORD DOKUMENT

Odgovor Napisal/-a d3ath »

Admin imam še nekaj vprašanj pa naj začnem z enim:

V excelu sem ustvaril razpredelnico za spajanje dokumenta v wordu. vendar ko v excelu na drugem listu ki sem ga ustvaril naredim hiper povezavo in jo povežen z dokumentom za spajanje, kateri ima že napisan macro:

Sub postopek()
'
' postopek Makro
'
'
ActiveDocument.MailMerge.OpenDataSource Name:= _
"C:\Documents and Settings\Administrator\Desktop\HITRI OBRAZCI\test vnos podatkov.xls" _
, ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
Format:=wdOpenFormatAuto, Connection:= _
"Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\Documents and Settings\Administrator\Desktop\HITRI OBRAZCI\test vnos podatkov.xls;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OL" _
, SQLStatement:="SELECT * FROM `PODATKI$`", SQLStatement1:="", SubType:= _
wdMergeSubTypeAccess
With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=False
End With
ThisDocument.Close OriginalFormat
End Sub


mi pri izvrševanju komande napiše napako errora 4248 če se ne motim, kaj je narobe?
admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: AVTOMATIČNO USTVARI WORD DOKUMENT

Odgovor Napisal/-a admin »

Hm... tole je pa tako specifično da bi moral program razhroščevati in pogledati, kaj je narobe...

Sicer pa sama napaka 4248 pomeni 'This command is not available because no document is open.', kar pomeni, da želite nakaj narediti z oz. nad dokumentom, ki ni odprt. Poglejte po programu kateri dokumenti bi morali biti odprti, da bi vam program deloval pravilno.
lp,
Matjaž Prtenjak
Administrator
d3ath
Prispevkov: 17
Pridružen: Sr Jun 15, 2011 6:21 pm

Re: AVTOMATIČNO USTVARI WORD DOKUMENT

Odgovor Napisal/-a d3ath »

hvala za odgovor še zadnje vprašanje danes grem spat?

v excelu imam v vrstici narejen spustni seznam, preko katerega lahko izberem besedilo kot je npr. ena, ali pa prazno polje. rad pa bi da mi ob praznem polju določeno polje v listu izbriše, ko pa je napisan tekst ena vstavi že v naprej napisano besedilo, tako da se povezujeta, ko je besedilo je tudi druga vrstica polna oz. prikazuje že v naprej napisano besedilo ko pa je prazna pa je tudi druga vrstica prazna oz. skrije besedilo

poskušal sem s funkcijo IF pa mi ne rata???

hvala za odgovor, ADMIN
admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: AVTOMATIČNO USTVARI WORD DOKUMENT

Odgovor Napisal/-a admin »

Spustni seznam v Excelu se za povezati "link" s poljubno celico na listu. In potem v tisti celico zapiše INDEKS izbranega elementa v seznamu. Vi kot razvijalec pa morate v druge celice samo še vpisati if stavek, kjer se vprašate ali je izbran ustrezen index.

Primer (spustni seznam povežete z celico L1 in v spustnem seznamu ima besedica 'celje' položaj index 3):

Koda: Izberi vse

=if(L1=3;"ŽIVIVITE V Celju!"; "")
Če je torej izbrano Celje, se bo v celici, kamor zapišete gornjo formulo izpisalo 'Živite v Celju', sicer pa bo ostala celica prazna.

PS: Prosim da za novo vsebino odprete novo tematiko, saj je potem lažje slediti ;)
lp,
Matjaž Prtenjak
Administrator
Odgovori