Horizontalno poravnanje teksta u ćeliji tabele - MS Word

Horizontalno poravnanje teksta u ćeliji tabele - MS Word

offline
  • Miroslav R. Maričić
  • diplomirani inženjer mašinstva, profesor
  • Pridružio: 06 Jun 2012
  • Poruke: 229
  • Gde živiš: Hajdučica, Banat, Srbija

Пишем програм који користи Excel и Word за креирање извештаја. Потребне објекте и методе сам пронашао на Интернету, примере за VB, које сам само мало синтаксно прилагодио програмском језику са којим радим (Harbour Mini Gui верзија 3.1.1.) и то је исправно радило. На пример, код за вертикално поравнање (центрирање) текста у другом реду табеле изгледа овако:

oTable:Rows(2):Cells:VerticalAlignment := 1

и ово ради добро.
Када сам, аналогно претходном примеру, употребио следећи код

oTable:Rows(2):Cells:HorizontalAlignment := 1

да бих добио и хоризонтално поравнање (опет центрирано), појављује се следећа грешка:

Error WINOLE/1008 No exported variable: HORIZONTALALIGNMENT (DOS Error -2147352570)

Јасно ми је шта та грешка значи, па сам дуго времена тражио по Интернету пример за хоризонтално поравнање текста унутар ћелије (лево, центар, десно) и нисам нашао ништа. Стога бих замолио програмере у VB да ми напишу део кода који врши ХОРИЗОНТАЛНО ПОРАВНАЊЕ ТЕКСТА У ЋЕЛИЈИ ТАБЕЛЕ MS WORDA. А ја ћу лако преправити код да синтаксно одговара мом прог. језику с којим радим. Хвала ! Laughing



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4576

Ne razumem te baš najbolje, jel radiš sa Harbour-om ili VB?



offline
  • Srđan Tot
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

U VB bi to izgledalo ovako:
oTable.Rows(2).Cells.HorizontalAlignment = 1

offline
  • Miroslav R. Maričić
  • diplomirani inženjer mašinstva, profesor
  • Pridružio: 06 Jun 2012
  • Poruke: 229
  • Gde živiš: Hajdučica, Banat, Srbija

Радим са "HMG 3.1.1." а то значи Harbour + MiniGui (графичка библиотека за Win). Пошто је то бесплатно и опен сорс, нема довољно (скоро никакаво) упутство (списак објеката, метода, функција са све синтаксом и описом како то ради), па се ми, који то користимо, сналазимо како знамо. Зато сам на Интернету нашао у Визуал Бејзику како се користи Excel и Word и то примењујем, уз одговарајуће измене, наравно. На пример, за креирање документа у Word-у нашао сам следећи код у VB:

Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Set objDoc = objWord.Documents.Add()
Set objSelection = objWord.Selection
objSelection.Font.Name = "Arial"
objSelection.Font.Size = "18"
objSelection.TypeText "Network Adapter Report"
objSelection.TypeParagraph()


Ја ово преводим, да би радило у "HMG 3.1.1.", овако:

objWord := CreateObject("Word.Application")
objWord.Visible := .Т.
objWord:Documents:Add()
objSelection := objWord:Selection()
objSelection:Font:Name := "Arial"
objSelection:Font:Size := 18
objSelection:TypeText( "Трла баба лан, да јој прође дан Razz " )
objSelection:TypeParagraph()


Итд, итд, итд...
Дакле, могу се уочити разлике у синтакси (у VB-у се објекти раздвајају ТАЧКАМА, а у "HMG 3.1.1."-у ДВОТАЧКАМА, итд...
И то све лепо ради... Али, нисам успео да нађем како да извршим хоризонтално поравнавање текста у ћелијама табеле...

Srki_82 је послао овај код: oTable.Rows(2).Cells.HorizontalAlignment = 1 .

Ја сам написао раније да такав код неће да ради, тј, добијам грешку коју сам такође навео у претходној поруци... Тај део кода би у синтакси Харбура изгледао овако:

oTable:Rows(2):Cells:HorizontalAlignment := 1 значи само двотачке уместо тачака.

Мора да је нешто друго у питању... Ако би VB програмери написали парче кода којим се креира табела са "икс" редова и "ипсилон" колона, па онда убацили неки произвољан текст и извршили вертикално и хоризонтално центрирање, па тај код објавили, ја бих онда тачно знао шта да радим... Јбг, уморио сам се, данима копам по Нету и ништа... Crying or Very sad

offline
  • Srđan Tot
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Aha... nisam razumeo pitanje Smile Probaj ovako:
oTable:Rows(2):Cells:VerticalAlignment := 1 oTable:Rows(2):Select() oSelection:ParagraphFormat:Alignment := 1

offline
  • Miroslav R. Maričić
  • diplomirani inženjer mašinstva, profesor
  • Pridružio: 06 Jun 2012
  • Poruke: 229
  • Gde živiš: Hajdučica, Banat, Srbija

Овако сам урадио:
...
...
oTable:Rows(2):Cells:VerticalAlignment := 1
oSelection:=oTable:Rows(2):Select()
oSelection:ParagraphFormat:Alignment := 1

Јавља се runtime грешка: Error BASE/1004 No exported method: PARAGRAPHFORMAT
Значи, други ред кода је ок, али у трећем јавља да нема тај метод "ParagraphFormat"...

Ај' види још неке варијанте, можда упали Smile ... Одох сад на славу, Св. Трифун, код пријатеља! Smile

offline
  • Srđan Tot
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Napisano: 14 Feb 2013 19:47

Ne, ne... taj oSelection dobijaš onako kako si ga i pre dobijao:
oSelection := oWord:Selection()

Dopuna: 14 Feb 2013 19:48

Funkcija oTable:Rows(2):Select() ne vraća ništa.

offline
  • Miroslav R. Maričić
  • diplomirani inženjer mašinstva, profesor
  • Pridružio: 06 Jun 2012
  • Poruke: 229
  • Gde živiš: Hajdučica, Banat, Srbija

Ово ради !!!!
Srki_82, МАЈСТОРЕ! ХВАЛА И ЖИВЕО ! Very Happy
(Управо сам дошао са славе, благо поднапит, Smile )

Ko je trenutno na forumu
 

Ukupno su 1365 korisnika na forumu :: 81 registrovanih, 8 sakrivenih i 1276 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 15694 - dana 01 Feb 2026 12:23

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 015, 6.5lapua, ajo baba, Armadillo, arsa, Atomski čoban, babaroga, bajonet, bakovaca, bbogdan, bojankrstc, bokicacar, bozo13, cavatina, cenejac111, cinoeye, Clouseau, coaa, Colt D, comi, Crazzer, darionis, darkdruid72, Darko Jovanovic, Dimitrije Paunovic, Dioniss, djboj, Dolinc, draganl, Dzoni2412, ekser222, ElGenius, esx66, Georgius, goxin, GveX, hattori, In_hero, Ivanmateja, Ivoo, jon istvan, JOntra, Kajzer Soze, kib, Kubovac, laki_bb, lima, Litostroton, marera, MB120mm, mean_machine, mediatekar, mercedesamg, Miler88, Millennium, MiroslavD, Mićko, mocnijogurt, nebkv, Panter, peradetlić, Pero, picknick, Pilence, ruma, sasovsky, Satnik1295, Semberija, Silvertooth, Sirius, Slingshot, stefan95, tubular, vaci, vathra, vidra1, Vlada1389, yip314, Zoran1959, |_MeD_|, Čivi