Improve company productivity with a Business Account.Sign Up

x
?
Solved

Using VBA in MS/Access to build PowerPoint Slides

Posted on 2009-04-06
4
Medium Priority
?
325 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 120

Accepted Solution

by:
Rey Obrero (Capricorn1) earned 750 total points
ID: 24081737
0
 
LVL 59

Assisted Solution

by:Chris Bottomley
Chris Bottomley earned 750 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

Get 10% Off Your First Squarespace Website

Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to Squarespace.com and use offer code ‘EXPERTS’ to get 10% off your first purchase.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Audit trails are very important in any system to hold people responsible for certain transactions and hold them to take ownership of their actions. This article is dedicated to all novice "Microsoft Access" developers.
Usually, rounding is performed by some power of 10 - to thousands, hundreds, tens, or integer - or to one, two, or more decimals. But rounding can also be done to a power of two, say, 16 or 64, or 1/32 or 1/1024, even for extreme values.
With Microsoft Access, learn how to start a database in different ways and produce different start-up actions allowing you to use a single database to perform multiple tasks. Specify a start-up form through options: Specify an Autoexec macro: Us…
How can you see what you are working on when you want to see it while you to save a copy? Add a "Save As" icon to the Quick Access Toolbar, or QAT. That way, when you save a copy of a query, form, report, or other object you are modifying, you…

601 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