zapocet 11.1.2008

Odeslat odpověď

Smajlíci
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode je zapnutý
[img] je zapnutý
[flash] je vypnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: zapocet 11.1.2008

Re: zapocet 11.1.2008

od nardew » 30. 1. 2008 15:23

pisal si ze si mal len to makro, lebo si mal dost bodov za domace ulohy.. mozem vediet kolko presne to bolo "dost bodov" v tvojom pripade? :) dik

Re: zapocet 11.1.2008

od hippies » 11. 1. 2008 22:30

jasny:) .. ja si jen nedovedu predstavit, ze bych neco takoveho bez doevents ladil, tak me prekvapilo, ze to tam nevidim;):D .. jinak pekny kod, predmet jsem sice nedal, ale VBA se celkem venuju a zas jsem okoukal par peknych triku:D

Re: zapocet 11.1.2008

od vidlak » 11. 1. 2008 17:24

To je dobre :) Diky za radu. Vsunuti DoEvents do cyklu pomohlo alespon v tom smyslu, ze word odpovida v realnem case a nezasek se. Jinak to zpomaleni je pry zpusobeno nejakou konverzi znaku pro tiskarnu (ci neco takoveho mi rikala pi. Forstova).

Ale to je stejne jedno...ucel (zapocet) to splilo aj tak :lol:

Re: zapocet 11.1.2008

od hippies » 11. 1. 2008 13:57

nebylo by slusne dat tam nekam doevents?

zapocet 11.1.2008

od vidlak » 11. 1. 2008 13:14

Na termin se nakonec prihlasili jen 4 lide(+nejaci dalsi z buhvijakeho predmetu). Ani nevim, jak kdo dopadl. Behem testu neni pristup k internetu, nesmi se pouzivat temer nic (ani mobil nemuze byt na stole). Povolena je jen napoveda MS Office, pripadne donesene tiskoviny (knizky, vypisky) a prezentace z prednasek (pribaleny u zadani). Obvykle zadani je excelovsky soubor s tabulkovymi ukoly jako pri cvicenich (viz predchozi temata) a naprogramovani makra. Ja odevzdal hodne bodovanych ukolu, tak sem dostal jen to makro.
zadani:
v prvnim odstavci dokumentu je text, zbytek dokumentu prazdny. Makro ma vytisknout vzorkovnik vsech dostupnych fontu tak, ze pro kazdy font vytvori novy odstavec, do nej na zacatek vypise jmeno fontu (fontem Arial, vel. 12) a za nej text z prvniho odstavce timto fontem vel. 12, normalne, tucne a kurzivou. Castecny vystup je v priloze.

moje reseni:

Kód: Vybrat vše

Sub vzornik()
  Dim i As Integer
  Dim ukazatel As Range
  Dim vstup As Range
  Dim s As String
  
  'ulozeni celeho prvniho odstavce
  Set vstup = ActiveDocument.Paragraphs(1).Range
  'vyber zkratime o znak konce odstavce
  vstup.End = vstup.End - 1
  'nastaveni ukazatele na nejakou hodnotu, jen aby byla promenna inicializovana
  Set ukazatel = ActiveDocument.Paragraphs(1).Range
  
  'LandscapeFontNames - objekt, ktery obsahuje jmena vsech dostupnych fontu
  For i = 1 To LandscapeFontNames.Count
    s = LandscapeFontNames(i)
    'pridani noveho odstavce
    ActiveDocument.Paragraphs.Add
    
    With ActiveDocument.Paragraphs(i + 1).Range
      .Text = s & ": " 'nejdriv vypise na zacatek jmeno fontu
      .Font.Reset 'vymaze se puvodni font odstavce
      .Font.Name = "Arial" ' a nastavi se na Arial
      
      ukazatel.Start = .End - 1 'ukazatel nastavime na posledni misto pred znakem konce odstavce
      ukazatel.End = ukazatel.Start 'a nastavime mu nulovou sirku
      ukazatel.InsertAfter (vstup.Text & " ") 'ted za nej vytisknem vstup
      ukazatel.End = .End - 1 'ukazatel rozsirime o vsechno co jsme vlozili
      ukazatel.Font.Reset 'vymazeme puvodni font
      ukazatel.Font.Name = s 'a nastavime na aktulne zpracovavany
      
      ukazatel.Collapse (wdCollapseEnd) 'ukazatel stahneme jen na konec vlozeneho textu
      ukazatel.InsertAfter (vstup.Text & " ") 'a pokracujeme dal stejne jako predtim
      ukazatel.End = .End - 1
      ukazatel.Font.Bold = True 'jen font je uz nastaven, staci jen zmenit na bold
      
      ukazatel.Collapse (wdCollapseEnd) 'a znovu to same
      ukazatel.InsertAfter (vstup.Text)
      ukazatel.End = .End - 1
      ukazatel.Font.Bold = False 'jen ted jeste musime zrusit bold preneseny od predchoziho
      ukazatel.Font.Italic = True
      
      .Font.Size = 12 'a celemu odstavci nastavime velikost pisma na 12
    End With
  Next
  
End Sub
Nakonec sem to dostal za 1! Hura!!

P.S.: Makro je sice spravne, ale pri spusteni muze trvat hoooodne dlouho nez dobehne (zpomalovano jistou systemovou procedurou :evil: ). V labu na Male Strane bezelo asi 2 minuty, v labu v Troji nedobehlo(taky je tu nainstalovanych 861 fontu :lol: ...)
Přílohy
vzorkovnik.doc
(41 KiB) Staženo 311 x

Nahoru