昨天碰巧想用VBA解決一個(gè)問(wèn)題,因為下載laose發(fā)過(guò)的那個(gè)“圖片分割”工具,總是有問(wèn)題(不知道是不是電腦的問(wèn)題)!于是想著(zhù)自己弄個(gè)小程序,一個(gè)函數就搞定了!它不用安裝,不用設置參考線(xiàn),不用手動(dòng)調節,只需運行一下宏,就可輕松搞定各種形狀樣式的分割!











因為是以幻燈片的背景做為填充,可能你還看不出來(lái)變化,接下來(lái)就是見(jiàn)證奇跡的時(shí)刻了:添加一個(gè)和幻燈片一樣大的矩形,并置于底層!你看到了嗎?



Dim W As Long
Dim H As Long
Sub GetWH()
W = Application.ActivePresentation.PageSetup.SlideWidth
H = Application.ActivePresentation.PageSetup.SlideHeight
End Sub
Sub GetShapeCUT(shp As shape)
Dim wShape As Long
Dim hShape As Long
Dim i, j, n As Integer
Dim WNum As Integer
Dim HNum As Integer
wShape = shp.Width
hShape = shp.Height
Call GetWH
i = W Mod wShape
j = H Mod hShape
If i <> 0 Then
WNum = W \ wShape + 1
Else
WNum = W \ wShape
End If
If j <> 0 Then
HNum = H \ hShape + 1
Else
HNum = H \ hShape
End If
n = 1
For i = 0 To HNum - 1
For j = 0 To WNum - 1
With shp.Duplicate
.Left = j * wShape
.Top = i * hShape
.Name = "N" + CStr(n)
.Fill.Background
.Line.Transparency = 1
n = n + 1
End With
Next
Next
shp.Visible = msoFalse
MsgBox "轉換完畢"
End Sub
聯(lián)系客服