Excel Vba Fails To Insert A Picture File (.jpg) Into Powerpoint |
Excel Vba Fails To Insert A Picture File (.jpg) Into Powerpoint - Excel |
|
The attached excel workbook builds a power point (3 slides), inserts a text box into slide 1 with text from the excel and inserts a picture (.jpg) into slide 2. Everything works except after the picture inserts a 'Type Mismatch' run time error triggers. The line of code that errors was generated by the macro generator in powerpoint but using it in Excel VBA fails (I have the PowerPoint reference switched on). Here is a snipped of the code so you don't have to open the workbook but the workbook does a better job of showing the problem. The 3rd line from the bottom up triggers the runtime error 'Run-time error 13, Type Mismatch'. I checked the path and filename like crazy, I don't think that's the problem. Thanks again for your help.
Code:
Dim oPA As PowerPoint.Application Dim oPP As PowerPoint.Presentation Dim oPS As PowerPoint.Slide Dim oShape As PowerPoint.Shape Dim oPicture As Shape 'Load variables sPath = Cells(11, 2) sFile = Cells(11, 3) sPIVRpic = Cells(11, 4) sString1 = Cells(11, 5) sString2 = Cells(11, 6) 'Build PowerPoint Set oPA = New PowerPoint.Application oPA.Visible = msoTrue Set oPP = oPA.Presentations.Add(msoTrue) oPA.ActiveWindow.ViewType = ppViewSlide For C1 = 1 To 3 oPP.Slides.Add 1, ppLayoutBlank Next C1 'Build/format text box Set oPS = oPP.Slides(1) Set oShape = oPS.Shapes.AddTextbox(msoTextOrientationHorizontal, 140#, 246#, 400#, 36#) oShape.TextFrame.WordWrap = msoTrue oShape.TextFrame.TextRange.Text = sString1 & " " & sFile With oShape .Fill.Visible = msoTrue .Fill.Solid .Fill.ForeColor.RGB = RGB(204, 255, 255) .Line.Weight = 3# .Line.Visible = msoTrue .Line.ForeColor.SchemeColor = ppForeground .Line.BackColor.RGB = RGB(255, 255, 255) End With 'Slide 2 Set oPS = oPP.Slides(2) 'Add/Size picture 'Set oPicture = oSlide.Shapes.AddPicture(MyPath & "\" & MyFilename, msoFalse, msoTrue, 1, 1, 1, 1) 'this line from marco generator, it works in powerpoint VBA (e.g. when powerpoint is host) Set oPicture = oPS.Shapes.AddPicture(sPath & "\" & sPIVRpic, LinkToFile:=msoFalse, SaveWithDocument:=msoTrue, Left:=1, Top:=1, Width:=700, Height:=500) 'left, top, width, height <----------------------------------------------Picture inserts then Run-time error triggers here. oPicture.ScaleHeight 0.5, msoTrue oPicture.ScaleWidth 0.5, msoTrue
Similar Topics
As the title goes this is as simple as it gets. The macro worked good when I was using excel 2003 but now that I have 2007 everything works for except the resizing (Picture.Width & Picture. Height).
Code:
Sub AddImage() Dim strPath As String Dim strFile As String Dim Picture As Object Dim Response As String Dim C As Range strPath = "C:\\Photos\" For Each C In Range("A1", Range("A65536").End(xlUp)) If C 0 Then With C.Offset(0, 1) Set Picture = Nothing On Error Resume Next Set Picture = Sheets("Raw Pix").Pictures.Insert(strPath & C.Value & ".jpg") Picture.Top = .Top Picture.Left = .Left Picture.LockAspectRatio = msoTrue Picture.Width = 157 Picture.Height = 138 End With End If NextC: Next C End Sub
I have tried to record some macros while I am resizing the pictures but to no avail the macros are blank.
Please help
Thanks!
Thanks!
worksheet. The first column of the table is a list of numbers. I tried
converting the table into text with manual line breaks and tab stops to
divide columns and rows, but that didn't solve my problem.
Excel pastes the data into several rows. When I try to merge them, I
get a warning that the selection contains multiple data values, and
merging into one cell keeps the upper-left most data only.
What I tried that didn't work:
* Formatting the Excel cells as text before pasting the data.
* The various options for "Paste Special." The closest I got was
inserting the table as a Document Object, which could be a workaround,
I guess.
What I am saving for when all else fails:
* The obvious solution of copying row by row into one Excel cell.
The data in the table is information about my dad's medications. I
would like to have reference charts of how to identify the strength of
each tablet by its color and markings. I got the info from the
manufacturers' websites and entered it into tables in Word, which I
would like to copy into a more comprehensive file I am creating in
Excel. The first column of each table is the strength of the tablet,
entered as 1 mg., 2 mg., etc. The subsequent columns describe the
shape, color, and markings. There are 3 tables, each with about 4-5
rows.
Is there a way to copy each one - whether as a table or as text - into
a single Excel cell without losing data?
Many thanks.
I have a sheet with raw data a sheet with pivot tables a sheet with a dashboard and a simple macro
I don't have any #REF cells either.
Someone has any idea of what could be the problem?
thanks
NA
We will be building 8 "widgets" a day.
We will work 10 hours a day.
There is a 20 minute break at 9:20 am.
Production shuts down for lunch 30 minutes for lunch at 12:30.
Production starts at 6:00 am.
Here is what I can do.
Production cycle time = (10*60)-30/8 or 71.25 minutes
If we start at 6:00 am, the first scheduled cycle completion time = TIME(6,0,0+71.25/1440)
My problem is when I am trying to use a logical "IF' statement to account for the 20 minute break or lunch and still calculate the end of each cycle time through the day I receive a number of error messages.
This is the formula I am trying to make work. I have the cell the formula is in, formatted with a "mm,ss" format.
=(IF(D4+G1/1440>9:20,(D4+G1)/24,(D4+G1+15)/1440))
I have included an attachment to help (a picture is worth a thousand words).
Any help will be greatly appreciated.
I have bought a number of books in an attempt to figure this out, and I am still stumped
=IF(a1=0,"ERROR","")
The trailing "" returns an empty cell. The problem is, it is not TRULY empty. If I fill that formula down, I cannot, for example, jump from one "ERROR" cell to the next by hitting Ctrl arrow-down because it seems to think that these empty cells have contents.
Is there a way to designate, in such a formula as above, to return a TRULY empty cell?
Thanks
I need to know how to auto-fill text based on text in another cell. For
example:
Every time I enter "CHS" in Column B, I want Charleston to auto-fill in
Column C.
And when I enter "SAN", in Column B, I want San Diego to auto-fill in Column
C.
How can I set up a list like this? Any ideas?
Thanks!
Jason
Say I had a line graph for 4 years and I wanted it to be a solid line for the first three and a dashed line for the last one, is that possible?
Many thanks for your help
It is not a border line.
It is not a page break.
If I delete the rows it appears on it remains visible.
It is not an object floating on top of the spreadsheet.
Any ideas?
Thanks.
I'm going nuts trying to figure out how to autofill text from one cell
to another. For example, everytime I type text into cell A20, I want
the exact same thing to cell BL20. The same for B20, BL20, etc.
How do I go about that? I already know how to copy formulas from one
cell to another by dragging the skinny black line of the cell. I guess
I just need the formula for a simple IDENTICAL copying of text.
Thanks in advance,
Mike
my text entries are rather lengthy. The past two weeks these lengthy entries
are showing up as pound signs (#########) when I click off the cell. I know
the text will fit in the cell, and the problem isn't solved by making the
cell bigger or using a little bit less text. I have the cells formatted as
"text" and "wrap to fit". I have printed the pages and the printed version
also has pound signs. I just want my text to show up!
On the attached timesheet there are columns IN, OUT, IN,OUT
The lunch time is worked out by deducting 'C8 from C9' and this works fine when all 'IN, OUT' cells are filled in but for some reason when just the first two cells are filled in it gives a -12 hour answer.
looking at cell 'C11 ' in the attached worksheet, I currently have the formula
=IF(C13=0,","SUM(C9-C8)) The reason for this is to make it look tidy by having blank cells until a calculation is needed,, My problem is, If someone just comes in for the morning one day for instance 8am to 12 noon then they won't have lunch, but C11 will show -12:00
Can I put another formula into C11 to tell it not to deduct C8 from C9 until a time is put into C9.
The following is the sort of thing (many variations) I have been trying but because I'm hopeless at formulas I'm not having any success
Thanks
=IF(C13=0,","SUM(C9-C8))OR,IF(C9,ISBLANK,"",SUM(C9-C8)
I want to be able to reference it from a cell so that depending on a
validation list a different picture is shown.
Is this possible in Microsoft Exec 2000
The question:
How can you prevent a cell's contents from overflowing into the next cell?
Of course, you can make the column wider or turn on text wrapping, but you might not want to. Each of those solutions can mess up the layout of your sheet. You may just want to truncate the value.
Some people have suggested putting a space in the next cell. This is unnecessary, a pain in the but, and will mess up any ISBLANK type formulas, among other things.
The solution:
Select the cells in question and turn on text wrapping (Format>Cells>Alignment>Wrap Text).
Now select the row(s) in question and manually set the row height, by right clicking the row number and selecting "Row Height". Check the height of an adjacent row for a good value.
Your cells will now not spill over either horizontally or vertically. They will simply truncate anything that doesn't fit.
Be careful now, because parts of your data may be hidden. This can cause its own set of problems if one or two digits are neatly hidden away. Think ahead if other people might be using this sheet, and not be expecting to have some data hidden.
Tested in Excel 2002
When a user clicks on a line in the listbox I want to automatically copy the text in the 3rd column of the selected line to the textbox.
If anyone could provide code which would allow me to do this I would be grateful
Thanks
Colin
For example: Cell A1 has a time format (hh:mm) value of 04:00; which is the Start Time. I would like cell D1 to have a text format value of "04:00" (result is dependant upon what is entered in A1). I would duplicate the same formulas to reflect Stop Times in other cells.
My final result is to have another cell (F1) use the Concatenate formula to have the Start and Stop time shown in one cell as "04:00 - 12:30". The times would change based on the Time formated values entered into the Start and Stop time cells.
I have researched this in the board and found many excellent ways to do the opposite, but not convert Time format to Text format. Any assistance is greatly appreciated.
-Shane
I got the below macro which uses IE and open the URLs. I want to create a userform with listbox with radio button and commandbutton on the same which will help me to connect to each url when I select the same in listbox and click on the commandbutton.
Code:
Sub DoBrowse1() Dim ie As Object Set ie = CreateObject("Internetexplorer.Application") ie.Visible = True ie.Navigate "www.google.com" End Sub
Any suggestions..
I am using Excel 2007. In prior versions of excel, when copying data, if I wanted to copy visible cells only, I would select "Go To, Special, Visible Cells Only" and then copy a range a cells. The default was always set to copy everything (including hidden cells), unless I specifically selected copy visible cells only.
In 2007, the default is somehow set to always copy only visible cells. Sometimes, I want to be able to copy all cells including those hidden but cannot seem to figure out how to swith this default option. I looked under Excel Options and did not see an option there.
I don't want to have to unhide and rehide everything each time i copy. I know i could do the hiding and unhiding via VBA but would prefer not to have to.
Thanks for your suggestions.