Makro za urejanje Wordove tabele

Pomoč pri izdelavi makrov
Odgovori
rudolffrance
Prispevkov: 2
Pridružen: To Apr 02, 2013 11:52 pm

Makro za urejanje Wordove tabele

Odgovor Napisal/-a rudolffrance »

Pozdravljeni!
V Wordu imam tabelo s tremi stolpci:

0.00000 0.00000 -9.38999
0.50062 0.00000 -8.82186
1.00125 0.00000 -8.13186
1.50000 0.00000 -7.58624
2.00062 0.00000 -7.06312
2.50125 0.00000 -6.53624
3.00000 0.00000 -6.13874
3.50062 0.00000 -5.68312
4.00124 0.00000 -5.30437
4.49999 0.00000 -4.93312
5.00062 0.00000 -4.59937
5.50124 0.00000 -4.27499
5.99999 0.00000 -3.97125
6.50062 0.00000 -3.72375
7.00124 0.00000 -3.47625
7.49999 0.00000 -3.22500
8.00061 0.00000 -3.02625
8.50124 0.00000 -2.81812
8.99999 0.00000 -2.63625
9.50061 0.00000 -2.45812
10.00124 0.00000 -2.31000


Vsakemu številu v stolpcih moram dodati črko X, Y ali Z vse do konca:

X0.00000 Y0.00000 Z-9.38999
X0.50062 Y0.00000 Z-8.82186
X1.00125 Y0.00000 Z-8.13186
X1.50000 Y0.00000 Z-7.58624
X2.00062 Y0.00000 Z-7.06312
X2.50125 Y0.00000 Z-6.53624
X3.00000 Y0.00000 Z-6.13874
X3.50062 Y0.00000 Z-5.68312
X4.00124 Y0.00000 Z-5.30437
X4.49999 Y0.00000 Z-4.93312
X5.00062 Y0.00000 Z-4.59937
X5.50124 Y0.00000 Z-4.27499
X5.99999 Y0.00000 Z-3.97125
X6.50062 Y0.00000 Z-3.72375
X7.00124 Y0.00000 Z-3.47625
X7.49999 Y0.00000 Z-3.22500
X8.00061 Y0.00000 Z-3.02625
X8.50124 Y0.00000 Z-2.81812
X8.99999 Y0.00000 Z-2.63625
X9.50061 Y0.00000 Z-2.45812
X10.00124 Y0.00000 Z-2.31000


V davnih časih, ko je bil ta jezik še enostavnejši, bi znal napisati ustrezen makro, sedaj pa mi to ne gre. Pomagal sem si s posnetim makrom in ga ponavljal do konca tabele.

Sub X()
'
' X Macro
'
Selection.TypeText Text:="X"
Selection.HomeKey Unit:=wdLine
Selection.MoveDown Unit:=wdLine, Count:=1
Selection.TypeText Text:="X"
Selection.HomeKey Unit:=wdLine
Selection.MoveDown Unit:=wdLine, Count:=1
Selection.TypeText Text:="X"
Selection.HomeKey Unit:=wdLine
Selection.MoveDown Unit:=wdLine, Count:=1
Selection.TypeText Text:="X"
Selection.HomeKey Unit:=wdLine
Selection.MoveDown Unit:=wdLine, Count:=1
End Sub


Tabele so dolge 50 000 vrstic in več, zato ta postopek ni najbolj eleganten, pa tudi dolgotrajen je, zato prosim za pomoč. Zadostovalo mi bo, če se postavim v prvo celico in poženem makro, ki vriva X do zadnje vrstice stolpca. Za druge stolpce ga bom že priredil.

Hvala vnaprej in lep pozdrav!
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Makro za urejanje Wordove tabele

Odgovor Napisal/-a admin »

Pozdravljeni,

OJOJ... to ste si pa izbrali povsem napačno orodje... za tabele imate Excel, kaj naj Word počne s tabelo velikosti 50.000 vrstic. Ah :(

Seveda pa čisto preprost makro tudi ni nič zapletenega za Word. Postavite se v prvo celico v prvi vrstici tabele in zaženite pripeti makro v katerem opač spremenite število vrstic, in znake, ki jih želite v celicah:

Koda: Izberi vse

Sub VstaviZnak()
  Dim st As Long
  For st = 0 To 50000 ' tu vpišite število vrstic
    Selection.HomeKey Unit:=wdLine
    Selection.TypeText Text:="X"    ' znak za prvo kolono
    Selection.MoveRight Unit:=wdCell
    
    Selection.HomeKey Unit:=wdLine
    Selection.TypeText Text:="Y"    ' znak za drugo kolono
    Selection.MoveRight Unit:=wdCell
    
    Selection.HomeKey Unit:=wdLine
    Selection.TypeText Text:="Z"    ' znak za tretjo kolono
    Selection.MoveRight Unit:=wdCell
  Next
End Sub
lp,
Matjaž Prtenjak
Administrator
rudolffrance
Prispevkov: 2
Pridružen: To Apr 02, 2013 11:52 pm

Re: Makro za urejanje Wordove tabele

Odgovor Napisal/-a rudolffrance »

Hvala za hiter odgovor.
Word sem izbral, ker se mi je zdel primernejši za ta namen.
Tabele so izpis CNC stroja pri skeniranju in so dejanske XYZ koordinate točk na skenirani ploskvi, vendar stroj črk ne izpisuje.
Datoteka je Triplet File s končnico "txt" in ima vrednosti ločene z vejico.
Ko dodam črke in izbrišem vejice, dobim "G-kodo" - program ki vodi CNC rezkalnik pri obdelavi novega predmeta.
Lahko jo odprem v Excelu, vendar tudi tu rabim makro za dodajanje črk in na koncu potrebujem navadno besedilo brez vejic.
Tako pa datoteko odprem v Wordu, spremenim v tabelo in se znebim vejic, dodam črke in tabelo ponovno spremenim v besedilo.

Priloženi makro deluje, vendar ima pomanjkljivost. Določeno ima natančno število vrstic, jaz pa bi želel da sam ugotovi, da je prišel na konec tabele.
Tabele so namreč zelo različne. Skeniranje enega kvadratnega decimetra z mrežo 1x1 mm da 10000 vrstic, z gostejšo mrežo pa nekajkrat več.
Če makru dodate funkcijo, ki bo ugotovila konec vrstice ali pa prazno celico, bom zelo hvaležen.

Lep pozdrav!
France Rudolf
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Makro za urejanje Wordove tabele

Odgovor Napisal/-a admin »

Pozdravljeni,

več vam lahko ponudim tukaj.
lp,
Matjaž Prtenjak
Administrator
Odgovori