我正在使用Windows并使用MS power point,我想自动使用我的图片文件
他们被命名为
1_MOD_82.1542.bmp
2_MOD_102.8821.bmp
3_MOD_152.3541.bmp
等等..我想用它代替输入
ActiveWindow.Selection.SlideRange.Shapes.AddPicture(Filename:="F:\somedir\1_MOD_82.1542"
所以我想有一些循环(但这段代码只是想法,不起作用)
for i:=0, i++,i<10 do
ActiveWindow.Selection.SlideRange.Shapes.AddPicture(Filename:="F:\somedir\%i*"
我想制作一个循环,通过开始编号来使用图像文件。
答案 0 :(得分:0)
添加内循环:
Set fso = CreateObject("Scripting.FileSystemObject")
For i = 0 To 9
For Each f In fso.GetFolder("F:\somedir").Files
If f.Type = "Bitmap-Image" Then
If CInt(Left(f.Name, 1)) = i Then
ActiveWindow.Selection.SlideRange.Shapes.AddPicture(f.Path)
End If
End If
Next
Next
检查以确保第一个字符是数字可以像这样添加:
If f.Type = "Bitmap-Image" Then
c = Left(f.Name, 1)
If IsNumeric(c) Then
If CInt(c) = i Then
'...
End If
End If
End If
处理图像的另一个(更详细的)选项是将它们枚举为断开连接的recordset,然后filter记录集。这样,您就不必在每个循环周期中枚举images文件夹中的所有文件。
Set fso = CreateObject("Scripting.FileSystemObject")
Set rs = CreateObject("ADOR.Recordset")
rs.Fields.Append "Name", 200, 80
rs.Fields.Append "Path", 200, 255
rs.Open
For Each f In fso.GetFolder("F:\somedir").Files
If f.Type = "Bitmap-Image" Then
rs.AddNew
rs("Name").Value = f.Name
rs("Path").Value = f.Path
rs.Update
End If
Next
For i = 0 To 9
rs.Filter = "Name LIKE '" & i & "%'"
rs.MoveFirst
Do Until rs.EOF
ActiveWindow.Selection.SlideRange.Shapes.AddPicture(rs("Path").Value)
rs.MoveNext
Loop
Next