返回列表 上一主題 發帖

一個放大圖片問題

一個放大圖片問題

大大們, 好
小妹有一放大圖片問題, 懇請大大們協助, 現把檔案上傳, 內有明細說明, 謝謝!!
Book1.rar (181.08 KB)

回復 16# 317


    沒錯用Type做判斷是個可行的方法
學海無涯_不恥下問

TOP

衷心謝過两位版主大大,
祝願快樂, 感恩, 謝謝!!

TOP

想不到2007有這樣的問題
若用 If sh.Type = 13 Then…呢?這樣還有問題嗎?

TOP

本帖最後由 Hsieh 於 2011-10-23 16:41 編輯

回復 13# 317

在這句
If sh.Name Like "Picture*"
因為你插入的圖片名稱是中文"圖片3"
所以沒有指定巨集給他
  1. Private Sub Workbook_Open()
  2. Set dic = CreateObject("Scripting.Dictionary")
  3. Dim sh As Shape
  4. For Each sh In Sheet1.Shapes
  5.    If sh.Name Like "Picture*" Or sh.Name Like "圖片*" Then sh.OnAction = "nn": dic(sh.Name & "h") = sh.Height: dic(sh.Name & "w") = sh.Width
  6. Next
  7. End Sub
複製代碼
學海無涯_不恥下問

TOP

小妹真的希望能知道原因, 現再度整理檔案上傳, 望大大們能協助, 謝謝!!
ShowPicture.rar (249.28 KB)

TOP

Hsieh版主大大,好
換了07excel, 程式沒法運行, 何解..
在03中是沒有問題存在, 請大大指導, 附件,
謝謝!!
Book1.rar (39.04 KB)

TOP

hsieh大大:
大大真的很捧, 謝過..

TOP

回復 9# 周大偉

放大顯示於A1儲存格
  1. Private Sub Workbook_Open()
  2. Set dic = CreateObject("Scripting.Dictionary")
  3. Dim sh As Shape
  4. For Each sh In Sheet1.Shapes
  5. With sh
  6.    If .Name Like "Picture*" Then .OnAction = "nn": dic(.Name) = Array(.Top, .Left, .Height, .Width)
  7. End With
  8. Next
  9. End Sub
複製代碼
一般模組
  1. Public dic
  2. Sub nn()
  3. With Sheet1.Shapes(Application.Caller)
  4. If .Left = ActiveSheet.[A1].Left Then
  5. .Top = dic(.Name)(0)
  6. .Left = dic(.Name)(1)
  7. .Height = dic(.Name)(2)
  8. .Width = dic(.Name)(3)
  9. Else
  10. .Height = dic(.Name)(2) * 3
  11. .Width = dic(.Name)(3) * 3
  12. .Top = ActiveSheet.[A1].Top
  13. .Left = ActiveSheet.[A1].Left
  14. .ZOrder msoBringToFront
  15. End If
  16. End With
  17. End Sub
複製代碼
ShowPicture.zip (196.18 KB)
學海無涯_不恥下問

TOP

大大,
這個檔案很捧, 點繫一下放大, 點繫一下縮小, 小弟一直以為網頁才能做到這效果, 原來excel程式編寫也能做到這效果, 大大真捧, 但小弟有問題一問, 當點繫放大, 圖片能否設定左手面, 如能設定於左上角就更捧, 感恩

TOP

        靜思自在 : 【生命在呼吸間】佛陀說:「生命在呼吸間。」人無法管住自己的生命,更無法擋住死期,讓自己永住人間。既然生命去來這麼無常,我們更應該好好地愛惜它、利用它、充實它,讓這無常、寶貴的生命,散發它真善美的光輝,映照出生命真正的價值。
返回列表 上一主題