Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Using VBA in MS/Access to build PowerPoint Slides

Posted on 2009-04-06
4
Medium Priority
?
320 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

Free Backup Tool for VMware and Hyper-V

Restore full virtual machine or individual guest files from 19 common file systems directly from the backup file. Schedule VM backups with PowerShell scripts. Set desired time, lean back and let the script to notify you via email upon completion.  

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In earlier versions of Windows (XP and before), you could drag a database to the taskbar, where it would appear as a taskbar icon to open that database.  This article shows how to recreate this functionality in Windows 7 through 10.
In Part II of this series, I will discuss how to identify all open instances of Excel and enumerate the workbooks, spreadsheets, and named ranges within each of those instances.
Basics of query design. Shows you how to construct a simple query by adding tables, perform joins, defining output columns, perform sorting, and apply criteria.
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.

609 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