我经常制作窗口的屏幕截图并将它们保存到文件夹中,然后将它们添加到以某种方式裁剪、调整大小和对齐的 PowerPoint 演示文稿中。为了节省鼠标点击并使该过程可重现,我想使用 PowerPoint 中的 Visual Basic 宏自动执行此操作。
目前我有以下内容:
Sub Insert_Picture_3()
Dim oPic As Shape
Set oPic = ActiveWindow.View.Slide.Shapes.AddPicture("\\nlamvfs00065\homes\nlkpec\newpic.png", False, True, 0, 0, -1, -1)
oPic.PictureFormat.CropLeft = 115
oPic.PictureFormat.CropTop = 85
oPic.PictureFormat.CropRight = 16
oPic.PictureFormat.CropBottom = 55
oPic.Height = 7.5 * 72
oPic.Left = 0 * 72
oPic.Top = 0 * 72
oPic.ZOrder msoSendToBack
End Sub
“AddPicture”的参数是一个名为“newpic.png”的固定文件。但是,我希望它成为目录“\nlamvfs00065\homes\nlkpec”中最新的 png 文件,这样我就不必每次应用宏时都将屏幕截图重命名为“newpic.png” .
我找到了一个类似于以下内容的示例:
Dim myFile = DirectoryInfo.GetFiles("\\nlamvfs00065\homes\nlkpec").OrderByDescending(Function(f) f.LastWriteTime).First()
但是,如果我在从 PowerPoint 2007 启动的 Visual Basic 编辑器中输入这一行,我会收到一条错误消息
“编译错误:预期:语句结束”
突出显示“=”符号。
有人对我如何生成“myFile”作为指定目录中最新的 png 文件传递给“AddPicture”有任何建议吗?提前致谢。