以前發(fā)在EHblog的老博文,現在關閉了,準備陸陸續(xù)續(xù)搬遷一點過來。時間久了,有些文章也不一定保值了。
以下原文發(fā)表于2010-3-17
前日在網上閑逛時湊巧看到一個名為ExcelArt的軟件介紹(http://www.cnbeta.com/articles/105787.htm),此軟件可以將圖片轉換為Excel單元格圖像,在Excel單元格中畫圖變得不再那么復雜,可以輕松按鍵搞定。去下載了試用了一下,非注冊版有諸多限制,而且轉換還以失敗告終。去他們的主頁看了一下,專業(yè)版竟然售價10歐元,企業(yè)版50歐元!
看來還是自己動手做一個比較方便!
用VBA制作的思路其實很簡單,應該已經有先人實踐過,只是沒有見過成熟產品,所以發(fā)上來和大家一起分享一下。
附件如下:請使用2007以上版本打開。
http://vdisk.weibo.com/s/3Wdeh
上述附件中的程序假定分辨率為96DPI,如需適用于其他的分辨率條件下,可以使用下面的附件程序,其中的坐標轉換部分代碼參考Winland大俠的代碼。
http://vdisk.weibo.com/s/3Wdla
主要部分代碼如下:
'以下代碼位于用戶窗體UesrForm1之中:
Private Declare Function GetPixel Lib "gdi32" (ByVal hDC As Long ,ByVal x As Long , ByVal y As Long ) As Long
Private Declare Function FindWindow Lib "user32" Alias"FindWindowA" (ByVal lpClassName As String , ByVal lpWindowName AsString ) As Long
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd AsLong ) As Long
Public maxx, maxy
--------------------------------------------------------------------------------
Private Sub CommandButton1_Click()
Dim hwnd, hDC As Long
If maxx = 0 Then
MsgBox "請先選擇尺寸規(guī)格!"
Exit Sub
End If
End Sub
--------------------------------------------------------------------------------
Private Sub CommandButton2_Click()
ExitHandler:
End Sub
--------------------------------------------------------------------------------
Private Sub OptionButton1_Click()
End Sub
--------------------------------------------------------------------------------
Private Sub OptionButton2_Click()
End Sub
--------------------------------------------------------------------------------
Private Sub OptionButton3_Click()
End Sub
--------------------------------------------------------------------------------
Private Sub disparea(ByVal maxx As Integer , ByVal maxy As Integer)