OT: Makro v Exceli

sirotnik.rastislav@slsp.sk sirotnik.rastislav
Středa Březen 17 14:36:37 CET 2004


Dopredu sa ospravedlnujem za OT, ale HW-konfera je posledna instancia, na
ktoru sa obraciam s nasledujucim (na prvy pohlad jednoduchym) problemom.
Pripadne odpovede prosim na sukr. mail.

> Potrebujem vytvorit makro v Exceli, ktor? mi otvori wordovsky dokument a v
> nom prevedie zamenu slov, ktore mam v excelovskej tabulke - slovo z 1.
> stlpca zameni v dokumente za slovo z 2. stlpca.
> 
> Tu je makro pre Excel, ktore som zbuchal:
**********************************
> Sub NaplnDOC()
> Dim riadok
> Dim MojWOrd As Object
> Set MojWOrd = GetObject("d:\docs\xxx.doc")
> MojWOrd.Parent.Visible = True
> MojWOrd.Activate
> MojWOrd.Windows.Add
> MojWOrd.Parent.Activate
> riadok = 1
> tuskoc:
>   With MojWOrd.Parent.Selection.Find
>         .Text = Sheets(1).Cells(riadok, 1).Value
>         .Replacement.Text = Sheets(1).Cells(riadok, 2).Value
>         .Forward = True
>         .Wrap = wdFindContinue
>         .Format = False
>     End With
>   MojWOrd.Parent.Selection.Find.Execute Replace:=wdReplaceAll  
>   riadok = riadok + 1
> If (Sheets(1).Cells(riadok, 1).Value <> "") Then GoTo tuskoc
> End Sub
**********************************

> Makro prebehne, otvori pozadovany subor ale nic nezameni. Krokovanim som
> zistil, ze pozadovane slovo najde, ale neprevedie zamenu. Absolutne
> neviem, kde je chyba. Najzaujiavejse na tom je, ze ked vyrobim makro vo
> Worde a beriem data z Excelu, tak to bezproblemov funguje.
> 
Fungujuce makro do Wordu, ktore ale pre moju potrebu nemozem pouzit:

**********************************
> Sub aaaa()
> 
> Dim mojexcel As Object
> Dim riadok
> 
> Set mojexcel = GetObject("d:\docs\vzor.xls")
> mojexcel.Application.Visible = True
> mojexcel.Parent.Windows(1).Visible = True
> riadok = 1
> tuskoc:
>   With Selection.Find
>         .Text = mojexcel.sheets(1).Cells(riadok, 1).Value
>         .Replacement.Text = mojexcel.sheets(1).Cells(riadok, 2).Value
>         .Forward = True
>         .Wrap = wdFindContinue
>         .Format = False
>     End With
>   Selection.Find.Execute Replace:=wdReplaceOne 
>   riadok = riadok + 1
>   If (mojexcel.sheets(1).Cells(riadok, 1).Value <> "") Then GoTo tuskoc
> End Sub
**********************************

Dakujem za pripadnu pomoc.

Sirotnik


This email has been swept by
MIMEsweeper for the presence of computer viruses.





Další informace o konferenci Hw-list