- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 84
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2025-4-8
               
|
30#
發表於 2012-9-29 09:30
| 只看該作者
回復 29# 周大偉 - Dim PicAr() As Picture '圖片陣列
- Dim fs$
- Private Const r = 4 '資料起始列號
-
- Private Sub ComboBox1_Change() '選擇編號事件
-
- Dim k%, i%
-
- With ComboBox1
-
- k = .ListIndex '下拉選單選取位置
-
- For i = 1 To 11
-
- Controls("TextBox" & i).Text = IIf(i = 11, .List(k, i) & .List(k, i + 1), .List(k, i)) '文字方塊寫入
-
- Next
-
- End With
-
- PicAr(k).CopyPicture '複製圖片
-
- With Sheet1.ChartObjects.Add(1, 1, PicAr(k).Width, PicAr(k).Height) '新增圖表
-
- .Chart.Paste '貼上圖片
-
- .Chart.Export fs '以圖表匯成圖片
-
- Image1.Picture = LoadPicture(fs) '載入圖片
-
- .Delete '刪除圖表
-
- End With
-
- End Sub
-
- Private Sub UserForm_Initialize() '表單初始化
- Dim Pic As Picture
- fs = CurDir & "\temp.jpg" '*** 這裡修改為當下的目錄 ( CurDir )為暫存圖片目錄位置 ***
- With Sheet1
- ReDim PicAr(.Pictures.Count)
- For Each Pic In .Pictures '將每個圖片置入陣列
- Set PicAr(Pic.TopLeftCell.Row - r) = Pic
- Next
- ComboBox1.List = .Range("A4", .[A4].End(xlDown).Offset(, 12)).Value '下拉清單內容
- End With
- Image1.PictureSizeMode = fmPictureSizeModeStretch '圖片載入的型態
- End Sub
- Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) '關閉表單
-
- If Dir(fs) <> "" Then Kill fs '刪除暫存圖片檔案
-
- End Sub
複製代碼 |
|