註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
進階應用專區
» 關於VB6(or VSTO)製作Excel DLL相關技巧
返回列表
下一主題
上一主題
發帖
[分享]
關於VB6(or VSTO)製作Excel DLL相關技巧
HUNGCHILIN
發短消息
加為好友
HUNGCHILIN
(阿吉)
當前離線
不恥下問,不斷學習,才會進步
UID
27
帖子
647
主題
190
精華
24
積分
1041
金錢
1041
點名
0
作業系統
windows7
軟體版本
Office 2010 ; OOO3.0 ; Google
閱讀權限
100
性別
男
來自
竹南
在線時間
783 小時
註冊時間
2010-5-2
最後登錄
2022-6-24
暱稱:
阿吉
頭銜:
不恥下問,不斷學習,才會進步
版主
帖子
647
主題
190
精華
24
積分
1041
點名
0
作業系統
windows7
軟體版本
Office 2010 ; OOO3.0 ; Google
閱讀權限
100
性別
男
來自
竹南
註冊時間
2010-5-2
最後登錄
2022-6-24
1
#
跳轉到
»
倒序看帖
打印
字體大小:
t
T
發表於 2012-2-24 23:38
|
顯示全部帖子
[分享]
關於VB6(or VSTO)製作Excel DLL相關技巧
本帖最後由 HUNGCHILIN 於 2012-2-25 00:02 編輯
最近突然覺得無聊了起來,提不起勁。可能是到了又要尋找方向突破的時候
目前應該有兩個方向去試鍊與應用
1.2010版功能應用
2.VB(or VSTO)製作Excel DLL相關技巧
本文在於試鍊與記錄VB(or VSTO)製作Excel DLL相關技巧
以下先介紹VB6製作ActiveX DLL或增益功能...等舊方法,再介紹VSTO方法
樓主熱帖
EXCEL保護保密技巧
使用Excel製作紫微斗數排盤程式
隱藏欄列也是一門技巧 沒學會要訣別說會隱
Excel VBA 增益集(Excel成品)範例:破解工作
禁止使用者使用EXCEL VBE編輯器
如何使用合併儲存格隱藏資料作資料防護
用其他方法保護工作表
簡易版的仿 VBA專案加解鎖器增益集
自動安裝(不附說明)Excel使用鎖增益集
VBA列出工作表名稱時模組變成工作表且顯示非
收藏
分享
Hung-Chi Lin/林宏吉
HUNGCHILIN/林宏吉的OFFICE專欄
HUNGCHILIN
發短消息
加為好友
HUNGCHILIN
(阿吉)
當前離線
不恥下問,不斷學習,才會進步
UID
27
帖子
647
主題
190
精華
24
積分
1041
金錢
1041
點名
0
作業系統
windows7
軟體版本
Office 2010 ; OOO3.0 ; Google
閱讀權限
100
性別
男
來自
竹南
在線時間
783 小時
註冊時間
2010-5-2
最後登錄
2022-6-24
暱稱:
阿吉
頭銜:
不恥下問,不斷學習,才會進步
版主
帖子
647
主題
190
精華
24
積分
1041
點名
0
作業系統
windows7
軟體版本
Office 2010 ; OOO3.0 ; Google
閱讀權限
100
性別
男
來自
竹南
註冊時間
2010-5-2
最後登錄
2022-6-24
2
#
發表於 2012-2-24 23:54
|
顯示全部帖子
本帖最後由 HUNGCHILIN 於 2012-2-25 02:32 編輯
關於 安裝 dll
使用vbs檔
安裝
dll(假設安裝 ULCase.dll)
1.在txt檔內輸入
RegSvr32.exe ULCase.dll
2.改檔名為.BAT,即完成安裝檔
使用vbs檔
卸載
dll(假設卸載 ULCase.dll)
1.在txt檔內輸入
RegSvr32.exe ULCase.dll / U
2.改檔名為.BAT,即完成安裝檔
安裝卸載BAT.rar
(189 Bytes)
下載次數: 36
2012-2-25 01:38
Hung-Chi Lin/林宏吉
HUNGCHILIN/林宏吉的OFFICE專欄
TOP
HUNGCHILIN
發短消息
加為好友
HUNGCHILIN
(阿吉)
當前離線
不恥下問,不斷學習,才會進步
UID
27
帖子
647
主題
190
精華
24
積分
1041
金錢
1041
點名
0
作業系統
windows7
軟體版本
Office 2010 ; OOO3.0 ; Google
閱讀權限
100
性別
男
來自
竹南
在線時間
783 小時
註冊時間
2010-5-2
最後登錄
2022-6-24
暱稱:
阿吉
頭銜:
不恥下問,不斷學習,才會進步
版主
帖子
647
主題
190
精華
24
積分
1041
點名
0
作業系統
windows7
軟體版本
Office 2010 ; OOO3.0 ; Google
閱讀權限
100
性別
男
來自
竹南
註冊時間
2010-5-2
最後登錄
2022-6-24
3
#
發表於 2012-2-25 01:46
|
顯示全部帖子
本帖最後由 HUNGCHILIN 於 2012-2-28 23:24 編輯
關於 如何製作第一個DLL檔
a.我們使用英文大小寫轉換.XLA 增益集 來作改編
大小寫轉換.rar
(20.97 KB)
下載次數: 20
2012-2-25 01:44
excel原始程式碼
Option Explicit
Sub 首字大寫轉換()
On Error GoTo 1
Dim RANGECOUNT
Dim RANGECOUNTA
Application.ScreenUpdating = False
For Each RANGECOUNT In Selection
RANGECOUNTA = RANGECOUNTA + 1
If Range(Selection.Address).Cells(RANGECOUNTA) = "" Then GoTo 2
Range(Selection.Address).Cells(RANGECOUNTA) = WorksheetFunction.Proper(Range(Selection.Address).Cells(RANGECOUNTA))
2 Next
1 End Sub
Sub 大寫轉換()
On Error GoTo 1
Dim RANGECOUNT
Dim RANGECOUNTA
Application.ScreenUpdating = False
For Each RANGECOUNT In Selection
RANGECOUNTA = RANGECOUNTA + 1
If Range(Selection.Address).Cells(RANGECOUNTA) = "" Then GoTo 2
Range(Selection.Address).Cells(RANGECOUNTA) = UCase(Range(Selection.Address).Cells(RANGECOUNTA))
2 Next
1 End Sub
Sub 小寫轉換()
On Error GoTo 1
Dim RANGECOUNT
Dim RANGECOUNTA
Application.ScreenUpdating = False
For Each RANGECOUNT In Selection
RANGECOUNTA = RANGECOUNTA + 1
If Range(Selection.Address).Cells(RANGECOUNTA) = "" Then GoTo 2
Range(Selection.Address).Cells(RANGECOUNTA) = LCase(Range(Selection.Address).Cells(RANGECOUNTA))
2 Next
1 End Sub
複製代碼
----------------------------------------------------------------------------------------------------------------------------
b.使用VB6製作dll
1.先COPY 英文大小寫轉換.XLA 增益集 內模組內的程式
2.開啟vb6
下載
(46.9 KB)
2012-2-25 01:52
3.刪除預設的表單&新增一個class
更改class名稱為ULCASECLASS (記住等一下要用)
並把英文大小寫轉換.XLA 增益集 內模組內的程式貼進class
下載
(33.55 KB)
2012-2-25 01:57
下載
(85.97 KB)
2012-2-25 01:57
更改class內的程式碼為
Option Explicit
Sub ULCase()
On Error GoTo 1
Dim EXL As Object
Set EXL = GetObject(, "Excel.Application")
With EXL
Dim RANGECOUNT
Dim RANGECOUNTA
.ScreenUpdating = False
For Each RANGECOUNT In .Selection
RANGECOUNTA = RANGECOUNTA + 1
If .Range(.Selection.Address).Cells(RANGECOUNTA) = "" Then GoTo 2
.Range(.Selection.Address).Cells(RANGECOUNTA) = .WorksheetFunction.Proper(.Range(.Selection.Address).Cells(RANGECOUNTA))
2 Next
End With
Set EXL = Nothing
1 End Sub
Sub UCaseA()
On Error GoTo 1
Dim EXL As Object
Set EXL = GetObject(, "Excel.Application")
With EXL
Dim RANGECOUNT
Dim RANGECOUNTA
.ScreenUpdating = False
For Each RANGECOUNT In .Selection
RANGECOUNTA = RANGECOUNTA + 1
If .Range(.Selection.Address).Cells(RANGECOUNTA) = "" Then GoTo 2
.Range(.Selection.Address).Cells(RANGECOUNTA) = UCase(.Range(.Selection.Address).Cells(RANGECOUNTA))
2 Next
End With
Set EXL = Nothing
1 End Sub
Sub LCaseA()
On Error GoTo 1
Dim EXL As Object
Set EXL = GetObject(, "Excel.Application")
With EXL
Dim RANGECOUNT
Dim RANGECOUNTA
.ScreenUpdating = False
For Each RANGECOUNT In .Selection
RANGECOUNTA = RANGECOUNTA + 1
If .Range(.Selection.Address).Cells(RANGECOUNTA) = "" Then GoTo 2
.Range(.Selection.Address).Cells(RANGECOUNTA) = LCase(.Range(.Selection.Address).Cells(RANGECOUNTA))
2 Next
End With
Set EXL = Nothing
1 End Sub
複製代碼
4.點設計師中的Connect如圖,進入後更改應用程式為excel與應用程式版本假設為9.0,設定載入行為為None
下載
(80.55 KB)
2012-2-25 02:11
5.點設計師中的Connect按右鍵選檢視程式碼刪除裡面所有程式
下載
(26.72 KB)
2012-2-25 02:17
6.到專案設定屬性如下圖(請記得屬性描述)
下載
(77.78 KB)
2012-2-25 02:20
7.儲存專案如附檔,裡面有一些暫存檔可以不用理會
ULCasea.rar
(10.09 KB)
下載次數: 17
2012-2-25 02:23
8.製成DLL檔 如圖 (如果程式有問題VB會偵錯)
下載
(29.97 KB)
2012-2-25 02:26
成品:
ULCase.rar
(5.43 KB)
下載次數: 19
2012-2-25 02:27
9.安裝DLL檔,請下載第二帖 到DLL同資料夾 並按"安裝BAT檔"
10.Excel vba如何使用DLL內的程式
需要在Excel模組內輸入下列程式
Public Sub aa()
Dim XLSULCASE As New ULCASECLASS
XLSULCASE.ULCase
End Sub
Public Sub bb()
Dim XLSULCASE As New ULCASECLASS
XLSULCASE.UCaseA
End Sub
Public Sub cc()
Dim XLSULCASE As New ULCASECLASS
XLSULCASE.LCaseA
End Sub
複製代碼
附檔:
大小寫轉換使用DLL.rar
(4.91 KB)
下載次數: 37
2012-2-28 23:21
使用上述10個小步驟即可完成製作與使用DLL程式
Hung-Chi Lin/林宏吉
HUNGCHILIN/林宏吉的OFFICE專欄
TOP
HUNGCHILIN
發短消息
加為好友
HUNGCHILIN
(阿吉)
當前離線
不恥下問,不斷學習,才會進步
UID
27
帖子
647
主題
190
精華
24
積分
1041
金錢
1041
點名
0
作業系統
windows7
軟體版本
Office 2010 ; OOO3.0 ; Google
閱讀權限
100
性別
男
來自
竹南
在線時間
783 小時
註冊時間
2010-5-2
最後登錄
2022-6-24
暱稱:
阿吉
頭銜:
不恥下問,不斷學習,才會進步
版主
帖子
647
主題
190
精華
24
積分
1041
點名
0
作業系統
windows7
軟體版本
Office 2010 ; OOO3.0 ; Google
閱讀權限
100
性別
男
來自
竹南
註冊時間
2010-5-2
最後登錄
2022-6-24
4
#
發表於 2012-4-9 22:16
|
顯示全部帖子
看到b 2步驟
有選 activex dll
Hung-Chi Lin/林宏吉
HUNGCHILIN/林宏吉的OFFICE專欄
TOP
靜思自在 :
得理要饒人,理直要氣和。
返回列表
下一主題
上一主題
Excel程式區
Excelㄧ般區
電腦各種硬體討論
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 • 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲