- ©«¤l
- 5923
- ¥DÃD
- 13
- ºëµØ
- 1
- ¿n¤À
- 5986
- ÂI¦W
- 0
- §@·~¨t²Î
- win10
- ³nÅ骩¥»
- Office 2010
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥xÆW°ò¶©
- µù¥U®É¶¡
- 2010-5-1
- ³Ì«áµn¿ý
- 2022-1-23
        
|
¦^´_ 1# baconbacons
¸Õ¸Õ¬Ý- Option Explicit
- Sub Ex()
- Dim Sh As Worksheet, AR(), P(), i As Integer, X As Integer
- Dim M As Single, M1 As Single, MyPicture As String
- Set Sh = Sheet1
- X = 1
- For i = 1 To Sh.Shapes.Count
- If Sh.Shapes(i).Type = msoPicture Then 'ªí¤u§@ªí¤Wªº¹Ï®× ¬O¹Ï¤ù
- ReDim Preserve AR(1 To X)
- ReDim Preserve P(1 To X)
- AR(X) = Sh.Shapes(i).Top '¬ö¿ý±q¹Ï®×½d³ò¤¤³Ì³»ºÝ¹Ï®×ªº³»ºÝ¨ì¤u§@ªí³»ºÝªº¶ZÂ÷
- P(X) = i '¬ö¿ýªí¤u§@ªí¤W¹Ï®×ªº¯Á¤Þ¦ì¸m
- X = X + 1
- End If
- Next
- '******** ¿ï¨ú¹Ï¤ù ********
- With Application.FileDialog(msoFileDialogOpen)
- .Filters.Add "Images", "*.gif; *.jpg; *.jpeg", 1
- .FilterIndex = 1
- If .Show = True Then
- MyPicture = .SelectedItems(1)
- Else
- MsgBox "¨S¦³¿ï¾Ü¹Ï¤ù!!!"
- Exit Sub
- End If
- End With
-
- If X = 1 Then
- If MsgBox("·s¼W¹Ï¤ù :" & MyPicture, vbYesNo, Sh.Name) = vbNo Then Exit Sub
- i = 0
- Else
- On Error Resume Next
- i = InputBox("·s¼W¹Ï¤ù :" & MyPicture & " ¬°²Ä´X±i¹Ï¤ù", Sh.Name & " ¹Ï¤ù¦@ " & X - 1 & " ±i")
- If Err <> 0 Then Exit Sub
- If i = 0 Or i > X Then
- MsgBox "²Ä" & i & "±i ¤£¦b½d³ò¤¤"
- Exit Sub
- End If
- '*******²¾°Ê¹Ï¤ù¦ì¸m
- For X = UBound(AR) To i Step -1 '¹Ï¤ùÀɥѤU©¹¤W¤U²¾¦ì¸m
- M = Application.Small(AR, X)
- M = Application.Match(M, AR, 0)
- With Sh.Shapes(P(M))
- If UBound(AR) = 1 And X = UBound(AR) Then
- M1 = .Height + [A1].Height
- ElseIf X > 1 Then
- M1 = Application.Small(AR, X - 1)
- M1 = .Top + (.Top - Application.Small(AR, X - 1))
- ElseIf X = i Then
- M1 = Application.Small(AR, X + 1)
- End If
- .Top = M1
- End With
- Next
- End If
- With Sh.Pictures.Insert(MyPicture)
- If i = 0 Then
- .Top = 0
- .Left = 0
- ElseIf i >= 1 And i <= UBound(AR) Then
- .Top = Application.Small(AR, i)
- .Left = Sh.Shapes(P(1)).Left
- ElseIf i > UBound(AR) Then
- M = Application.Small(AR, UBound(AR))
- M = Application.Match(M, AR, 0)
- .Top = Sh.Shapes(P(M)).Top + Sh.Shapes(P(M)).Height + [A1].Height
- .Left = Sh.Shapes(P(M)).Left
- End If
- .Height = 200
- .Width = 200
- End With
- End Sub
½Æ»s¥N½X |
|