2008年1月25日 星期五

VBA Data Types ( 變數型態)

VBA Data Types

VBE Hot-Key(熱鍵)

VBE Hot-Key



2007年12月11日 星期二

破解Excel 保護工作表 的密碼

破解Excel 保護工作表 的密碼

以下VBA可以查出[保護工作表]的密碼.
此為4位數的[英數密碼], 可自行修改以符合自己的需求.

Sub JackyCP()
Dim DimArr(63)
Dim PW As String
For x = 48 To 57
xx = xx + 1
DimArr(xx) = Chr(x)
Next
For x = 97 To 122
xx = xx + 1
DimArr(xx) = Chr(x)
NextFor x = 65 To 90
xx = xx + 1
DimArr(xx) = Chr(x)Next
On Error Resume Next

For x1 = 1 To UBound(DimArr) - 1
For x2 = 1 To UBound(DimArr) - 1
For x3 = 1 To UBound(DimArr) - 1
For x4 = 1 To UBound(DimArr) - 1
PW = DimArr(x1) & DimArr(x2) & DimArr(x3) & DimArr(x4)
Application.StatusBar = PW
ActiveSheet.Unprotect PW
If ActiveSheet.ProtectContents = False Then
MsgBox "Password is " & PW
Exit Sub
End If
Next
Next
Next
Next
End Sub

2007年12月9日 星期日

破解excel保護密碼

破解excel保護密碼


1.到「http://www.straxx.com/excel/password.html 」下載「password.xla」 這個檔案。

2.打開有保護的Excel文件,在功能表上的【工具】按一下滑鼠左鍵,接著從選單中點選【增益集】。

3.按下「增益集」對話盒中的〔瀏覽〕,接著找到剛才下載的位置,點選「password.xla」後按下〔確〕。

4.接著你會發現選項中多了「Password recover」,勾選之後再按下對話盒中的〔確定〕。

5.接下來會出現一個提示訊息對話盒,沒關係,直接在〔確定〕上按一下滑鼠左鍵繼續下一個步驟。

6.再來破解保護!點選左下角要破解的〔Sheet〕後,按下功能表中的【工具】,接著從選單中點選【Unprotect sheet】,以去除工作表的保護!

7.最後解除保護了,總共花了1分03秒!依照表格及密碼的複雜程度,會秏時不同的破解時間,但還是遠比「暴力破解法」來得快,按下〔確定〕就可以繼續編輯文件囉!

2007年11月14日 星期三

VBA 和 SQL Server 連線 並 查詢

VBA 和 SQL Server 連線 並 查詢

Sub ConnSQL()
SqlStr = "SELECT * FROM Jacky"
ConnStr = "Driver={SQL Server}; DATABASE=skg; SERVER=TWJALU-NB\SQLEXPRESS; UID=; PASSWORD="

Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.recordset")
conn.ConnectionString = ConnStr
conn.Open
rs.Open SqlStr, conn
counter = 0
Do While Not rs.EOF
counter = counter + 1
For i = 1 To rs.fields.Count
Cells(counter, i).Value = rs(i - 1)
Next
rs.movenext
Loop
End Sub

VBA 和 MySQL 連線 並 查詢

VBA 和 MySQL 連線 並 查詢

Private Sub btnTestReadInMysqlData_Click()
Dim objDB, arrRecord, strRecord, strOutput
Dim oRS, nRec, oFld
Dim row
Set objDB = DBConnect()
Set oRS = objDB.Execute("SELECT * FROM alldata WHERE URL = ""%him%"" ") 'select欄位, from資料表

nRec = 0
row = 1
Do While Not oRS.EOF
For Each oFld In oRS.Fields
Worksheets("Sheet1").Cells(row, 1).Value = oFld.Value
row = row + 1
Next
oRS.MoveNext
Loop
End Sub
Function DBConnect()
Set objDB = CreateObject("ADODB.Connection")
objDB.Open "jacky" '系統管理工具的data source name
Set DBConnect = objDB
End Function

2007年10月29日 星期一

VBA 轉碼 UTF-8轉Big5

VBA 轉碼 UTF-8轉Big5

有些網頁的格式是以UTF-8編碼, 透過VBA以URLDownloadToFile下載該網頁後,若要進一步處理,會遇到中文變成亂碼的問題,用ADODB.Stream處理後可以轉成Big5碼.

Function UTF8ToBig5(HtmlFile)
Dim objStream As Object
Set objStream = CreateObject("ADODB.Stream")
With objStream
.Type = 2
.Mode = 3
.Open
.Charset = "UTF-8" ' 或其他編碼
.LoadFromFile HtmlFile
UTF8ToBig5 = .ReadText
'也可透過 .SaveToFile 方法把檔案存檔
.Close
End With
End Function