Office tippek

Friss topikok

  • Julcsos: Szia! Segítségedet szeretném kérni mert nem boldogulok vele. Az ecxelbe bevittem szépen az adatok... (2012.12.08. 23:04) Saját határidőnapló Wordben? Na neee!
  • dandan: @|katarzis|: Ha a személyek listája nem változik gyakran, akkor irányított szűréssel le lehet kérd... (2010.06.05. 13:32) FKERES függvény

Linkblog

Utolsó kommentek

  • Julcsos: Szia! Segítségedet szeretném kérni mert nem boldogulok vele. Az ecxelbe bevittem szépen az adatok... (2012.12.08. 23:04) Saját határidőnapló Wordben? Na neee!
  • dandan: @|katarzis|: Ha a személyek listája nem változik gyakran, akkor irányított szűréssel le lehet kérd... (2010.06.05. 13:32) FKERES függvény
  • |katarzis|: Azt szeretném megtudni, hogy milyen egyenletet kell alkalmazni pl. az 1956-ban született egyének t... (2010.06.04. 17:57) FKERES függvény
  • Utolsó 20

Címkék

egyenlet (1) excel (5) fkeres (1) howto (4) képek (1) körlevél (1) makró (1) microsoft (13) msklc (1) office (11) office 14 (2) office 2007 (3) outlook (1) powerpoint (1) pptx (1) sp2 (1) stílus (1) tabulátor (1) űrlap (1) vba (1) windows 7 (1) word (8) wordpad (1) Címkefelhő

Prezentáció fekete-fehérben

2009.09.22. 19:36 dandan

A napokban ki akartam nyomtatni egy igencsak hosszú diasort. Egész pontosan 28 kétórás előadás anyaga várt arra, hogy kijöjjön a lézernyomtatóból. "Természetesen" a diák háttere kék színű, ezen pedig sárga és fehér színű szövegek és ábrák szerepelnek. Egy teljes toner ráment volna az 593 dia nyomtatására, ha mindegyik háttere csupa fekete lenne.

Szerencsére a PowerPoint 2007 tud szürkerányalatosan nyomtatni. Ez általában egy jó megoldás, de most nem tűnt járható útnak, mivel a képekre írt szövegekkel, CorelDraw ábrákkal, piros alapon kék nyilakkal nem tud mit kezdeni.

Ha a PowerPoint automatikus átalakítása nem jó, kénytelen vagyok kézzel megcsinálni. Persze nem egyesével, mert 593 dia mégiscsak sok. Az volt a gondolatom, hogy a diamintán kattintok párat és csodák csodájára tökéletes lesz minden. Persze, ha a prezentáció a nagykönyv szerint készült volna, ez segített volna, de közel sem ez volt a helyzet. Arra mindenesetre jó ez, hogy a diák háttereit fehérre, a címdiák címeit pedig feketére állítsam. Ez viszont még nagyon-nagyon kevés. Megmaradnak a rajzok, egyéb szövegek, amik színei a sötét háttérhez idomulnak. Ideje volt a VBA-hoz nyúlni.

A kód nem sok magyarázatot igényel. Lényegében végigsöpör az összes dia összes alakzatán és a szövegek színét feketére állítja (plusz eltűnteti az árnyékolásait, mert nem mutat jól lézernyomtatóval nyomtatva), a fehér vonalakat feketére, a színes vonalakat (100,100,100) színűre állítja, hasonlóan átszínezi a fekete kitöltésű alakzatokat is. Persze lehetne az explicit meghatározott (100,100,100) szín helyett az eredeti színtől függő az új szín, de erre itt nem volt szükség. 

 

Sub Atszinez()

    On Error Resume Next

    Dim dia As Slide, alakzat As Shape

   

    UserForm1.Show False

    Dim i As Integer

   

    i = 0

    For Each dia In ActivePresentation.Slides

        dia.Select

        i = i + 1

        UserForm1.Label1.Caption = i & "/" & ActivePresentation.Slides.Count

        UserForm1.ProgressBar1.Value = (i * 100) / ActivePresentation.Slides.Count

        UserForm1.Repaint

        For Each alakzat In dia.Shapes

          With alakzat.TextFrame.TextRange.Font

                .Color.RGB = RGB(0, 0, 0)

                .Shadow = False

          End With

          If alakzat.Line.ForeColor.RGB = RGB(255, 255, 255) Then

                alakzat.Line.ForeColor.RGB = RGB(0, 0, 0)

          Else

                If alakzat.Line.ForeColor.RGB <> RGB(0, 0, 0) Then

                    alakzat.Line.ForeColor.RGB = RGB(100, 100, 100)

                End If

          End If

         

          If alakzat.Fill.ForeColor.RGB = RGB(0, 0, 0) Then

                alakzat.Fill.ForeColor.RGB = RGB(255, 255, 255)

          Else

                If alakzat.Line.ForeColor.RGB <> RGB(255, 255, 255) Then

                    alakzat.Line.ForeColor.RGB = RGB(50, 50, 50)

                End If

          End If

        Next alakzat

    Next dia

    UserForm1.Hide

End Sub

 

A dőlt betűs, szürke részek azért kerültek bele, hogy valami visszajelzés is legyen a makró futásáról. Egy egyszerű UserFormot hoztam létre egy Progressbarral és egy Labellel, valahogy úgy, mint bal oldali képen.

 

Ez a kód a munka jelentős részét elvégzi helyettünk. Utána kb. 10 perc alatt a maradék módosításokat meg tudtam tenni kézzel. A megoldás nem tökéletes, de a cél az volt, hogy 3-5 óra helyett 1 órán belül nyomtatható legyen a prezentáció, ez sikerült.

Az illusztrációul szolgáló diák dr. Szirmay-Kalos László honlapjáról származnak.

Szólj hozzá!

A bejegyzés trackback címe:

https://msoffice.blog.hu/api/trackback/id/tr171400176

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása