我正在使用Excel生成功率点演示。宏正在运行excel。它工作得非常好。问题是Excel宏以奇怪的格式粘贴图片。我必须通过右键单击每张图片手动使用“重置图片”命令 - >图片格式 - >重置图片
是否可以为我自动创建一个可以自动执行重置图像命令的宏功率点?
让你前进 最好的问候
'getting name of picture from Excel sheet cell
logopic = ThisWorkbook.Sheets("Jan 2015").Range("z" & CellNr).Value
apic = ThisWorkbook.Sheets("Jan 2015").Range("aa" & CellNr).Value
mpic = ThisWorkbook.Sheets("Jan 2015").Range("ab" & CellNr).Value
如果ThisWorkbook.Sheets(“Jan 2015”)。Range(“z”& CellNr)> 0然后
'我们在这里复制相应幻灯片中的徽标图片
oPP1.Slides(2).Shapes.AddPicture("" & FolderPath & "\" & logopic & ".jpg", msoFalse, msoCTrue, 10, 10, 60, 45).Apply
答案 0 :(得分:0)
记录powerpoint的宏录制器中的步骤。这将为您提供粘贴到您的Excel宏的基本代码。 Alt T,M,R开始,相同的键停止录音。然后按Alt + F11打开Powerpoint的VBA编辑器以查找代码。
另请参阅“选择性粘贴”命令,您可以在其中选择要粘贴的格式。
这是我在VBA - VBS中做同样的答案。对你来说,它更容易,因为它是VBA - VBA。确保在Excel中的参考文献中输入powerpoint。
记录excel宏录制器中的步骤。你必须重写一下,因为它使用了一种vbs不会的语法。
这适用于(我没有介质9)xlRangeAutoFormatAccounting4在vba中。
Selection.AutoFormat Format:=xlRangeAutoFormatAccounting4, Number:=True, _
Font:=True, Alignment:=True, Border:=True, Pattern:=True, Width:=True
首先在vba的对象浏览器中查找常量。 xlRangeAutoFormatAccounting4 = 17
然后在对象浏览器中查看该函数,并查看函数定义的底部。
Function AutoFormat([Format As XlRangeAutoFormat = xlRangeAutoFormatClassic1], [Number], [Font], [Alignment], [Border], [Pattern], [Width])
所以vba变成vbs(和vbs在vba中工作)(正如你所看到的,你可以通过正确的方式计算出来,而不需要通常查看函数)
Selection.AutoFormat 17, True, True, True,True, True, True
所以你的代码变成了
objXLWs.Range("A3").CurrentRegion.Select.AutoFormat 17, True, True, True,True, True, True
您正在使用Excel,您可以将其记录在Excel中并让Excel编写您的代码。
Alt + T,M,R
然后是Home键,然后是Up Arrow。停止录音。
看看Excel写的是什么
Selection.End(xlUp).Select
或者您是否有录制的“转到”对话框
Application.Goto Reference:="R1C1"
或者您已录制了Ctrl + Home
Range("A1").Select
答案 1 :(得分:0)
Sub InsertPictureExample()
' This inserts a picture at "natural" size on
' Slide 1 of the current active presentation
Dim oSh As Shape
With ActivePresentation.Slides(1)
Set oSh = .Shapes.AddPicture("c:\temp\thing.png", msoFalse, msoTrue, 0, 0, -1, -1)
' position the shape if desired:
oSh.Left = 100
oSh.Top = 100
End With
End Sub