Solved

Using VBA in MS/Access to build PowerPoint Slides

Posted on 2009-04-06
4
307 Views
Last Modified: 2013-11-28
I am building a set of PowerPoint using VBA inside Microsoft Access 2003.  I need to know how to tell the PowerPoint object how to place a text box directly under another one.  Problem is, I don't know how big the first text box is because the contents may vary each time I run the code.  Maybe there's a better way to do multi-line text boxes that consist of multiple records from a database recordset.  Is there any way to tell at which X value pixel or screen location you currently are set?  Any assistance would be appreciated.
0
Comment
Question by:rdbrunet
  • 2
4 Comments
 
LVL 119

Accepted Solution

by:
Rey Obrero earned 250 total points
ID: 24081737
0
 
LVL 59

Assisted Solution

by:Chris Bottomley
Chris Bottomley earned 250 total points
ID: 24084241
The following code iterates through all shapes on a slide ... slide 1 as defined but you can as easily increment the limits as you add a shape.

Chris
Dim pptApp As Object

Dim pres As Object

Dim pptSlide As Slide

Dim shp As Shape

Dim lngTop As Long

Dim lngleft As Long

Dim lngBottom As Long

Dim lngright As Long
 

    

    Set pptApp = Application

    Set pres = ActivePresentation

    With pptApp

        With pres

            Set pptSlide = .Slides(1)

            lngleft = pptSlide.Shapes(1).Left

            lngTop = pptSlide.Shapes(1).Top

            For Each shp In pptSlide.Shapes

                If shp.Left < lngleft Then lngleft = shp.Left

                If shp.Top < lngTop Then lngTop = shp.Top

                If shp.Left + shp.Width > lngright Then lngright = shp.Left + shp.Width

                If shp.Top + shp.Height > lngBottom Then lngBottom = shp.Top + shp.Height

            Next

        End With

    End With

Open in new window

0
 

Author Comment

by:rdbrunet
ID: 24092772
Thanks for the feedback.  I actually figured out that if I counted the characters using the LEN() function, I could pre-determine the amount of space I needed to allocate in PowerPoint for the text box shape.  Works like a charm.
0
 

Author Closing Comment

by:rdbrunet
ID: 31567242
These were good pointers although they did not directly address the issue I was experiencing.  Thanks for the feedback.
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

In a multiple monitor setup, if you don't want to use AutoCenter to position your popup forms, you have a problem: where will they appear?  Sometimes you may have an additional problem: where the devil did they go?  If you last had a popup form open…
Setting the Scene PowerPoint is a creative tool in the right hands but it also includes a much underutilised programming dimension. In this beginner level article, we're going to show you some of some key elements of programming PowerPoint using th…
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…
In Microsoft Access, when working with VBA, learn some techniques for writing readable and easily maintained code.

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now