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